spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
[gnulib.git] / ChangeLog
1 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
2
3         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
4         * tests/test-spawn.c (main):
5         * tests/test-sys_socket.c (main):
6         * tests/test-sys_wait.c (main):
7         Don't have a switch value that isn't covered by a case.
8
9         getaddrinfo-tests: port --enable-gcc-warnings to clang
10         * tests/test-getaddrinfo.c (simple):
11         Avoid casts from looser to stricter-aligned pointers.
12
13         thread: port --enable-gcc-warnings to clang
14         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
15         Include <signal.h>, to pacify a warning about pthread_sigmask.
16
17         stdio: use __REDIRECT for fwrite, fwrite_unlocked
18         * lib/stdio.in.h (fwrite):
19         When working around bug 11959, use __REDIRECT rather than '#define
20         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
21         fix the -Wunused-value issue with clang, and it works with GCC too.
22         Problem with targeting reported by Eric Blake in
23         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00067.html>.
24         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
25         debugging the fwrite issue.
26
27         stdio: port --enable-gcc-warnings to clang
28         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
29         since the GCC workaround for fwrite does not pacify clang.
30
31         sig2str: port --enable-gcc-warnings to clang
32         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
33
34         obstack: port --enable-gcc-warnings to clang
35         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
36         Avoid casts from looser to stricter-aligned pointers.
37
38         memchr2: port --enable-gcc-warnings to clang
39         * lib/memchr2.c (memchr2):
40         Avoid casts from looser to stricter-aligned pointers.
41
42         mbsstr: port --enable-gcc-warnings to clang
43         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
44         Avoid casts from looser to stricter-aligned pointers.
45
46         malloca: port --enable-gcc-warnings to clang
47         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
48         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
49
50         inttostr: port --enable-gcc-warnings to clang
51         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
52
53         warnings: port to clang
54         Problem reported by Daniel P. Berrange via Eric Blake in
55         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
56         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
57         (gl_WARN_ADD): Use it.
58
59 2013-05-11  Jim Meyering  <meyering@fb.com>
60
61         quotearg: do not read beyond end of buffer
62         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
63         end of an ARG for which no length was specified.  With an N-byte
64         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
65         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
66         via coreutils' misc/sort-debug-keys.sh test and detected by running
67         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
68         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
69         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
70         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
71         characters correctly."
72
73 2013-05-11  Daiki Ueno  <ueno@gnu.org>
74
75         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
76         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
77         compilation target is Mac OS X 10.6.
78         Problem reported by parafin and Andoni Morales in
79         <http://savannah.gnu.org/bugs/?37844> and
80         <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
81
82 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
83
84         mkdir-p: remove assumptions about umask and mode
85         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
86         umask is 0, or that MODE is a subset of MODE_BITS.
87
88 2013-05-10  Eric Blake  <eblake@redhat.com>
89
90         maint.mk: catch more abuse of HAVE_DECL in syntax-check
91         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
92
93 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
94
95         deps: require Automake >= 1.9.6 in generated Makefile fragments
96
97         That is the same minimal version required in the DEPENDENCIES file.
98         Moreover, the old code generated a requirement of Automake >= 1.5,
99         and that is an insanely outdated version.
100
101         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
102         * tests/havelib/rpathlx/Makefile.am: Likewise.
103         * tests/havelib/rpathly/Makefile.am: Likewise.
104         * tests/havelib/rpathlyx/Makefile.am: Likewise.
105         * tests/havelib/rpathlz/Makefile.am: Likewise.
106         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
107         * tests/havelib/rpathx/Makefile.am: Likewise.
108         * tests/havelib/rpathy/Makefile.am: Likewise.
109         * tests/havelib/rpathz/Makefile.am: Likewise.
110
111 2013-05-08  Eric Blake  <eblake@redhat.com>
112
113         bootstrap: AC_INIT may have more than four parameters
114         * build-aux/bootstrap (extract_package_name): Correctly extract
115         non-empty tarname field.  Avoid range in regex.
116         Based on a report by Sami Kerola <kerolasa@iki.fi>.
117
118 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
119
120         qacl: port to MS-Windows port of GNU Emacs
121         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
122         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
123         port of GNU Emacs.  Problem reported by Eli Zaretskii in
124         <http://bugs.gnu.org/14295#14>.
125
126 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
127
128         acl: include quote.h
129         * lib/copy-acl.c: Include quote.h.
130         * lib/set-acl.c: Likewise.
131
132 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
133
134         fchownat, renameat, unlinkat: update statat dependencies
135         These modules use statat and lstatat, not fstatat; so depend on
136         the statat module, which was split out recently from fstatat.
137         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
138         * modules/renameat: Likewise.  Also delete fstat.
139         URL: http://bugs.gentoo.org/468790
140
141 2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
142
143         Assume gnulib is checked out from Git, not CVS
144
145         In fact, access to the gnulib repository through CVS has been
146         disabled, or more precisely, got broken and was never restored; see:
147         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
148
149         Note that support for CVS is not removed completely and unthinkingly
150         by this change: only support for CVS checkouts of gnulib itself is
151         removed.  For example, the 'bootstrap' script still cater to .cvsingore
152         files and CVS directories, for the benefit of those poor gnulib clients
153         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
154
155         * gnulib-tool: Simplify accordingly.
156         * posix-modules: Likewise.
157         * MODULES.html.sh: Likewise.
158         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
159         repository.
160         * doc/gnulib-intro.texi: Likewise.
161         * doc/gnulib-readme.texi: Likewise.
162         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
163         sample '.gitignore' file rather than a sample '.cvsignore'.
164         * NEWS: Update.
165         * m4/extensions.m4: While at it, remove a comment mistakenly referring
166         to "CVS Autoconf" rather than "git Autoconf".
167
168 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
169
170         utimensat-tests, etc.: try to fix some races
171         Problem reported by Bernhard Voelker in
172         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
173         I don't know whether this patch fixes that race condition, but it
174         fixes *some* race conditions, so it should be a win.
175         * modules/chown-tests (Depends-on):
176         * modules/fchownat-tests (Depends-on):
177         * modules/fdutimensat-tests (Depends-on):
178         * modules/futimens-tests (Depends-on):
179         * modules/lchown-tests (Depends-on):
180         * modules/stat-time-tests (Depends-on):
181         * modules/utimens-tests (Depends-on):
182         * modules/utimensat-tests (Depends-on):
183         Depend on nanosleep, not usleep.
184         * modules/chown-tests (test_chown_LDADD):
185         * modules/lchown-tests (test_lchown_LDADD):
186         * modules/stat-time-tests (test_stat_time_LDADD):
187         New macro.
188         * modules/fchownat-tests (test_fchownat_LDADD):
189         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
190         * modules/futimens-tests (test_futimens_LDADD):
191         * modules/utimens-tests (test_utimens_LDADD):
192         * modules/utimensat-tests (test_utimensat_LDADD):
193         Add $(LIB_NANOSLEEP).
194         * modules/stat-time-tests (Files): Add tests/nap.h.
195         * tests/nap.h: Include <limits.h>, for INT_MAX.
196         (lt_mtime): Remove.
197         (diff_timespec): New function.
198         (get_stat): Rename from get_mtime.  All callers changed.
199         (nap_works): Determine the needed delay by inspecting the
200         file system's timestamp jumps; this should be more reliable.
201         Look at both mtime and ctime, and take the maximum of the two jumps.
202         (nap_works, guess_delay):
203         Return a nanosecond cound, not a microsecond count.
204         All callers changed.
205         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
206         failure.
207         (nap): Multiply the guess by 1.125, to accommodate the case where
208         the file system's clock is a bit slower than nanosleep's clock.
209         * tests/test-stat-time.c (BASE): New macro.
210         Include nap.h.
211         (nap): Remove; nap.h now defines this.  This removes a duplicate
212         implementation of 'nap'.
213
214         utimens, utimensat: work around Solaris UTIME_OMIT bug
215         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
216         Linux kernel 2.6.32 does.  Work around it in the same way.
217         * doc/posix-functions/futimens.texi (futimens):
218         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
219         * lib/utimens.c (fdutimens, lutimens):
220         * lib/utimensat.c (rpl_utimensat): Work around the bug.
221
222         gettext: now it's your responsibility to add -I$(top_builddir)/intl
223         Formerly, it was your responsibility to do this for all Makefile.ams
224         other than Gnulib's.  Now it's your responsibility to do it for
225         Gnulib's Makefile.am, too.
226         * NEWS: Document this.
227         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
228
229         acl: include errno.h to get errno
230         Reported by Daiki Ueno in
231         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
232         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
233
234 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
235
236         tests: don't assume getdtablesize () <= 10000000
237         * modules/cloexec-tests:
238         * modules/dup2-tests:
239         * modules/dup3-tests:
240         * modules/nonblocking-tests:
241         * modules/posix_spawn_file_actions_addclose-tests:
242         * modules/posix_spawn_file_actions_adddup2-tests:
243         * modules/posix_spawn_file_actions_addopen-tests:
244         * modules/unistd-safer-tests:
245         Depend on the getdtablesize module.
246         * tests/test-cloexec.c:
247         * tests/test-dup-safer.c:
248         * tests/test-dup2.c:
249         * tests/test-dup3.c:
250         * tests/test-fcntl.c:
251         * tests/test-nonblocking.c:
252         * tests/test-posix_spawn_file_actions_addclose.c:
253         * tests/test-posix_spawn_file_actions_adddup2.c:
254         * tests/test-posix_spawn_file_actions_addopen.c:
255         Don't assume getdtablesize () <= 10000000.
256
257 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
258
259         extern-inline: work around bug in Sun c99
260         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
261         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
262
263 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
264
265         qacl: new module, broken out from the acl module
266         This is for GNU Emacs, which wants the acl functions but does
267         not want 'error' invoked when they fail.
268         * lib/acl-internal.h: Do not include error.h, quote.h.
269         (ENOSYS, ENOTSUP): Remove; no longer needed.
270         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
271         * lib/acl.h: Include <stdbool.h>.
272         (acl_errno_valid): New function.
273         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
274         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
275         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
276         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
277         (ACL_INTERNAL_INLINE): Remove; no longer needed.
278         * lib/file-has-acl.c (file_has_acl):
279         * lib/qcopy-acl.c (qcopy_acl):
280         * lib/qset-acl.c (qset_acl):
281         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
282         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
283         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
284         lib/file-has-acl.c, m4/acl.m4 to qacl module.
285         Add lib/set-acl.c.
286         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
287         Add qacl.
288         (configure.ac): Move gl_FUNC_ACL to qacl module.
289         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
290         Rename set-mode-acl.c to set-acl.c.
291         * lib/acl-errno-valid.c: New file.
292         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
293         copy_acl function remains in copy-acl.c.
294         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
295         (_): Remove; not needed.
296         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
297         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
298         * modules/qacl: New file, moved from the old modules/acl.
299         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
300         Remove set-mode-acl.c, copy-acl.c.
301         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
302
303         alignof, intprops, malloca: port better to IBM's C compiler
304         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
305         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
306         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
307
308 2013-04-25  Daiki Ueno  <ueno@gnu.org>
309
310         wctype-h: fix gettext link error on mingw
311         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
312         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
313         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
314         rpl_towupper and rpl_towupper.
315
316 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
317
318         regex-tests, regex: allow glibc re_search behavior
319         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
320         re_search input data to make the multi-character collating element
321         in it clearly visible, and treat re_search return code 0 as valid.
322         * m4/regex.m4 (gl_REGEX): Likewise.
323
324 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
325
326         stdalign: doc fix
327         * doc/posix-headers/stdalign.texi (stdalign.h):
328         Gnulib doesn't support '_Alignof expr'.
329
330 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
331
332         stdalign: port to stricter ISO C11
333         ISO C11 says that _Alignof's operand must be a parenthesized type.
334         Problem reported by Eli Zaretskii in
335         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
336         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
337         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
338
339 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
340
341         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
342         Problem reported by Marco Atzeri in
343         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
344         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
345         Simply delegate to the system <sys/select.h> in this case too.
346         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
347         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
348         be needed on Solaris either.
349         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
350         Simply delgate to the system <sys/time.h> in this case.
351
352 2013-03-19  Karl Berry  <karl@gnu.org>
353
354         * build-aux/gnupload: check for erroneous (with gnupload) use of
355         ftp-upload.gnu.org, tweak help.
356
357 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
358
359         copy-file, rpmatch: fix problems found by cppcheck
360         Reported by Arno Onken in
361         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
362         * lib/rpmatch.c (try): Fix memory leak.
363         * lib/copy-file.c: Include "ignore-value.h".
364         (qcopy_file_preserving): Ignore chown value.
365         * modules/copy-file (Depends-on): Add ignore-value.
366
367 2013-01-27  Jim Meyering  <jim@meyering.net>
368
369         prefix-gnulib-mk: give better diagnostics
370         * build-aux/prefix-gnulib-mk: Don't just "die".
371         Give better diagnostics upon failure.
372
373 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
374
375         putenv: port to Solaris 10
376         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
377         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
378         is not what is wanted here.
379         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
380         declaration, not for its existence.
381
382 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
383
384         mktime: fix configure typo
385         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
386
387 2013-03-12  Eric Blake  <eblake@redhat.com>
388
389         regex-tests: skip UTF-8 test on mingw
390         * modules/regex-tests (Depends-on): Add localcharset.
391         * tests/test-regex.c (main): Use it to skip test on mingw.
392
393 2013-03-11  Eric Blake  <eblake@redhat.com>
394
395         tests: make it easier to bypass alarm time in debugger
396         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
397         * tests/test-memmem.c (main): Likewise.
398         * tests/test-passfd.c (main): Likewise.
399         * tests/test-ptsname.c (main): Likewise.
400         * tests/test-ptsname_r.c (main): Likewise.
401         * tests/test-strcasestr.c (main): Likewise.
402         * tests/test-strstr.c (main): Likewise.
403
404         regex: port to mingw's recent addition of undeclared alarm
405         * doc/posix-functions/alarm.texi (alarm): Document that alarm
406         exists but still doesn't work in newer mingw.
407         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
408         not existence.  Ensure SIGALRM is not trapped.
409         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
410         * m4/regex.m4 (gl_REGEX): Likewise.
411         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
412         * tests/test-regex.c (main): Use correct probe for alarm.
413
414         putenv: avoid compilation warning on mingw
415         * lib/putenv.c (_unsetenv): Protect variable declaration.
416         (putenv): Fix indentation.
417
418 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
419
420         unistd: don't prevent Tru64 Unix from using gnulib strtod.
421         * lib/unistd.in.h: be careful not to include un-needed system
422         stdlib.h from here, because that prevents gnulib stdlib.h from
423         defining rpl_strtod correctly.
424
425 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
426
427         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
428         changesets, but for the 'precision 0' test.
429         * tests/test-vasprintf-posix.c (test_function): Don't insist on
430         round-to-even, since POSIX says rounding is implementation-defined
431         and OS X 10.8.2 rounds 1.51 to 1 here.
432
433         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
434         changeset.
435         * tests/test-vasprintf-posix.c (test_function): Don't insist on
436         round-to-even, since POSIX says rounding is implementation-defined
437         and OS X 10.8.2 rounds 1.5 to 1 here.
438
439 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
440
441         vasnprintf-posix-tests: allow rounding 1.5 to 1
442         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
443         round-to-even, since POSIX says rounding is implementation-defined
444         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
445         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
446
447         bootstrap: port to FreeBSD
448         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
449         that treat '--' differently.  Reported by Mats Erik Andersson in
450         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
451
452 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
453
454         regex: rename remaining __attribute calls to __attribute__.
455         2012-02-25 changed definition of __attribute, but left some uses
456         unchanged, preventing compilation of regex module on most non-gcc
457         environments.
458         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
459         (lookup_collation_sequence_value, build_range_exp)
460         (build_collating_symbol): Set attributes with newly renamed
461         __attribute__ decorator.
462         * lib/regex_internal.c (re_string_peek_byte_case)
463         (re_node_set_compare, re_node_set_contains): Likewise.
464         * lib/regexec.c (acquire_init_state_context): Likewise.
465
466 2013-03-06  Bruno Haible  <bruno@clisp.org>
467
468         execute: Revert last change, but use a different condition.
469         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
470         on Windows.
471
472 2013-03-05  Eric Blake  <eblake@redhat.com>
473
474         execute: drop dead code
475         * lib/execute.c (nonintr_close, nonintr_open): Delete.
476
477 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
478
479         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
480         * m4/non-recursive-gnulib-prefix-hack.m4
481         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
482         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
483         <http://bugs.gnu.org/10305#237>.
484
485 2013-03-04  Eric Blake  <eblake@redhat.com>
486
487         test-getsockopt: avoid compiler warning
488         * tests/test-getsockopt.c (includes): Ensure close is declared.
489
490 2013-03-02  Bruno Haible  <bruno@clisp.org>
491
492         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
493         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
494
495 2013-03-02  Bruno Haible  <bruno@clisp.org>
496
497         gettext: Update to version 0.18.2.
498         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
499         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
500                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
501
502 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
503
504         regex: merge patches from libc
505
506         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
507         * lib/regex_internal.h (__attribute__): Rename from __attribute.
508         All uses changed.
509         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
510         (re_string_wchar_at, re_string_elem_size_at):
511         Mark function as possibly unused.
512
513         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
514         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
515         elements compare against the byte sequence of it, not its name.
516
517 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
518
519         putenv: port better to native Windows
520         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
521         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
522         (_unsetenv): Use _putenv if available.
523         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
524         a bit less likely to cause damage.
525         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
526         Fix the wrong value with SetEnvironmentVariable.
527         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
528         code better.
529
530 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
531
532         regex: ignore old-style-definition warnings
533         * lib/regex.c: Add pragma to ignore these warnings.
534         Problem reported for GNU tar by Pavel Raiskup.
535
536 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
537
538         getcwd: support coreutils better
539         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
540         but this might not be correct in coreutils, which disables
541         the raw decl checks.  Problem reported by Nagendra in
542         <http://bugs.gnu.org/10305#192>.
543         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
544         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
545         Test the getcwd function, not any macro, since getcwd.c wants the
546         function.
547         * m4/getcwd.m4 (gl_FUNC_GETCWD):
548         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
549         compile, as might happen if there's a macro but no function.
550
551         strtod: support coreutils better
552         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
553         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
554         disables the raw decl checks.  This assumes there is an underlying
555         strtod, but that's a safe assumption these days.
556         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
557
558         mountlist: port to HP NonStop
559         Reported by Joachim Schmitz in
560         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
561         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
562         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
563
564 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
565
566         extern-inline: avoid compilation error with HP-UX cc
567         Reported by Richard Lloyd in
568         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
569         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
570         Suppress extern inline with HP-UX cc.  This should be safe,
571         though it may hurt performance.  Perhaps someone with some HP-UX
572         experience can come up with a higher-performance fix.
573
574 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
575
576         putenv: fix heap corruption with mixed putenv/_putenv
577         Problem reported by Michael Goffioul in
578         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
579         * lib/putenv.c (putenv) [HAVE__PUTENV]:
580         Rely on _putenv to allocate the new environment.
581         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
582         * modules/putenv (configure.ac): Use it.
583
584 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
585
586         unsetenv etc.: port to Solaris 11 + GNU Emacs
587         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
588         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
589         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
590         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
591         idea but is too painful to fix right now), and without this gnulib
592         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
593         compiling unsetenv.c on Solaris 11.  Fix the problem for
594         unsetenv.c, and fix other similar occurrences.
595
596 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
597
598         secure_getenv: fix C++ declaration typo
599         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
600         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
601         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
602
603 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
604
605         careadlinkat: stop exporting careadlinkatcwd
606         Only Emacs used it directly, and Emacs no longer needs it.
607         * NEWS: Document this simplification.
608         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
609         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
610         for readlink.
611         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
612         Don't include stdlib.h; no longer needed.
613         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
614         * lib/relocwrapper.c: Adjust comment to match new dependencies.
615         * modules/areadlink (Depends-on): Add readlink.
616         (Maintainer): Add self.
617         * modules/careadlinkat (Depends-on): Remove readlink.
618
619         extensions: port better to HP-UX
620         This is merged from git Autoconf.
621         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
622         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
623         so that it's compatible with the value used when compiling.
624
625         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
626         Problem reported by Mats Erik Andersson in
627         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
628         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
629         openpty function exists, not merely when we intend to replace it.
630         This corrects the 2013-01-31 patch, which mistakenly defined
631         HAVE_OPENPTY even on hosts that lacked it.
632
633 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
634
635         secure_getenv: fix include typo
636         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
637
638         secure_getenv: port better to FreeBSD and Solaris
639         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
640         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
641         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
642         This works better on BSDish platforms.
643         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
644         Test for issetugid if __secure_getenv is missing.
645
646 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
647
648         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
649         Some of these changes are merged in from git Autoconf.
650         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
651         When deciding whether to define _XOPEN_SOURCE, inspect the
652         preprocessor macro __hpux instead of the more-heavyweight
653         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
654         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
655         as the key for __EXTENSIONS__.
656
657         unistd: avoid namespace pollution on non-glibc systems
658         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
659         This avoids namespace pollution on non-glibc systems, by causing
660         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
661         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
662         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
663
664 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
665
666         tmpdir: use secure_getenv
667         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
668         Define to secure_getenv, not getenv.
669         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
670         as that's now secure_getenv's job.
671         * modules/tmpdir (Depends-on): Add secure_getenv.
672
673         tempname: use secure_getenv
674         * lib/tempname.c (__secure_getenv) [!_LIBC]:
675         Define to secure_getenv, not getenv.
676         * modules/tempname (Depends-on):
677         Add secure_getenv.
678
679         secure_getenv: new module
680         * MODULES.html.sh (Extra functions based on ANSI C 89):
681         Add secure_getenv.
682         * doc/glibc-functions/secure_getenv.texi: New file.
683         * doc/gnulib.texi: Include it.
684         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
685         New files.
686         * lib/stdlib.in.h (secure_getenv): New decl.
687         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
688         * modules/stdlib (stdlib.h):
689         Add secure_getenv checks.
690
691 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
692
693         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
694         Reported for OS X 10.8.2 by Assaf Gordon in
695         <http://bugs.gnu.org/13516>.
696         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
697         !HAVE_OPENAT && !HAVE_FDOPENDIR.
698         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
699         so that they can be kept in sync more easily.  Avoid PATH_MAX
700         test on the Hurd.  Sync from test-getcwd.c for errno tests after
701         mkdir or chdir failure.
702         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
703         lib/getcwd.c.
704         (test_abort_bug): Do not test for the deep directory bug unless we
705         have openat support.  Avoid PATH_MAX test on the Hurd.
706
707         regex-tests, regex: fix bug: memset undeclared
708         * tests/test-regex.c: Don't include regex.h twice.  Include
709         string.h, to declare memset.  Christensen's report also mentioned
710         this issue.
711         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
712         test-regex.c, to avoid future problems like this.  Remove
713         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
714         twice.
715
716         regex-tests: fix link errors on older Solaris
717         These need to link with @LIBINTL@ to get libintl_gettext.
718         Problem reported by Tom G. Christensen in
719         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
720         * modules/regex-tests (test_regex_LDADD): New macro.
721
722 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
723
724         regex-tests: new module
725         * modules/regex-tests, tests/test-regex.c: New files.
726
727         regex: fix off-by-one error in configure test
728         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
729
730 2013-01-31  Eric Blake  <eblake@redhat.com>
731
732         regex: avoid infinite configure test
733         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
734
735 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
736
737         openpty: fix bug where HAVE_OPENPTY wasn't defined
738         See the thread starting at:
739         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
740         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
741         openpty function exists, not merely when we intend to replace it.
742
743 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
744
745         sys_time: port to Solaris 2.6
746         There is a circularity problem on Solaris 2.6, where <time.h> includes
747         <sys/time.h> for struct timespec.  The include nesting is gnulib
748         <time.h>, system <time.h>, gnulib <sys/time.h>, system
749         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
750         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
751         <sys/siginfo.h>; the last, innermost file needs struct
752         timestruc_t, which is defined in <sys/time.h>, which has not been
753         fully parsed.  Problem reported by Tom G. Christensen in
754         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
755         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
756         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
757         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
758         uses split double-inclusion guards.
759
760 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
761
762         regex: test for buffer overrun
763         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
764         for the just-fixed regex bug.
765
766 2013-01-29  Andreas Schwab  <schwab@suse.de>
767
768         regex: fix buffer overrun in regexp matcher [BZ #15078]
769         * lib/regexec.c (extend_buffers): Add parameter min_len.
770         (check_matching): Pass minimum needed length.
771         (clean_state_log_if_needed): Likewise.
772         (get_subexp): Likewise.
773
774 2013-01-28  Pádraig Brady  <P@draigBrady.com>
775
776         mountlist: don't consider "devtmpfs" as dummy
777         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
778         as there is storage associcated with it.
779
780 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
781
782         futimens-tests, utimens-tests: Depend on gettext.
783         This works around a problem introduced in my 2013-01-12 patch,
784         which added @LIBINTL@ to these modules.
785         * modules/futimens-tests (Depends-on):
786         * modules/utimens-tests (Depends-on): Add gettext.
787
788 2013-01-26  Eric Blake  <eblake@redhat.com>
789
790         test-getpeername: fix typo
791         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
792
793 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
794
795         bootstrap: remove the need for a sorted .gitignore file
796         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
797         rename to insert_if_absent(), so that we don't need or generate
798         a sorted .gitignore file.  We do require a .gitignore with no
799         existing duplicate entries and enforce that.
800         (sort_patterns): Remove this function as we now use the simpler
801         technigue of inserting blacklist entries at the top of the file,
802         assuming gnulib won't be inserting !whitelist entries.
803
804 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
805
806         readlinkat: don't depend on gl_FUNC_OPENAT
807         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
808         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
809         renameat.m4, symlinkat.m4; but one thing at a time.
810
811         statat: new module, split out from fstatat
812         GNU Emacs needs the POSIX-specified fstatat, but not the
813         gnulib-specified statat and lstat.  Split the latter two into a
814         new module 'statat'.
815         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
816         * lib/openat.h, lib/statat.c (STATAT_INLINE):
817         Rename from FSTATAT_INLINE. All uses changed.
818         * modules/fstatat (Files): Remove lib/statat.c.
819         (gl_MODULE_INDICATOR([fstatat])): Remove.
820         (lib_SOURCES): Remove.
821         (Maintainer): Add self.
822         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
823         * tests/test-fstatat.c (BASE): Don't define if already defined.
824         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
825
826 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
827
828         tests: don't assume fd 99 is closed
829         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
830         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
831         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
832         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
833         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
834         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
835         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
836         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
837         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
838         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
839         * tests/test-fwrite.c, tests/test-getpeername.c:
840         * tests/test-getsockname.c, tests/test-getsockopt.c:
841         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
842         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
843         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
844         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
845         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
846         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
847         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
848         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
849         * tests/test-unlinkat.c, tests/test-unlockpt.c:
850         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
851         Close file descriptor 99, instead of assuming it's already closed.
852
853 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
854
855         stpncpy: port to OS X 10.8
856         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
857         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
858
859 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
860
861         unistd: port to recent mingw
862         * lib/unistd.in.h: Remove special invocation convention for mingw,
863         which breaks for the latest mingw version.  See John W. Eaton in
864         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
865
866         largefile: port better to Mac OS X 10.5
867         This patch is backported from Autoconf git.
868         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
869         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
870         with ino_t size being different for configuration time versus
871         build/run time.  Problem reported by PHO in
872         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
873
874 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
875
876         doc: clarify -Werror
877         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
878         clarify that it's intended for developers, not for ordinary builds,
879         and mention --enable-gcc-warnings as one possible use.
880
881 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
882
883         stdint: fix build with Android's Bionic fox x86
884         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
885         was already included as _SSIZE_T_DEFINED_ might also be defined
886         in include/machine/_types.h, which is included by stdio.h
887
888 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
889
890         net_if-tests: port to Solaris 7 + GCC 3.4.6
891         Problem reported by Tom G. Christensen in
892         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
893         * tests/test-net_if.c (ni): Move to next the code that uses it,
894         so that it's declared only if needed.
895
896 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
897
898         net_if-tests: port to older Solaris
899         Problem reported by Tom G. Christensen in
900         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
901         * modules/net_if-tests (NET_IF_LIB): New substitution.
902         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
903         (HAVE_IF_NAMEINDEX): New C macro.
904         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
905
906         system-quote-tests: port to older Solaris
907         Problem reported by Tom G. Christensen in
908         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
909         * tests/test-system-quote-child.c (fopen, fread): Undef.
910
911         c-xvasprintf etc.: fix link errors on older Solaris
912         These need to link with @LIBINTL@ to get libintl_gettext.
913         Problem reported by Tom G. Christensen in
914         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
915         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
916         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
917         * modules/futimens-tests (test_futimens_LDADD):
918         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
919
920 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
921
922         locale: port to Solaris 2.6 and 7 + GNU gettext
923         * lib/locale.in.h: Just include_next <locale.h> when
924         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
925         when combining the localename module with GNU gettext 0.18.2.
926         Problem reported by Tom G. Christensen in
927         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
928
929 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
930
931         stdlib: port to Solaris 2.6
932         Also, the code worked on Solaris 7 through 9 only by accident.
933         Problem reported by Tom G. Christensen in
934         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
935         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
936         simply include the system stdlib.h.
937         * lib/getopt.in.h (__need_system_stdlib_h):
938         * lib/pthread.in.h (__need_system_stdlib_h):
939         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
940         Define when including <stdlib.h>, to avoid problems at least for
941         the pthread case on Solaris 2.6 and 7.  These .h files can get by
942         with the system stdlib.h.
943
944 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
945
946         doc: update main copyright year
947         * doc/gnulib.texi: Update copyright date.
948
949         doc: improve ISO 8601 discussion
950         * doc/parse-datetime.texi (Combined date and time of day items):
951         Specify more carefully what formats are supported and what is
952         done with excess precision.
953
954 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
955
956         doc: avoid small caps
957         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
958         they're more trouble than they're worth.  Suggested by Karl Berry
959         in <http://bugs.gnu.org/13360>.
960
961         regex: conform to strict C
962         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
963         From Aharon Robbins.
964
965         gnulib-tool: fix incompatibility with autopoint 0.18.2
966         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
967         Problem reported by Tom G. Christensen in
968         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
969
970 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
971
972         fprintftime: bring back and reword fwrite comment
973         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
974
975         stdio: remove now-unnecessary stdio.c
976         Since stdio.in.h no longer uses inline functions, we no longer
977         need to compile the extern versions.
978         * lib/stdio.c: Remove.
979         * modules/stdio (Files): Remove lib/stdio.c.
980         (lib_SOURCES): Remove.
981
982         unicodeio: depend on stdio, not ignore-value
983         * lib/unicodeio.c: Do not include ignore-value.h.
984         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
985         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
986
987         fprintftime: depend on stdio, not ignore-value
988         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
989         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
990         since the stdio module arranges to silence that warning now.
991         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
992
993 2012-10-04  Simon Josefsson  <simon@josefsson.org>
994
995         stdint-tests: Fix expanded-before-required-warning.
996         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
997
998 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
999
1000         fwrite: silence __wur only for older glibc versions
1001         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
1002         This will help us remove this workaround some time in the far future.
1003
1004 2013-01-03  Eric Blake  <eblake@redhat.com>
1005
1006         fwrite: silence __wur without using inline
1007         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
1008         just gcc, and in a way that avoids inline issues.
1009         * modules/stdio (Depends-on): Drop extern-inline.
1010
1011 2013-01-03  Jim Meyering  <jim@meyering.net>
1012
1013         update-copyright: avoid copyright notice date corruption
1014         Given a sequence of copyright year numbers in which the final
1015         one was a two-digit number that happened to be a substring of
1016         a preceding four-digit year number, we would mistakenly update
1017         the substring (from two- to four-digit) rather than the two-digit
1018         number at the end, which, combined with the addition of the current
1019         4-digit year number would yield two 5-digit year numbers, e.g.,
1020         here, it would convert the first "99" to "1999, 2013" rather than
1021         the final one:
1022           1991, 99
1023           11999, 20131, 1999
1024         * build-aux/update-copyright: Tighten a regexp.
1025         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
1026         Reported by Joseph Myers in
1027         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
1028
1029 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1030
1031         regex: omit needless signed-pointer casts
1032         * lib/regcomp.c (build_charclass, build_charclass_op):
1033         Use char *, not unsigned char *, for class name and extra.
1034         The char values are always nonnegative so there's no need to
1035         insist on unsigned char * here, and using char * removes the need
1036         for casts.  Reported by Aharon Robbins in
1037         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1038
1039         regex: support Gawk, which never uses alloca
1040         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
1041         Do not include in this case.  Gawk doesn't supply a substitute
1042         alloca.h and doesn't need one.
1043
1044         regex: port __libc_lock_define usage to C89
1045         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
1046         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
1047         does not conform to C89, as it has an empty macro argument.
1048         Reported by Aharon Robbins in
1049         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1050
1051 2013-01-01  Eric Blake  <eblake@redhat.com>
1052
1053         maint: update all copyright year number ranges
1054         Run "make update-copyright".
1055
1056         version-etc: bump copyright year reported in --version
1057         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
1058
1059 2012-12-31  Eric Blake  <eblake@redhat.com>
1060
1061         sigprocmask-tests: skip test if pid is unexpectedly large
1062         * tests/test-sigprocmask.c (main): Add range check.
1063
1064         git-version-gen: avoid test -z portability glitch
1065         * build-aux/git-version-gen: Prefer portable test spelling, since
1066         git-version-gen is run on more than just developer machines.
1067
1068 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
1069
1070         git-version-gen: add --fallback option to use if git is not present
1071         * build-aux/git-version-gen: Add support for the new option --fallback,
1072         which comes into play when there is no $tarball_version_file and
1073         git is not working.
1074         (scriptversion): Update.
1075
1076         maint.mk: handle missing git with more grace
1077         * top/maint.mk (no-submodule-changes, public-submodule-commit):
1078         Quietly proceed if git is not present.
1079
1080 2012-12-31  Eric Blake  <eblake@redhat.com>
1081
1082         dup2: work around cygwin bug
1083         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
1084         * lib/dup2.c (rpl_dup2): Work around it.
1085         * doc/posix-functions/dup2.texi (dup2): Document it.
1086
1087 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1088
1089         regex: remove unnecessary dependency on localcharset.h
1090         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
1091         hasn't been needed for years.
1092         * modules/regex (Depends-on): Remove localcharset.
1093
1094         regex: revert single-byte change
1095         * lib/regexec.c (check_node_accept_bytes): Revert previous change
1096         to this function.  This was alredy fixed in a different way, at
1097         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
1098         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
1099         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
1100
1101         regex: simplify based on Gawk version
1102         * lib/regex_internal.c (re_dfa_add_node): Simplify.
1103         Reported by Aharon Robbins in
1104         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1105
1106 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1107
1108         regex: check that pattern char is single-byte
1109         Reported by Aharon Robbins in
1110         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1111         * lib/regexec.c (check_node_accept_bytes):
1112         Return 0 if the pattern string has a multibyte character here.
1113
1114         regex: implement rational ranges
1115         Reported by Aharon Robbins in
1116         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1117         * lib/regcomp.c (build_range_exp) [!_LIBC]:
1118         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
1119         Implement rational ranges.
1120
1121         regex: avoid redefining __wctype
1122         Reported by Aharon Robbins in
1123         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1124         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
1125         #undef before defining.
1126
1127         regex: port to hosts where malloc (0) == NULL
1128         Reported by Aharon Robbins in
1129         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1130         * lib/regex_internal.c (re_node_set_alloc):
1131         Don't assume that malloc (0) yields nonnull.
1132         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
1133         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
1134         * modules/regex (Files): Add m4/eealloc.m4.
1135
1136         regex: port to C89
1137         Reported by Aharon Robbins in
1138         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1139         * lib/regcomp.c (init_word_char): Declaration before statement.
1140
1141         regex: merge glibc changes
1142         Also, copy the license wording from glibc.  This simplifies
1143         merging changes.  gnulib-tool will change the wording to GPL as
1144         appropriate, when importing it to other packages.  The only
1145         glibc change made since the last merge, which needs merging, is:
1146         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
1147         * lib/regex_internal.h (gettext): Remove use of INTUSE.
1148
1149         * users.txt: Add Emacs.
1150
1151         doc: omit mention of version when not needed
1152         * doc/gnulib-intro.texi (Portability and Application Code):
1153         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
1154         Don't mention particular dates or versions when not necessary, so
1155         that the documentation won't go out of date so quickly.
1156
1157         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
1158
1159 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
1160
1161         bootstrap: pass --force to autoreconf.
1162         * build-aux/bootstrap (AUTORECONFFLAGS): New.
1163         Add "--force" so that Automake's ylwrap and other such tools
1164         be updated at each bootstrap invocation.
1165         Use it.
1166
1167 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1168
1169         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
1170         The earlier patch forgot to update one of the #if conditions, causing
1171         a problem on Debian testing i386 reported by Mats Erik Andersson
1172         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
1173         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
1174         (__argp_fmtstream_puts, argp_fmtstream_puts)
1175         (__argp_fmtstream_write, argp_fmtstream_write)
1176         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
1177
1178         * doc/gnulib-readme.texi: Minor fixups.
1179         (Portability guidelines): Modernize URLs.  Remove some repetition.
1180         (Indent with spaces not TABs): Reword to avoid too-long lines.
1181         Remove some '@ifset standalone' stuff that isn't used.
1182
1183         * doc/gnulib-readme.texi (Portability guidelines):
1184         ctype.h, not ctime.h.
1185
1186         Correct name of POSIX.1-2001.
1187         * doc/posix-functions/fgetc.texi (fgetc):
1188         * doc/posix-functions/fgets.texi (fgets):
1189         * doc/posix-functions/fread.texi (fread):
1190         * doc/posix-functions/fscanf.texi (fscanf):
1191         * doc/posix-functions/getc.texi (getc):
1192         * doc/posix-functions/getchar.texi (getchar):
1193         * doc/posix-functions/scanf.texi (scanf):
1194         POSIX.1-2001, not POSIX-2001.
1195
1196         doc: move README into manual
1197         * README: Move contents to new file doc/gnulib-readme.texi.
1198         Replace with a one-line summary.
1199         * doc/gnulib.texi (Brief Overview): New section,
1200         with old intro preface.  Include gnulib-readme.texi for contents.
1201         (Philosophy): Rename from "Introduction", since this
1202         section no longer introduces the rest.  Write a new preface.
1203         * doc/gnulib-readme.texi: New file, with the old contents of
1204         README texinfo-ized.  This way, the README info appears
1205         in the online and printed manual.
1206
1207 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
1208
1209         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
1210         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
1211         c_vasprintf() prototype.
1212
1213 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
1214
1215         c-vasprintf: Fix "empty declaration" warning reported by GCC.
1216         * lib/c-vasprintf.h: Remove stray semicolon.
1217
1218 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1219
1220         gettext: avoid obsolete macro AM_PROG_MKDIR_P
1221         It is obsolete and is planned to be removed from Automake 1.14; see
1222         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
1223         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
1224         (installdirs-data, installdirs-data-yes):
1225         Use $(MKDIR_P), not $(mkdir_p).
1226         * m4/intl.m4 (AM_INTL_SUBDIR):
1227         * m4/po.m4 (AM_PO_SUBDIRS):
1228         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
1229
1230 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1231
1232         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
1233         On this platform, we are not optimizing but we are using
1234         the substitute for extern inlines, so compile as if
1235         C99-style extern inline, or a substitute, is available.
1236         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
1237         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
1238         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
1239         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
1240         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
1241         Declare as ARGP_FS_EI, not as extern.
1242         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
1243         (__option_is_short, _option_is_end, __option_is_end)
1244         [!_LIBC && __USE_EXTERN_INLINES]:
1245         Declare as ARGP_EI, not as extern.
1246
1247 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1248
1249         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
1250         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
1251         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
1252         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
1253         ...), as the latter is fatal with older Autoconfs.
1254         Problem reported and fix suggested by Eric Blake in thread starting at
1255         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
1256
1257 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1258
1259         AC_PROG_MKDIR_P: don't workaround if not buggy
1260         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
1261         Define only for Autoconf versions before 2.62.
1262         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
1263         undocumented m4_PACKAGE_VERSION, for consistency with the
1264         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
1265         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
1266         was introduced in 2.62.
1267
1268 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
1269
1270         New 'c-*printf' modules for formatted output in C locale.
1271
1272         New module 'c-vasnprintf'.
1273         * modules/c-vasnprintf: New file.
1274         * lib/c-vasnprintf.c: New file.
1275         * lib/c-vasnprintf.h: New file.
1276
1277         New module 'c-snprintf'.
1278         * modules/c-snprintf: New file.
1279         * modules/c-snprintf-tests: New file.
1280         * lib/c-snprintf.c: New file.
1281         * lib/c-snprintf.h: New file.
1282         * tests/test-c-snprintf.c: New file.
1283         * tests/test-c-snprintf.sh: New file.
1284
1285         New module 'c-vsnprintf'.
1286         * modules/c-vsnprintf: New file.
1287         * modules/c-vsnprintf-tests: New file.
1288         * lib/c-vsnprintf.c: New file.
1289         * lib/c-vsnprintf.h: New file.
1290         * tests/test-c-vsnprintf.c: New file.
1291         * tests/test-c-vsnprintf.sh: New file.
1292
1293         New module 'c-vasprintf'.
1294         * modules/c-vasprintf: New file.
1295         * modules/c-vasprintf-tests: New file.
1296         * lib/c-asprintf.c: New file.
1297         * lib/c-vasprintf.c: New file.
1298         * lib/c-vasprintf.h: New file.
1299         * tests/test-c-vasprintf.c  +: New file.
1300         * tests/test-c-vasprintf.sh: New file.
1301
1302         New module 'c-xvasprintf'.
1303         * modules/c-xvasprintf: New file.
1304         * modules/c-xvasprintf-tests: New file.
1305         * lib/c-xasprintf.c: New file.
1306         * lib/c-xvasprintf.c: New file.
1307         * lib/c-xvasprintf.h: New file.
1308         * tests/test-c-xvasprintf.c: New file.
1309         * tests/test-c-xvasprintf.sh: New file.
1310
1311 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1312
1313         argp: better 'inline'
1314         Use extern-inline module to declare extern inline functions.
1315         This avoids some bogus warning diagnostics.  Problem discovered
1316         when modifying GNU tar to use the manywarnings module.
1317         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
1318         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
1319         Define based on extern-inline.
1320         * modules/argp (Depends-on): Add extern-inline.
1321
1322 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1323
1324         filemode, sys_stat: Handle MPX files a la AIX.
1325         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
1326         * lib/sys_stat.in.h (S_ISMPX): New macro.
1327         * tests/test-sys_stat.c: Add tests for MPX files.
1328
1329 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
1330
1331         x-to-1: honor $PERL
1332         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
1333         a chance to use his preferred version of Perl.  This is typically
1334         required by Darwin users whose default /usr/bin/perl does not have all
1335         the libraries required by help2man, and who need to use their MacPorts
1336         installation of Perl instead.
1337
1338 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1339
1340         gnu-web-doc-update: add all the new files, even in new directories
1341         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
1342         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
1343         Use it.
1344         (main): Don't use cvsutils to get the list of unknown files,
1345         just add all the existing files and directories.
1346
1347 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1348
1349         gnu-web-doc-update: improve --help
1350         * build-aux/gnu-web-doc-update: Move comments into --help.
1351
1352 2012-12-07  Eric Wong  <normalperson@yhbt.net>
1353
1354         mountlist: recognize more "dummy" file systems
1355         * lib/mountlist.c (ME_DUMMY_0):
1356         Add these dummy FS names to the list:
1357         - "debugfs" virtual filesystem for kernel debugging
1358         - "devpts" PTY slave filesystem
1359         - "devtmpfs" device filesystem on top of tmpfs/ramfs
1360         - "fusectl" control filesystem for FUSE
1361         - "mqueue" enumerates POSIX message queues
1362         - "rpc_pipefs" kernel <-> userspace bridge for NFS
1363         - "sysfs" is for exporting kernel objects
1364         - "devfs" device filesystem for Linux 2.4 and FreeBSD
1365
1366 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1367
1368         extern-inline: avoid incompatibility with Darwin Libc
1369         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
1370         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
1371         Problem reported by Akim Demaille in
1372         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1373
1374 2012-12-11  Simon Josefsson  <simon@josefsson.org>
1375
1376         gnupload: Work with GnuPG using gpg-agent (for smartcards).
1377         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
1378         let it handle password prompting.
1379
1380 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
1381
1382         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
1383         * lib/canonicalize.c (canonicalize_filename_mode):
1384         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
1385         fetching the current directory.  Don't overrun the beginning of
1386         rpath if there's no slashes after the MS-Windows drive letter.
1387
1388 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1389
1390         maint.mk: avoid extra forks
1391         * top/maint.mk (_cfg_mk): The GNU make manual documents that
1392         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
1393         So use that instead of "$(shell test -f FILE && echo FILE)".
1394
1395 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1396
1397         vasnprintf: fix ASCII_ONLY typo
1398         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1399         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1400         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1401         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
1402         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
1403
1404 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1405
1406         list, oset, xlist, xoset: fix extern inline issue with C99
1407         This was introduced by my recent changes for 'inline'.
1408         Problem reported for gettext by Daiki Ueno in
1409         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
1410         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
1411         (gl_list_nx_create, gl_list_size, gl_list_node_value)
1412         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
1413         (gl_list_previous_node, gl_list_get_at)
1414         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
1415         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
1416         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
1417         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
1418         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
1419         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
1420         (gl_list_iterator_free, gl_sortedlist_search)
1421         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
1422         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
1423         (gl_sortedlist_remove):
1424         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
1425         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
1426         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
1427         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
1428         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
1429         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
1430         (gl_list_add_at, gl_sortedlist_add):
1431         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
1432         Wrap these extern decls inside "#if 0", because they are implemented
1433         as inline functions, and extern inline is not what's wanted here.
1434         It would simplify these .h files to remove the extern decls entirely,
1435         although a downside would be less-clear separation between
1436         specification and implementation.
1437
1438 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
1439
1440         sys_stat: no 'static inline'
1441         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
1442         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
1443
1444         extern-inline: no 'static inline'
1445         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
1446         Do not require AC_C_INLINE.
1447         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
1448         'static inline', for older compilers.
1449
1450         snippet/warn-on-use: no 'static inline'
1451         * build-aux/snippet/warn-on-use.h:
1452         Remove unnecessary 'inline' in comment.
1453
1454         rbtree-list, rbtreehash-list: no 'static inline'
1455         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
1456         * lib/gl_anytree_list2.h (node_at):
1457         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
1458         (gl_oset_first, add_nodes_to_buckets):
1459         Now static, not static inline.
1460
1461         regex: no 'static inline'
1462         * lib/regex_internal.c (calc_state_hash):
1463         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
1464         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1465         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
1466         Now static, not static inline.
1467         (inline) [__GNUC__ < 3 && _LIBC]:
1468         Remove macro; no longer needed.
1469
1470         xvasprintf: no 'static inline'
1471         * lib/xvasprintf.c (xstrcat):
1472         Now static, not static inline.
1473         * m4/xvasprintf.m4 (gl_XVASPRINTF):
1474         Do not require AC_C_INLINE.
1475
1476         parse-datetime, parse-duration: no 'static inline'
1477         * lib/parse-datetime.y (to_uchar):
1478         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
1479         (scale_n_add):
1480         Now static, not static inline.
1481         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
1482         * modules/parse-duration (configure.ac):
1483         Do not require AC_C_INLINE.
1484
1485         getaddrinfo: no 'static inline'
1486         * lib/getaddrinfo.c (validate_family):
1487         Now static, not static inline.
1488         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
1489         Do not require AC_C_INLINE.
1490
1491         ftruncate, fts, lstat, openat, raise: no 'static inline'
1492         * lib/ftruncate.c (chsize_nothrow):
1493         * lib/fts.c (opendirat, diropen):
1494         * lib/lstat.c (orig_lstat):
1495         * lib/openat.c (orig_openat):
1496         * lib/raise.c (raise_nothrow):
1497         Now static, not static inline.
1498         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
1499         * m4/fts.m4 (gl_FUNC_FTS_CORE):
1500         * m4/lstat.m4 (gl_PREREQ_LSTAT):
1501         * m4/openat.m4 (gl_PREREQ_OPENAT):
1502         * m4/raise.m4 (gl_PREREQ_RAISE):
1503         Do not require AC_C_INLINE.
1504
1505         fflush, stat: no 'static inline'
1506         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1507         (clear_ungetc_buffer, disable_seek_optimization)
1508         (restore_seek_optimization, update_fpos_cache):
1509         * lib/stat.c (orig_stat):
1510         Now static, not static inline.
1511         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
1512         (update_fpos_cache):
1513         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
1514         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
1515         * m4/stat.m4 (gl_PREREQ_STAT):
1516         Do not require AC_C_INLINE.
1517
1518         error, filevercmp: no 'static inline'
1519         * lib/error.c (is_open, flush_stdout):
1520         * lib/filevercmp.c (order):
1521         Now static, not static inline.
1522         * m4/error.m4 (gl_PREREQ_ERROR):
1523         * modules/filevercmp (configure.ac):
1524         Do not require AC_C_INLINE.
1525
1526         dup, execute, fatal-signal, etc.: no 'static inline'
1527         * lib/dup.c (dup_nothrow):
1528         * lib/execute.c (nonintr_close, nonintr_open):
1529         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
1530         * lib/fopen.c (orig_fopen):
1531         * lib/freadseek.c (freadptrinc):
1532         * lib/freopen.c (orig_freopen):
1533         * lib/fstat.c (orig_fstat, fstat_nothrow):
1534         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
1535         (get_rusage_as_via_iterator):
1536         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
1537         * lib/getdtablesize.c (_setmaxstdio_nothrow):
1538         * lib/isatty.c (_isatty_nothrow):
1539         * lib/open.c (orig_open):
1540         * lib/read.c (read_nothrow):
1541         * lib/sigprocmask.c (signal_nothrow):
1542         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
1543         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
1544         * lib/wait-process.c (unregister_slave_subprocess):
1545         * lib/write.c (write_nothrow):
1546         Now static, not static inline.
1547         * lib/spawn-pipe.c (nonintr_open): Define only if
1548         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
1549         * m4/dup.m4 (gl_PREREQ_DUP):
1550         * m4/execute.m4 (gl_EXECUTE):
1551         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
1552         * m4/fopen.m4 (gl_PREREQ_FOPEN):
1553         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
1554         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
1555         * m4/fstat.m4 (gl_PREREQ_FSTAT):
1556         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
1557         * m4/isatty.m4 (gl_PREREQ_ISATTY):
1558         * m4/open.m4 (gl_PREREQ_OPEN):
1559         * m4/read.m4 (gl_PREREQ_READ):
1560         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
1561         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
1562         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
1563         * m4/wait-process.m4 (gl_WAIT_PROCESS):
1564         * m4/write.m4 (gl_PREREQ_WRITE):
1565         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
1566         Do not require AC_C_INLINE.
1567
1568         c-strtod, memcoll, readutmp: no 'static inline'
1569         * lib/c-strtod.c (c_locale):
1570         * lib/memcoll.c (strcoll_loop):
1571         * lib/readutmp.c (desirable_utmp_entry):
1572         Now static, not static inline.
1573         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
1574         * m4/memcoll.m4 (gl_MEMCOLL):
1575         * m4/readutmp.m4 (gl_READUTMP):
1576         Do not require AC_C_INLINE.
1577
1578         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
1579         * lib/arctwo.c (to_uchar):
1580         * lib/md4.c (set_uint32):
1581         * lib/md5.c (set_uint32):
1582         * lib/sha1.c (set_uint32):
1583         * lib/sha256.c (set_uint32):
1584         * lib/sha512.c (set_uint64):
1585         Now static, not static inline.  This is a bit simpler, and doesn't
1586         affect performance with GCC and default optimization.
1587         * m4/arctwo.m4 (gl_ARCTWO):
1588         * m4/md4.m4 (gl_MD4):
1589         * m4/md5.m4 (gl_MD5):
1590         * m4/sha1.m4 (gl_SHA1):
1591         * m4/sha256.m4 (gl_SHA256):
1592         * m4/sha512.m4 (gl_SHA512):
1593         Do not require AC_C_INLINE.
1594
1595         cond, lock, thread: better 'inline'
1596         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
1597         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
1598         New macros.  Use them instead of static inline, for header functions.
1599         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
1600         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1601         * lib/glthread/lock.c (gl_waitqueue_init)
1602         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1603         * lib/glthread/thread.c (get_current_thread_handle):
1604         Change 'static inline' to 'inline'.
1605         * lib/glthread/cond.h, lib/glthread/thread.h:
1606         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1607         * m4/cond.m4 (gl_COND):
1608         * m4/lock.m4 (gl_PREREQ_LOCK):
1609         * m4/thread.m4 (gl_THREAD):
1610         Do not require AC_C_INLINE.
1611         * modules/cond, modules/thread (Depends-on): Add extern-inline.
1612
1613         chdir-long, cycle-check, savewd: better 'inline'
1614         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
1615         (find_non_slash):
1616         * lib/cycle-check.c (is_zero_or_power_of_two):
1617         * lib/savewd.c (savewd_delegating):
1618         Change 'static inline' to 'inline'.
1619         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
1620         Replace all remaining uses of 'static inline' with it.
1621         * lib/savewd.h:
1622         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1623         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
1624         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
1625         * m4/savewd.m4 (gl_SAVEWD):
1626         Do not require AC_C_INLINE.
1627         * modules/savewd (Depends-on): Add extern-inline.
1628
1629         base32, base64: no need for 'inline'
1630         * lib/base32.c (to_uchar, get_8, decode_8):
1631         * lib/base64.c (to_uchar, get_4, decode_4):
1632         Change 'static inline' to 'inline'.
1633         * m4/base32.m4 (gl_PREREQ_BASE32):
1634         * m4/base64.m4 (gl_PREREQ_BASE64):
1635         Do not require AC_C_INLINE.
1636
1637         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
1638         * lib/gl_array_oset.c (gl_array_nx_add_at):
1639         (gl_array_remove_at):
1640         * lib/gl_linkedhash_list.c (hash_resize_after_add)
1641         (add_to_bucket, remove_from_bucket):
1642         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
1643         Change 'static inline' to 'static', as it's simpler to omit
1644         'inline' unless there's a significant performance advantage.
1645
1646         list, oset, xlist, xoset, xsublist: simplify via extern inline
1647         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
1648         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
1649         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
1650         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
1651         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
1652         New macro.  Replace all uses of 'static inline' with it.
1653         [HAVE_INLINE]: Implement functions as *_INLINE functions,
1654         instead of as macros FOO that are defined to static inline
1655         functions FOO_inline.
1656         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
1657         * lib/gl_xsublist.c:
1658         Reimplement from scratch, by defining the corresponding *_INLINE
1659         macro and including the corresponding .h file.  This is simpler.
1660         * modules/list, modules/oset, modules/xlist, modules/xoset:
1661         (Files): Remove m4/gl_list.m4.
1662         (configure.ac): Remove gl_LIST.
1663         * m4/gl_list.m4: Remove.
1664         * modules/list, modules/oset, modules/xlist, modules/xoset:
1665         * modules/xsublist:
1666         (Depends-on): Depend on extern-inline, not inline.
1667
1668         xalloc: better 'inline'
1669         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
1670         New macro.  Replace all uses of 'static inline' with it.
1671         (static_inline): Remove.
1672         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1673         Let 'extern inline' do the work automatically, instead of doing
1674         it by hand.
1675         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
1676         Remove.  All uses removed.
1677         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
1678
1679         gethrxtime: better 'inline'
1680         * lib/xtime.c: New file.
1681         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
1682         * lib/xtime.h (XTIME_INCLUDE):
1683         New macros.  Replace all uses of 'static inline' with them.
1684         * lib/gethrxtime.c (gethrxtime): Define only if
1685         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
1686         this source file is now always compiled, because of the extern inline.
1687         * lib/gethrxtime.h, lib/xtime.h:
1688         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1689         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
1690         if gethrtime works, as they're not needed in that case.
1691         (gl_XTIME): Do not require AC_C_INLINE.
1692         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
1693         compiled now.  Move the check into gl_GETHRXTIME.
1694         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
1695         (Depends-on): Add extern-inline.
1696         (configure.ac): gethrxtime is always compiled now.
1697         (lib_SOURCES): Add gethrxtime.c.
1698
1699         wctype-h: better 'inline'
1700         * lib/wctype-h.c: New file.
1701         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
1702         New macro.  Replace all uses of 'static inline' with it.
1703         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1704         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
1705         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
1706         (Depends-on): Add extern-inline.
1707
1708         unistd: better 'inline'
1709         * lib/unistd.c: New file.
1710         * lib/unistd.in.h (_GL_UNISTD_INLINE):
1711         New macro.  Replace all uses of 'static inline' with it.
1712         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1713         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
1714         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
1715         (Depends-on): Add extern-inline.
1716
1717         sys_socket: better 'inline'
1718         * lib/sys_socket.c: New file.
1719         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
1720         New macro.  Replace all uses of 'static inline' with it.
1721         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1722         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
1723         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
1724         (Depends-on): Add extern-inline.
1725
1726         stdio: better 'inline'
1727         * lib/stdio.c: New file.
1728         * lib/stdio.in.h (_GL_STDIO_INLINE):
1729         New macro.  Replace all uses of 'static inline' with it.
1730         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1731         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
1732         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
1733         (Depends-on): Add extern-inline.
1734
1735         sigaction: better 'inline'
1736         * lib/sig-handler.c: New file.
1737         * lib/sig-handler.h (SIG_HANDLER_INLINE):
1738         New macro.  Replace all uses of 'static inline' with it.
1739         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1740         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
1741         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
1742         (Depends-on): Add extern-inline.
1743
1744         selinux-h: better 'inline'
1745         * lib/se-context.c, lib/se-selinux.c: New files.
1746         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
1747         * lib/se-context.in.h (SE_CONTEXT_INLINE):
1748         New macro.  Replace all uses of 'static inline' with it.
1749         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1750         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
1751         New macro.  Replace all uses of 'static inline' with it.
1752         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1753         * modules/selinux-h (Files, lib_SOURCES):
1754         Add lib/se-context.c, lib/se-selinux.c.
1755         (Depends-on): Add extern-inline.
1756         (configure.ac): Do not require AC_C_INLINE.
1757
1758         pthread: better 'inline'
1759         * lib/pthread.c: New file.
1760         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
1761         New macro.  Replace all uses of 'static inline' with it.
1762         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1763         * m4/pthread.m4 (gl_PTHREAD_CHECK):
1764         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
1765         * modules/pthread (Files): Add lib/pthread.c.
1766         (Depends-on): Add extern-inline.
1767
1768         math: better 'inline'
1769         * lib/math.c: New file.
1770         * lib/math.in.h (_GL_MATH_INLINE):
1771         New macro.  Replace all uses of 'static inline' with it.
1772         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1773         * m4/math_h.m4 (gl_MATH_H):
1774         Do not require AC_C_INLINE.
1775         * modules/math (Files, lib_SOURCES):
1776         Add lib/math.c.
1777         (Depends-on): Add extern-inline.
1778
1779         count-one-bits: better 'inline'
1780         * lib/count-one-bits.c: New file.
1781         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
1782         New macro.  Replace all uses of 'static inline' with it.
1783         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1784         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
1785         Do not require AC_C_INLINE.
1786         * modules/count-one-bits (Files, lib_SOURCES):
1787         Add lib/count-one-bits.c.
1788         (Depends-on): Add extern-inline.
1789
1790         count-leading-zeros: better 'inline'
1791         * lib/count-leading-zeros.c: New file.
1792         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
1793         New macro.  Replace all uses of 'static inline' with it.
1794         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1795         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
1796         Do not require AC_C_INLINE.
1797         * modules/count-leading-zeros (Files, lib_SOURCES):
1798         Add lib/count-leading-zeros.c.
1799         (Depends-on): Add extern-inline.
1800
1801         bitrotate: better 'inline'
1802         * lib/bitrotate.c: New file.
1803         * lib/bitrotate.h (BITROTATE_INLINE):
1804         New macros.
1805         Replace all uses of 'static inline' with them.
1806         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1807         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
1808         (Depends-on): Add extern-inline.
1809         (configure.ac): Do not require AC_C_INLINE.
1810
1811 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
1812
1813         maint.mk: avoid gratuitous failure
1814         Reported by Stefano Lattarini in
1815         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
1816         * top/maint.mk (public-submodule-commit): Quote more safely.
1817
1818 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
1819
1820         canonicalize, canonicalize-lgpl: support MS-Windows file names
1821         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
1822         for test cases, which it'd be nice to add at some point.
1823         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
1824         * lib/canonicalize.c (canonicalize_filename_mode):
1825         * lib/canonicalize-lgpl.c (__realpath):
1826         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
1827         slash is at the beginning of the file name.  Use ISSLASH, instead
1828         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
1829         the first character with '/'.  Test for
1830         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
1831         with a drive letter.
1832         * lib/canonicalize.c (SLASHES): New macro.
1833         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
1834
1835 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
1836
1837         fts: introduce FTS_VERBATIM
1838         * lib/fts_.h (FTS_VERBATIM): New bit flag.
1839         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
1840         * lib/fts.c (fts_open): Honor it.
1841
1842 2012-11-09  Pádraig Brady  <P@draigBrady.com>
1843
1844         getlogin-tests: allow errno == ENXIO
1845         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1846         with errno == ENXIO (No controlling tty).
1847         getlogin_r-tests: Likewise. Also allow errno == ENOENT
1848         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
1849         with errno == ENOENT.  This was reported to happen in various
1850         situations on GNU/Linux.
1851
1852 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1853
1854         getlogin-tests: allow errno == ENOENT
1855         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1856         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
1857         when running a test in an Emacs shell buffer.
1858
1859 2012-11-08  Jim Meyering  <jim@meyering.net>
1860
1861         tests/nap.h: avoid warning about unused variable
1862         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
1863
1864         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
1865         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
1866         white space before each of the special-cased file names, to avoid
1867         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
1868         in http://bugs.gnu.org/12830.
1869
1870 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
1871
1872         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
1873         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
1874         fails with errno == EBADF when fd is opened with O_PATH.
1875         Reported by Jim Meyering in
1876         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
1877         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1878         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
1879
1880 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1881
1882         test-utimens: speed up by taking shorter naps
1883         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
1884         New functions.
1885         (nap): Use them, to do a better job of guessing the delay.
1886         On Fedora 17 with ext4 atop md atop hard disks, this made
1887         test-utimens run 10x faster, because the test napped for
1888         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
1889         <http://bugs.gnu.org/12820#11>.
1890
1891 2012-11-07  Jim Meyering  <jim@meyering.net>
1892
1893         mountlist.c: fix a compilation failure
1894         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
1895         I introduced while transforming commit v0.0-7683-g613bcb6
1896
1897 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1898
1899         errno: port to LynxOS 178 2.2.2
1900         Problem reported by Joel Brobecker in
1901         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
1902         * doc/posix-headers/errno.texi (errno.h): Document this.
1903         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
1904         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
1905         Supply a string for EILSEQ.
1906         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
1907
1908 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1909
1910         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
1911         Linux kernel 2.6.39 introduced O_PATH (see
1912         <http://lwn.net/Articles/433854/>) and this is a better fallback
1913         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
1914         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1915         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
1916         * lib/fcntl.in.h (O_ACCMODE):
1917         * tests/test-fcntl-h.c (main):
1918         Do not reject O_ACCMODE merely because it has more than the
1919         minimal number of bits, as POSIX allows extensions here.
1920
1921 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
1922
1923         mountlist: do not classify a bind-mounted dir entry as "dummy"
1924         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
1925         the "none"-testing clause.
1926         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
1927         exception for bind-mounted directories.
1928
1929 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
1930
1931         quote: provide a means to escape strings with nul characters
1932         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
1933         (quote, quote_n): Rename formal arguments for consistency with
1934         quotearg.
1935
1936 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
1937
1938         test-raise: don't assume 199 is an invalid signal
1939         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
1940
1941         sh-quote-tests: port to Solaris 9
1942         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
1943         Problem reported by Dagobert Michelsen in
1944         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
1945
1946 2012-10-28  Jim Meyering  <jim@meyering.net>
1947
1948         maint.mk: rename a new configurable variable
1949         * top/maint.mk (_gl_translatable_string_re): Rename from
1950         translation-markers: _gl_ prefix to insulate from user Makefile code,
1951         and the _re suffix to inform that it's a regular expression.
1952
1953 2012-10-26  Eric Blake  <eblake@redhat.com>
1954
1955         maint.mk: let packages tweak sc_po_check pattern
1956         * top/maint.mk (sc_po_check): Add translation-markers, to allow
1957         finding files with other translation markers.
1958
1959 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
1960
1961         euidaccess: speed up 'configure' on GNU hosts
1962         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
1963         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
1964         it's needed only in this case.  Use AC_CHECK_DECLS, not
1965         AC_CHECK_DECLS_ONCE.
1966         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
1967         or AC_REQUIRE for AC_FUNC_GETGROUPS.
1968
1969         * lib/regexec.c (re_search_internal): Fix grammar in comment.
1970
1971 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1972
1973         fchmodat, fchownat, fstatat: port to non-inlining compilers
1974         Problem reported for FreeBSD 9 by Jim Meyering in
1975         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
1976         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
1977         New files, which define FCHMODAT_INLINE etc.
1978         * lib/fchmodat.c (FCHMODAT_INLINE):
1979         * lib/fchownat.c (FCHOWNAT_INLINE):
1980         * lib/fstatat.c (FSTATAT_INLINE):
1981         Remove, as chmodat.c etc. now do this.
1982         * modules/fchmodat (Files): Add lib/chmodat.c.
1983         * modules/fchownat (Files): Add lib/chownat.c.
1984         * modules/fstatat (Files): Add lib/statat.c.
1985
1986 2012-10-15  Jim Meyering  <jim@meyering.net>
1987
1988         fchmodat.c, fchownat.c: compile-impeding typos
1989         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
1990         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
1991         Introduced in commit v0.0-7636-gd202279.
1992
1993 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1994
1995         fcntl-h: support GNU flags like O_IGNORE_CTTY
1996         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
1997         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
1998         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
1999         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
2000         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
2001         Define to 0 if not already defined.
2002         * tests/test-fcntl-h.c: Test these new flags.
2003
2004 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2005
2006         faccessat, etc.: support AT_FDCWD-only use
2007         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
2008         this function only if its first argument is AT_FDCWD.
2009         Emacs wants faccessat for AT_EACCESS but not for any first-arg
2010         values other than AT_FDCWD, so it doesn't want all the openat
2011         machinery with fchdir etc.
2012         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
2013         * modules/fstatat, modules/mkdirat, modules/openat (Files):
2014         * modules/unlinkat (Files):
2015         Remove lib/openat-priv.h, as at-internal supplies this file.
2016         Removing this file here allows us to support programs like Emacs
2017         that avoid at-internal.
2018
2019         faccessat: speed up 'configure' on mainstream hosts
2020         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
2021         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
2022         since it's only on unusual platforms that we need to check for
2023         'access', and it's better not to slow 'configure' down on all
2024         platforms.
2025
2026         faccessat: port to Solaris 10
2027         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
2028         Needed on Solaris 10, which doesn't have AT_EACCESS,
2029         so we need the Gnulib fcntl.h, which defines it.
2030
2031 2012-10-14  Pádraig Brady  <P@draigBrady.com>
2032         canonicalize: fix C89 compilation
2033         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
2034         declarations so C89 is supported.  Also remove the comment
2035         referencing memorty allocation as the suggested feature could
2036         not be implemented as suggested.
2037         Reported by Michael Goffioul.
2038
2039 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2040
2041         group-member: omit unnecessary dependencies
2042         This is for Emacs, which has its own allocator and where we
2043         don't want to use xalloc.
2044         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
2045         since we no longer use xmalloc.  Do not include stdbool.h, since
2046         the changes below happen to remove the only use of bool.
2047         (GROUPBUF_SIZE): New constant.
2048         (struct group_info): Remove n_groups member.  Add groupbuf member.
2049         This lets us get the groups without using malloc, usually.
2050         (free_group_info, get_group_info): Adjust to this.
2051         (get_group_info): Return the number of groups found, or -1 on error.
2052         Use plain malloc not xmalloc, and treat its failure as if there
2053         are no groups, as the user already loses in case of error.
2054         (group_member): Simplify, based on changes to get_group_info.
2055         * modules/group-member (Depends-on): Remove dependencies on
2056         xalloc and stdbool.  Add dependency on xalloc-oversized.
2057
2058 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
2059
2060         gethrxtime: port to C++
2061         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
2062
2063 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2064
2065         ptsname: fix macro-name typo
2066         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
2067
2068 2012-10-03  Simon Josefsson  <simon@josefsson.org>
2069
2070         inttostr: Relax license.
2071         * modules/inttostr (License): Change from LGPL to LGPLv2+.
2072
2073 2012-10-03  Eric Blake  <eblake@redhat.com>
2074
2075         ptsname_r: support ptys returned by FreeBSD posix_openpt
2076         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
2077         lives in /dev/pts/.
2078
2079 2012-10-02  Eric Blake  <eblake@redhat.com>
2080
2081         pselect: reject invalid file descriptors
2082         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
2083         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
2084         * modules/pselect (Depends-on): Add dup2.
2085         * doc/posix-functions/pselect.texi (pselect): Document this.
2086
2087         select: reject invalid file descriptors
2088         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
2089         * lib/select.c (rpl_select) [!win32]: Work around it.
2090         * modules/select (Depends-on): Add dup2.
2091         * doc/posix-functions/select.texi (select): Document this.
2092
2093         select: enhance test
2094         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
2095         New functions.
2096         (test_function): Enhance test.
2097         (do_select_bad_fd): Avoid any stale errno values.
2098
2099         ptsname: reject invalid file descriptors
2100         http://www.austingroupbugs.net/view.php?id=503
2101         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
2102         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
2103         * modules/stdlib (Makefile.am): Replace witness.
2104         * lib/stdlib.in.h (ptsname): Allow for replacement.
2105         * modules/ptsname (configure.ac): Trigger replacement.
2106         * doc/posix-functions/ptsname.texi (ptsname): Document this.
2107
2108 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
2109
2110         hash-pjw-bare: new module
2111         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
2112         * lib/hash-pjw-bare.h: Likewise.
2113         * modules/hash-pjw-bare: New file.
2114         * MODULES.html.sh (Misc): Add it.
2115
2116 2012-10-02  Eric Blake  <eblake@redhat.com>
2117
2118         manywarnings: cater to more gcc infelicities
2119         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
2120         -Wuninitialized without -O.
2121
2122 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
2123
2124         select, poll tests: Make setsockopt invocation effective.
2125         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
2126         the bind() call.
2127         * tests/test-select.h (open_server_socket): Likewise.
2128
2129 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
2130
2131         sockets, sys_stat: restore AC_C_INLINE
2132         This undoes the 2012-09-22 patch.
2133         * m4/sockets.m4 (gl_SOCKETS):
2134         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2135         Restore AC_C_INLINE, since MSVC requires __inline or _inline
2136         and does not support plain 'inline'.  Reported by Bruno Haible in
2137         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
2138
2139 2012-09-30  Bruno Haible  <bruno@clisp.org>
2140
2141         localeconv tests: Avoid test failure on OpenIndiana.
2142         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
2143         skip the 'grouping' and 'mon_grouping' tests.
2144         Reported by Jim Meyering.
2145
2146 2012-09-30  Bruno Haible  <bruno@clisp.org>
2147
2148         havelib: Follow libtool developments.
2149         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
2150         Suggested by Simon Josefsson.
2151
2152 2012-09-29  Jim Meyering  <meyering@redhat.com>
2153
2154         fstatat.c: fix a compile-impeding typo
2155         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
2156         Introduced in commit v0.0-7636-gd202279.
2157         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
2158
2159 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
2160
2161         extern-inline: provide a -Wundef safe config.h
2162         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
2163         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
2164         to produce a -Wundef warning free config.h.
2165
2166 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2167
2168         hash-pjw: relax license to LGPLv2+
2169         * modules/hash-pjw (License): Relax, with consent of author.
2170
2171 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2172
2173         maint.mk: fix strict vs. lazy variable issues with RELEASE
2174         * top/maint.mk (_equal): New function.
2175         (member_check): Strip the result to avoid spurious spaces.
2176         (url_dir_list): Do not use ifeq, which is strict, as it will
2177         require RELEASE_TYPE to be defined.
2178         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
2179         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
2180         (announcement_Cc_alpha,announcement_mail_headers_alpha)
2181         (announcement_Cc_beta,announcement_mail_headers_beta)
2182         (announcement_Cc_stable,announcement_mail_headers_stable): these.
2183         (release): Do not depend on $(release-type), as it forces its
2184         evaluation.  Bounce to it.
2185
2186 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2187
2188         maint.mk: formatting changes
2189         * top/maint.mk: Indent bodies of if's.
2190
2191 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
2192
2193         maint.mk: factor the validation of RELEASE_TYPE
2194         With help from Jim Meyering.
2195         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
2196         * top/maint.mk (_empty, _sp): Move their definition earlier.
2197         (member-check, release-type): New.
2198         Use the latter instead of $(RELEASE_TYPE).
2199         Remove now useless local checks.
2200
2201 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2202
2203         maint.mk: provide "make upload" to ease uploading
2204         See
2205         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
2206         Do not depend simply on the current $(VERSION), as there may have been
2207         new commits since the tarball generation.  Rather, rely on $(RELEASE),
2208         as "make release-commit" already does.
2209
2210         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
2211         "make TYPE".
2212
2213         * top/maint.mk (upload_command, upload, release): New.
2214         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
2215         (VERSION): first word of $(RELEASE) is always right.
2216         (emit_upload_commands): Adjust.
2217         * top/README-release: Update.
2218
2219 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2220
2221         maint.mk: silent rules
2222         With help from Stefano Lattarini.
2223         * top/maint.mk (writable-files): Use $(AM_V_GEN).
2224         (announcement): Use $(AM_V_at).
2225
2226 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2227
2228         localename: port gl_locale_name_thread_unsafe to FreeBSD
2229         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
2230         and use the simpler FreeBSD implementation on Mac OS X as well.
2231         Original idea suggested by Ed Maste in
2232         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
2233
2234 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
2235
2236         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
2237         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
2238         * lib/mbuiter.c, lib/xsize.c: New files.
2239         * lib/binary-io.h (BINARY_IO_INLINE):
2240         * lib/eealloc.h (EEALLOC_INLINE):
2241         * lib/mbfile.h (MBFILE_INLINE):
2242         * lib/mbiter.h (MBITER_INLINE):
2243         * lib/mbuiter.h (MBUITER_INLINE):
2244         * lib/xsize.h (XSIZE_INLINE):
2245         New macros.
2246         Replace all uses of 'static inline' with them.
2247         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2248         * m4/eealloc.m4 (gl_EEALLOC):
2249         * m4/mbfile.m4 (gl_MBFILE):
2250         * m4/mbiter.m4 (gl_MBITER):
2251         * m4/xsize.m4 (gl_XSIZE):
2252         Do not require AC_C_INLINE.
2253         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
2254         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
2255         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
2256         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
2257         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
2258         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
2259         * modules/binary-io, modules/eealloc, modules/mbfile:
2260         * modules/mbiter, modules/mbuiter:
2261         (Depends-on): Add extern-inline.
2262
2263         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
2264         * lib/pipe-filter-aux.c: New file.
2265         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
2266         Replace all uses of 'static inline' with it.
2267         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2268         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
2269         (filter_retcode): No real need for inline here.
2270         * modules/pipe-filter-gi, modules/pipe-filter-ii:
2271         (Files): Add lib/pipe-filter-aux.c.
2272         (Depends-on): Add extern-inline.
2273         (configure.ac): Do not require AC_C_INLINE.
2274         (lib_SOURCES): Add pipe-filter-aux.c.
2275
2276         fdutimensat: omit unnecessary AC_C_INLINE
2277         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
2278
2279         fchmodat, fchownat, fstatat: use extern-inline
2280         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
2281         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
2282         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
2283         New macros.
2284         * lib/openat.h:
2285         Replace all uses of 'static inline' with them.
2286         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2287         * modules/fchmodat, modules/fchownat, modules/fstatat:
2288         * modules/openat-h:
2289         (Depends-on):
2290         Add extern-inline.
2291         (configure.ac): Remove AC_C_INLINE.
2292
2293         acl, mbchar, priv-set: use extern-inline
2294         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
2295         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
2296         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
2297         New macros.
2298         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
2299         Replace all uses of 'static inline' with it.
2300         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2301         * m4/acl.m4 (gl_FUNC_ACL):
2302         * m4/mbchar.m4 (gl_MBCHAR):
2303         * m4/priv-set.m4 (gl_PRIV_SET):
2304         Remove AC_C_INLINE, since 'inline' is no longer used directly.
2305         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
2306         Add extern-inline.
2307
2308         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
2309         * m4/sockets.m4 (gl_SOCKETS):
2310         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2311         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
2312         environments where it's already guaranteed to work, so we needn't
2313         check for it at 'configure'-time.
2314
2315         tls-tests: omit unnecessary 'inline'
2316         * tests/test-tls.c (perhaps_yield): No longer inline.
2317         Simplicity and portability trump efficiency in test cases.
2318
2319         utimens-tests: avoid unnecessary 'inline'
2320         * modules/fdutimensat-tests (configure.ac):
2321         * modules/futimens-tests (configure.ac):
2322         * modules/utimens-tests (configure.ac):
2323         * modules/utimensat-tests (configure.ac):
2324         Remove AC_C_INLINE.
2325         * tests/test-utimens-common.h (ctime_compare):
2326         No longer inline.  Simplicity and portability trump efficiency here.
2327
2328         misc: don't limit commentary to inline functions
2329         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
2330         * lib/xalloc-oversized.h, lib/xsize.h:
2331         Contrast macros to functions in general, not just to inline functions,
2332         when the commentary does not apply only to inline functions.
2333
2334 2012-09-20  Jim Meyering  <meyering@redhat.com>
2335
2336         non-recursive-gnulib-prefix-hack: new module
2337         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
2338         the file that originated in Bison.
2339         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
2340         largely copied from a snippet that resided in bison's configure.ac.
2341         * modules/non-recursive-gnulib-prefix-hack: New file.
2342         * MODULES.html.sh (Support for maintaining and releasing projects):
2343         Add it.
2344
2345 2012-09-18  Jim Meyering  <meyering@redhat.com>
2346
2347         maint.mk: generalize _gl_tight_scope for non-recursive make
2348         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
2349         that *.h would describe additional .h files in the directory
2350         specified by $(_gl_TS_dir).  I.e., add this...
2351         (_gl_TS_other_headers): New variable.
2352
2353         maint.mk: exempt trailing blanks found in "binary" files
2354         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
2355         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
2356         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2357
2358 2012-09-17  Jim Meyering  <meyering@redhat.com>
2359
2360         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
2361         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
2362         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
2363         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2364
2365 2012-09-17  Jim Meyering  <meyering@redhat.com>
2366
2367         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
2368         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
2369         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
2370         It is not in the same category as "exit (0)" or "exit (1)", and
2371         besides, I know of no symbolic name for that 77.  Reported by
2372         Richard W.M. Jones in
2373         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2374
2375 2012-09-17  Jim Meyering  <meyering@redhat.com>
2376
2377         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
2378         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
2379         all uses of #define, not just those that start in column 1.
2380         Richard W.M. Jones reported a false positive in
2381         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2382
2383 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2384
2385         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
2386         * lib/localcharset.c (locale_charset) [DARWIN7]:
2387         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
2388         as these two values are incompatible.  Problem reported by Max Horn.
2389         For more discussion, please see
2390         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
2391
2392         doc: document sticky-EOF issue
2393         * doc/posix-functions/fgetc.texi (fgetc):
2394         * doc/posix-functions/fgets.texi (fgets):
2395         * doc/posix-functions/fread.texi (fread):
2396         * doc/posix-functions/fscanf.texi (fscanf):
2397         * doc/posix-functions/getc.texi (getc):
2398         * doc/posix-functions/getchar.texi (getchar):
2399         * doc/posix-functions/scanf.texi (scanf):
2400         Mention that glibc and default Solaris do not conform to
2401         C99 and POSIX-2001 or later, with respect to how getchar
2402         etc. behave when feof reports nonzero.
2403
2404 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2405
2406         poll: fix poll(0, NULL, msec)
2407         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
2408         but nfd is 0.  In that case poll should behave like select.
2409
2410 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2411             Paolo Bonzini <bonzini@gnu.org>
2412
2413         poll: fix for systems that can't recv() on a non-socket
2414         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
2415         is readable.  In this case POLLHUP will not be supported.
2416         * doc/posix-functions/poll.texi: Document this.
2417
2418 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
2419
2420         poll/select: document portability problems not fixed by Gnulib.
2421         * doc/posix-functions/poll.texi: poll does not work well on
2422         pipes under Windows.  It has the same limitations as select on
2423         BeOS.
2424         * doc/posix-functions/select.texi: select does not work well
2425         on pipes under Windows.
2426
2427 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2428
2429         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
2430         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
2431         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
2432         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
2433
2434 2012-09-06  Eric Blake  <eblake@redhat.com>
2435
2436         net_if: give more details about the bug being fixed
2437         * doc/posix-headers/net_if.texi: Add clarification.
2438
2439 2012-09-05  Eric Blake  <eblake@redhat.com>
2440
2441         net_if: new module
2442         * modules/net_if: New module, borrowing ideas from netinet_in.
2443         * m4/net_if_h.m4: New file.
2444         * lib/net_if.in.h: Likewise.
2445         * doc/posix-headers/net_if.texi (net/if.h): Document it.
2446         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2447         * tests/test-net_if.c: Make function checks conditional.
2448         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
2449
2450 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
2451
2452         readutmp: fix non-portable UT_PID use
2453         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
2454         Use `UT_PID (u) > 0' as absolute condition.
2455
2456 2012-09-04  Jim Meyering  <meyering@redhat.com>
2457
2458         fts: reduce two or more trailing spaces to just one, usually
2459         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
2460         or more slashes, trim all but the final one.  But if a name consists
2461         solely of two slashes, don't modify it.  If it consists solely of
2462         three or more slashes, strip all but one.
2463
2464         This is part of the solution to a minor problem with rm:
2465         it would print a bogus ELOOP diagnostic when failing to remove
2466         the slash-decorated name of a symlink-to-directory:
2467
2468             $ mkdir d && ln -s d s && env rm -r s/
2469             rm: cannot remove 's': Too many levels of symbolic links
2470
2471         With the change below and a trivial don't-trim-trailing-slashes
2472         adjustment to remove.c, it does this:
2473
2474             $ env rm -r s/
2475             rm: cannot remove 's/': Not a directory
2476
2477         Improved by: Eric Blake
2478
2479         fts: when there is no risk of overlap, use memcpy, not memmove
2480         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
2481
2482 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2483
2484         stdbool: be more compatible with mixed C/C++ compiles
2485         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
2486         Define to bool, true, false, respectively, as GCC's builtin
2487         stdbool.h does.  Problem reported by Michael Goffioul in
2488         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
2489
2490 2012-08-28  Jim Meyering  <meyering@redhat.com>
2491
2492         revert last change: it was not needed
2493         * tests/test-vc-list-files-git.sh: There's already a test for
2494         a working git, just below.
2495
2496 2012-08-28  Jim Meyering  <meyering@redhat.com>
2497
2498         tests: test-vc-list-files-git.sh: skip if git is not available
2499         * tests/test-vc-list-files-git.sh: Skip this test when git is
2500         not available.
2501
2502 2012-08-26  Bruno Haible  <bruno@clisp.org>
2503
2504         gnulib-tool: Remove no-op option --no-changelog.
2505         * gnulib-tool (func_usage): Don't mention --no-changelog.
2506         (do_changelog): Remove variable.
2507         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2508
2509 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2510
2511         doc: remove fdl-1.2.texi
2512         It is no longer used or maintained, and its use of @acronym
2513         is problematic.  See the thread containing
2514         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
2515         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
2516         * doc/old-licenses/fdl-1.2.texi: Remove.
2517
2518         execinfo: port to FreeBSD
2519         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
2520         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
2521         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
2522         * modules/execinfo (Link): Add $(LIB_EXECINFO).
2523
2524 2012-08-23  Jim Meyering  <meyering@redhat.com>
2525
2526         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
2527         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
2528         to placate gcc's -Wold-style-declaration.
2529
2530 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2531
2532         doc: do not use @acronym
2533         * doc/inet_ntoa.texi (inet_ntoa):
2534         * doc/parse-datetime.texi (Seconds since the Epoch)
2535         (Specifying time zone rules):
2536         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
2537         Don't use @acronym.  Problem reported by John Darlington in
2538         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
2539
2540 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2541
2542         stdnoreturn: port to newer GCCs
2543         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
2544         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
2545         Problem reported by Jim Meyering in
2546         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
2547         Also, rename the 'test' function to a void a clash with the
2548         already-supplied 'main' function; this fixes a bug that incorrectly
2549         rejected GCC 4.7.1's <stdnoreturn.h>.
2550         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
2551         Document GCC problem.
2552
2553 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
2554
2555         pipe-filter: fix comment typo
2556         * lib/pipe-filter.h: Mention correct function.
2557
2558 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2559
2560         execinfo: new module
2561         This is for Emacs.  Currently, it provides a no-effect stub
2562         on all platforms where it does not already work.
2563         It already works on glibc-based systems, and on Solaris 11.
2564         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
2565         New files.
2566         * doc/glibc-headers/execinfo.texi (execinfo.h):
2567         * MODULES.html.sh (Misc): Document it.
2568
2569 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2570
2571         extern-inline: support old GCC 'inline'
2572         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
2573         if available.  This applies to GCC versions 2.7 through 4.2, or
2574         when newer GCC is using -fgnu89-inline.  The goal is to address
2575         some of the performance issues mentioned by Bruno Haible in
2576         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
2577
2578 2012-08-20  Eric Blake  <eblake@redhat.com>
2579
2580         maint.mk: avoid redundant file name in message
2581         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2582         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
2583         (sc_makefile_path_separator_check): Remove bogus $(ME).
2584
2585 2012-08-20  Mike Frysinger <vapier@gentoo.org>
2586
2587         timer-time: fix link order when static linking on glibc
2588         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2589         _after_ -lrt so that it's significant.
2590
2591 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2592
2593         timespec: omit unnecessary AC_C_INLINE
2594         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
2595
2596         stat-time: omit unnecessary AC_C_INLINE
2597         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
2598         Do not require AC_C_INLINE.
2599
2600         ignore-value: omit unnecessary AC_C_INLINE
2601         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
2602
2603         sys_select: avoid 'static inline'
2604         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
2605
2606         mktime: avoid 'static inline'
2607         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
2608         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
2609
2610 2012-08-19  Bruno Haible  <bruno@clisp.org>
2611
2612         gnulib-tool: Improve coding style.
2613         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
2614         func_emit_lib_Makefile_am.
2615         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2616
2617 2012-08-19  Bruno Haible  <bruno@clisp.org>
2618
2619         gnulib-tool: Fix indentation.
2620         * gnulib-tool (func_import): Fix indentation.
2621
2622 2012-08-19  Bruno Haible  <bruno@clisp.org>
2623
2624         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
2625         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
2626         on the list of removed files.
2627
2628 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2629
2630         test-parse-datetime: avoid glibc leap-second glitch
2631         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
2632         with the 2012 rules.  Problem reported by Bruce Dubbs in
2633         <http://bugs.gnu.org/12206>.
2634
2635 2012-08-14  Bruno Haible  <bruno@clisp.org>
2636
2637         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
2638         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
2639         from argument.
2640         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2641
2642 2012-08-14  Eric Blake  <eblake@redhat.com>
2643
2644         ldexp: relax license
2645         * modules/ldexp (License): Trivial relax, since the module only
2646         provides a permissively licensed m4 file.
2647
2648 2012-08-13  Bruno Haible  <bruno@clisp.org>
2649
2650         gnulib-tool: Fix persistence of --witness-c-macro option.
2651         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
2652         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2653
2654 2012-08-11  Eric Blake  <eblake@redhat.com>
2655
2656         count-leading-zeros: use a lookup table on non-gcc compilers
2657         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
2658         alternate implementation, suggested by Jim Meyering.
2659
2660 2012-08-10  Eric Blake  <eblake@redhat.com>
2661
2662         count-leading-zeros: new module
2663         * modules/count-leading-zeros: New module.
2664         * m4/count-leading-zeros.m4: New file.
2665         * lib/count-leading-zeros.h: Likewise.
2666         * modules/count-leading-zeros-tests: New test.
2667         * tests/test-count-leading-zeros.c: New file.
2668         * MODULES.html.sh (Integer arithmetic functions): Document it.
2669
2670 2012-08-07  Simon Josefsson  <simon@josefsson.org>
2671             Jim Meyering  <meyering@redhat.com>
2672
2673         maintainer-makefile: Fix syntax error with dash.
2674         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
2675         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
2676
2677 2012-08-05  Jim Meyering  <meyering@redhat.com>
2678
2679         extern-inline: also ignore -Wmissing-declarations
2680         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
2681         required with gcc-4.8.0-to-be.
2682
2683         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
2684         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
2685         for /error ?([^,]*)/.  This avoids false-positives for strings like
2686         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
2687
2688 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2689
2690         gnumakefile: better interaction with Automake-NG
2691         * modules/gnumakefile [Makefile.am]: The makefiles generated by
2692         Automake-NG always contain a definition of VPATH, even in non-VPATH
2693         builds (its value being simply '.' in that case).  So, in the
2694         'clean-GNUmakefile' rule, to determine whether running under a
2695         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
2696         '$(VPATH)' expands to the empty string.
2697
2698 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
2699
2700         base64: Use extern C scope in header file, for C++.
2701         * lib/base64.h: Add C++ namespace protection.
2702
2703 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
2704
2705         stat-time, timespec, u64: support naive out-of-dir builds
2706         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
2707         Use '#include "foo.h"', not '#include <foo.h>', when including
2708         one's own interface.  This works better when configuring with
2709         out-of-directory builds, since packages need not add an
2710         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
2711
2712 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
2713
2714         utimens: use extern-inline
2715         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
2716         * lib/utimens.h: Add copyright notice, since this is now large enough
2717         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2718         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
2719         * modules/utimens (Depends-on): Add extern-inline.
2720
2721         u64: use extern-inline
2722         * lib/u64.c: New file.
2723         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2724         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
2725         * modules/u64 (Files): Add lib/u64.c.
2726         (Depends-on): Add extern-inline.
2727         (configure.ac): No need to require AC_C_INLINE, since extern-inline
2728         does that now.
2729         (lib_SOURCES): Add u64.c.
2730
2731         timespec: use extern-inline
2732         * lib/timespec.c: New file.
2733         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2734         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
2735         * modules/timespec (Files): Add lib/timespec.c.
2736         (Depends-on): Add extern-inline.
2737         (lib_SOURCES): Add timespec.c.
2738
2739         stat-time: use extern-inline
2740         * lib/stat-time.c: New file.
2741         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2742         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
2743         * modules/stat-time (Files): Add lib/stat-time.c.
2744         (Depends-on): Add extern-inline.
2745         (lib_SOURCES): Add stat-time.c.
2746
2747         extern-inline: new module
2748         * modules/extern-inline, m4/extern-inline.m4: New files.
2749         This is for better support of 'extern inline' a la ISO C99,
2750         with a portable alternative on compilers that do not support
2751         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
2752         of the Emacs executable, when compiled with debugging disabled,
2753         which is a typical way that Emacs is built while developing.
2754
2755 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
2756
2757         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
2758         * build-aux/do-release-commit-and-tag: Move variable definitions
2759         together.
2760         ($branch): Instead of defaulting to "master", default to the current
2761         branch (as gnu-web-doc-update does).
2762         (help): Display the current values of the option arguments.
2763         * top/maint.mk (release-commit): New.
2764         * top/README-release: Simplify the corresponding step.
2765
2766 2012-07-30  Eric Blake  <eblake@redhat.com>
2767
2768         passfd: fix comment on recvfd
2769         * lib/passfd.c (recvfd): Fix comment.
2770         Reported by Jann Horn <jannhorn@googlemail.com>.
2771
2772 2012-07-30  Jim Meyering  <meyering@redhat.com>
2773
2774         maint.mk: avoid a sub-shell
2775         * top/maint.mk (release-prep): Remove unneeded sub-shell.
2776
2777 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2778
2779         maint.mk: use silent-rules support from Automake
2780         * top/maint.mk (news-check, vc-diff-check, announcement)
2781         (no-submodule-changes, alpha beta stable, release-prep)
2782         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
2783
2784 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2785
2786         maint.mk: provide a web-manual-update target
2787         * top/maint.mk: here.
2788         * top/README-release: Use it to simplify the web manual update step.
2789
2790 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2791
2792         README-release: shorten the circuit to post a news
2793         * top/README-release: Point directly to the news submission form.
2794
2795 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2796
2797         gnu-web-doc-update: fix --help
2798         * build-aux/gnu-web-doc-update: The information "top level" was written
2799         twice.
2800
2801 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2802
2803         maint.mk: absolute VPATH issue
2804         * top/maint.mk (release-prep): Help Git find .git/.
2805         From Jim Meyering.
2806
2807 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2808
2809         gitlog-to-changelog: fix previous change
2810         * build-aux/gitlog-to-changelog: Fix condition.
2811         Add missing ";".
2812
2813 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2814
2815         gitlog-to-changelog: don't expect .git to be in $srcdir
2816         Reported by Bruno Haible.
2817         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
2818         * build-aux/gitlog-to-changelog (&git_dir_option): New.
2819         Use it.
2820
2821 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2822
2823         maint.mk: absolute VPATH build fix
2824         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
2825         $(srcdir) is not a parent of $(builddir).
2826
2827 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
2828
2829         clean-temp: Fix memory leak.
2830         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
2831         'files' members of tmpdir.
2832
2833 2012-07-27  Jim Meyering  <meyering@redhat.com>
2834
2835         maint.mk: new rule: refresh-gnulib-patches
2836         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
2837         Use this rule to refresh them.
2838         * top/maint.mk (refresh-gnulib-patches): New rule.
2839
2840 2012-07-24  Bruno Haible  <bruno@clisp.org>
2841
2842         gnulib-tool: Fix handling of inctests variable.
2843         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
2844         Reported by Nick Bowler <nbowler@elliptictech.com>.
2845
2846 2012-07-22  Bruno Haible  <bruno@clisp.org>
2847
2848         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
2849         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
2850         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2851         Remove exemption for getpass.h.
2852         Suggested by Eric Blake.
2853
2854 2012-07-20  Eric Blake  <eblake@redhat.com>
2855
2856         verify: document conflict with -Wnested-externs
2857         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
2858
2859         maint.mk: forbid exit(-1)
2860         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
2861
2862 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
2863
2864         fsusage: port back to Solaris
2865         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
2866         error (fsd not declared) on Solaris 10.  Reported privately by
2867         Andrew Borodin.
2868
2869 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
2870
2871         gnu-web-doc-update: fix error messages
2872         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
2873
2874         gnu-web-doc-update: check the requirements.
2875         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
2876         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
2877         * build-aux/bootstrap (find_tool): Comment change.
2878
2879 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
2880
2881         maint.mk: minor simplication.
2882         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
2883         for default values.
2884
2885 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
2886
2887         gitlog-to-changelog: VPATH build issues
2888         If builddir is not a subdirectory of srcdir, running git from it will
2889         fail.
2890         * build-aux/gitlog-to-changelog (--srcdir): New option.
2891
2892 2012-07-15  Bruno Haible  <bruno@clisp.org>
2893
2894         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
2895         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
2896         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
2897         Remove exemption for fpending.h.
2898         Suggested by Eric Blake.
2899
2900 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
2901
2902         pthread_sigmask: fix bug on FreeBSD 9
2903         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
2904         Include string.h.
2905         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
2906         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
2907         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
2908         but pthread_sigmask (1729, NULL, NULL) returns zero.
2909         See <http://bugs.gnu.org/11884>.
2910         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
2911         by inspecting whether the main call changed the old mask.
2912
2913 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
2914
2915         README-release: make it more legible
2916         * top/README-release: Improve typography slightly.
2917
2918 2012-07-15  Jim Meyering  <meyering@redhat.com>
2919
2920         maint: require that each sc_... command start with "@"
2921         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
2922         "make sc_maint" helps us avoid this nit.
2923
2924 2012-07-15  Jim Meyering  <meyering@redhat.com>
2925
2926         maint.mk: add leading "@" to quiet new "make syntax-check" rule
2927         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
2928
2929 2012-07-13  Eric Blake  <eblake@redhat.com>
2930
2931         maint.mk: new syntax check for HAVE_DECL checks
2932         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
2933         * cfg.mk
2934         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2935         Exempt some false positives.
2936         Based on a report by Karel Zak.
2937
2938         argp: make HAVE_DECL usage consistent
2939         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
2940         macros, not whether they are defined.
2941         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
2942         convention with other declaration checks.
2943         Reported by Karel Zak, with suggestions from Paul Eggert.
2944
2945         stat-time: relax license to LGPLv2+
2946         * modules/stat-time (License): Relax, with consent of all authors.
2947
2948         strndup: fix m4 usage error
2949         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
2950         defined, to either 0 or 1.
2951         Reported by Karel Zak.
2952
2953 2012-07-11  Jim Meyering  <meyering@redhat.com>
2954
2955         maint: enable the sc_avoid_if_before_free syntax-check rule
2956         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
2957         (if_before_free_offenders_): Define.
2958         (if_before_free_basename_re_): Define.
2959         Exempt current files with useless if-before-free.
2960
2961 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
2962
2963         gettext: do not assume '#define ... defined ...' behavior
2964         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
2965         Do not use '#define FOO ... defined BAR ...', as the C standard says
2966         it's not portable to expect that this works after macro expansion.
2967         Problem reported for gzip by Steven M. Schweda in
2968         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
2969
2970 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
2971
2972         getloadavg: clean out old Emacs and Autoconf cruft
2973         See Glenn Morris in <http://bugs.gnu.org/11905>.
2974         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
2975         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
2976         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
2977         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
2978
2979 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
2980
2981         bootstrap: let warn be like tests/init.sh's warn_
2982         Reported by Jim Meyering.
2983         * build-aux/bootstrap (warn): Remove, replaced by...
2984         (warnf_, warn_): these.
2985         Adjust callers.
2986         Shorten messages that no longer fit in 80 columns.
2987
2988 2012-07-09  Bruno Haible  <bruno@clisp.org>
2989
2990         getopt: Simplify after Emacs changed.
2991         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
2992         (gl_GETOPT_IFELSE): Remove macro.
2993
2994 2012-07-09  Jim Meyering  <meyering@redhat.com>
2995
2996         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
2997         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
2998
2999         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
3000         Bugs in both of those conspired to make the
3001         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
3002         _sc_search_regexp's handling of non-empty $in_files would filter
3003         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
3004         choice of in_files value meant there would be no match in most
3005         projects, due to the presence of two or more Makefile.in files.
3006         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
3007         Fix a bug in how a non-empty $$in_files was processed:
3008         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
3009         in spite of the name, it's a regexp, not a list of file names.
3010
3011 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3012
3013         getloadavg, getopt: fix commentary re configure.in
3014         Autoconf is deprecating the name 'configure.in', so change it to
3015         to the new name 'configure.ac' in a couple of places.
3016         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
3017         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
3018         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
3019         Emacs has renamed it to configure.ac, and it no longer refers
3020         to these macros anyway.
3021
3022         timespec: mark functions with const attributes
3023         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
3024         Mark with _GL_ATTRIBUTE_CONST.
3025
3026 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3027
3028         canonicalize[-lgpl]: handle "guessing" values when cross-building
3029         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
3030         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
3031         matches "*yes" instead of just "yes".  Regression introduced in commit
3032         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
3033
3034 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3035             Bruno Haible  <bruno@clisp.org>
3036
3037         canonicalize: make the right guess when cross-compiling to GNU
3038         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
3039         determine whether cross-compiling to glibc systems, so as to
3040         include GNU/Hurd.
3041
3042 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3043
3044         timespec-sub: avoid duplicate include
3045         * lib/timespec-sub.c: Do not include <config.h> twice.
3046         Reported by Juanma Barranquero.
3047
3048 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
3049
3050         bootstrap: use a more consistent error reporting scheme
3051         * build-aux/bootstrap (warn, die): New.
3052         Use them.
3053
3054 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3055
3056         sys_time: allow too-wide tv_sec
3057         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
3058         timeval even if tv_sec is wider than time_t.  This allows
3059         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
3060         as without this patch gnulib replaces struct timeval
3061         and OpenBSD futimes therefore has a type mismatch.
3062         * doc/posix-headers/sys_time.texi: Mention this.
3063
3064         pthread: check for both pthread_create and pthread_join
3065         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
3066         alter the check so that it tests for both pthread_create and
3067         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
3068         Suggested by Bruno Haible and Richard Yao in
3069         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
3070
3071         parse-datetime: doc tuneup
3072         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
3073         spacing issues.
3074
3075 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
3076
3077         do-release-commit-and-tag: fix the previous commit
3078         * build-aux/do-release-commit-and-tag: Actually the test was right,
3079         but the comment and the error message were misleading.
3080         Fix comment, and improve error message.
3081         Perform check first, so that NEWS is not modified uselessly.
3082
3083         do-release-commit-and-tag: fix typo
3084         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
3085         _not_ start with a stub.
3086
3087 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3088
3089         pthread: check for pthread_create, not pthread_join
3090         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
3091         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
3092         pthread_join in libc.  I hope this removes the need for all the
3093         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
3094         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
3095
3096 2012-07-04  Jim Meyering  <meyering@redhat.com>
3097
3098         parse-datetime: fix failure to diagnose invalid input
3099         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
3100         rather than diagnosing the invalid input.  Now it reports this:
3101         date: invalid date '\260'
3102         * lib/parse-datetime.y (to_uchar): Define.
3103         (yylex): Don't sign-extend "other" bytes.
3104         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
3105         Thanks to Bruno Haible for the patch to this file.
3106         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
3107         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
3108
3109 2012-07-03  Jim Meyering  <meyering@redhat.com>
3110
3111         bootstrap: do not require now-removed build-aux/missing
3112         Now that build-aux/missing is, er, missing, bootstrap would
3113         silently fail.
3114         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
3115         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
3116         no longer part of gnulib.
3117         Diagnose the failure.
3118
3119 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3120
3121         alloca: add support for HP NonStop TNS/E native
3122         * lib/alloca.in.h (alloca): Support the new host.
3123         From a suggestion by Joachim Schmitz in
3124         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
3125
3126 2012-07-02  Pádraig Brady  <P@draigBrady.com>
3127
3128         fsusage: remove code not needed on non GNU/Linux systems.
3129
3130         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3131         Don't include headers no longer needed in this case.
3132         * lib/fsusage.c [STAT_STATVFS &&
3133         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
3134         STAT_STATFS2_FRSIZE to exclude code not used in this case.
3135
3136 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3137
3138         fsusage: include files needed for glibc 2.6 fallback
3139         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3140         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
3141         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
3142         Problem reported by Ludovic Courtès in
3143         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
3144
3145         fsusage: avoid needless check on GNU/Linux
3146         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
3147         on GNU/Linux systems, since it can't possibly work.
3148
3149 2012-07-01  Bruno Haible  <bruno@clisp.org>
3150
3151         log: Fix an autoconf >= 2.64 warning.
3152         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
3153         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3154
3155 2012-06-28  Bruno Haible  <bruno@clisp.org>
3156
3157         log10f: Fix possible configuration problem.
3158         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
3159         $LOGF_LIBM.
3160         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3161
3162 2012-06-28  Bruno Haible  <bruno@clisp.org>
3163
3164         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
3165         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
3166         not gl_cv_func_unlink_works.
3167         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3168
3169 2012-06-27  Eric Blake  <eblake@redhat.com>
3170
3171         config: drop scripts that automake says are not independent
3172         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
3173         * build-aux/elisp-comp: Delete.
3174         * build-aux/missing: Likewise.
3175         * build-aux/ylwrap: Likewise.
3176         * modules/elisp-comp: Likewise.
3177         * MODULES.html.sh: Drop mention of elisp-comp.
3178         * NEWS: Mention this.
3179
3180 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
3181
3182         root-uid: new module
3183         This is for portability to Tandem's NonStop Kernel.
3184         * lib/root-uid.h, modules/root-uid: New files.
3185         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
3186         * lib/write-any-file.c, tests/test-sethostname2.c:
3187         Include "root-uid.h".
3188         * lib/euidaccess.c (euidaccess):
3189         * lib/pt_chown.c (main):
3190         * lib/unlinkdir.c (cannot_unlink_dir):
3191         * lib/write-any-file.c (can_write_any_file):
3192         * m4/mknod.m4 (gl_FUNC_MKNOD):
3193         * tests/test-sethostname2.c (geteuid, main):
3194         Don't assume ROOT_UID == 0.
3195         * modules/euidaccess (Depends-on):
3196         * modules/pt_chown (Depends-on):
3197         * modules/sethostname-tests (Depends-on):
3198         * modules/unlinkdir (Depends-on):
3199         * modules/write-any-file (Depends-on):
3200         Add root-uid.
3201
3202         regex: use locale-independent comparison for codeset name
3203         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
3204         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
3205         for codeset name.
3206         * lib/regex_internal.h: Do not include <strings.h>, since we
3207         no longer use strcasecmp.
3208         * modules/regex (Depends-on): Remove strcase.
3209
3210 2012-06-23  Bruno Haible  <bruno@clisp.org>
3211
3212         getopt-posix: No longer guarantee that option processing is resettable.
3213         * doc/posix-functions/getopt.texi: Drop description of problem with
3214         internal state. Fix info about mingw and msvc9.
3215         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
3216         option processing by getopt(). Run three test programs instead of one.
3217         Simplify cross-compilation guess.
3218         * NEWS: Mention the change.
3219         Reported by Rich Felker <dalias@aerifal.cx>.
3220
3221 2012-06-26  Bruno Haible  <bruno@clisp.org>
3222
3223         argp, regex: Ensure strcasecmp gets declared.
3224         * lib/argp-help.c: Include <strings.h>.
3225         * lib/regex_internal.h: Likewise.
3226         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
3227
3228 2012-06-24  Bruno Haible  <bruno@clisp.org>
3229
3230         ptsname_r: Make it consistent with ptsname on AIX.
3231         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
3232         implementation as for OSF/1.
3233         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
3234         a pty master.
3235
3236         ptsname_r: Make it consistent with ptsname on OSF/1.
3237         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3238         OSF/1.
3239
3240 2012-06-24  Bruno Haible  <bruno@clisp.org>
3241
3242         ttyname_r: Fix result on OSF/1, Solaris.
3243         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
3244
3245 2012-06-24  Bruno Haible  <bruno@clisp.org>
3246
3247         ptsname_r: Add support for Solaris.
3248         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3249         Solaris.
3250
3251         ptsname_r: Fix test failure on native Windows.
3252         * modules/ptsname_r (Depends-on): Add isatty.
3253
3254         ptsname_r: Fix test failures on IRIX, Solaris.
3255         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
3256         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
3257         accordingly.
3258         * lib/ptsname_r.c: Include <fcntl.h>.
3259         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
3260         set errno if fd is invalid.
3261         * tests/test-isatty.c (main): Update comments.
3262
3263 2012-06-24  Bruno Haible  <bruno@clisp.org>
3264
3265         ptsname test: Extend test.
3266         * tests/test-ptsname.c: Include <errno.h>.
3267         (main): Test behaviour with invalid file descriptor.
3268
3269 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3270
3271         time: fix obsolete comment
3272         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
3273         reference to HAVE_STRUCT_TIMESPEC in comment.
3274
3275 2012-06-23  Bruno Haible  <bruno@clisp.org>
3276
3277         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
3278         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
3279         does not handle abbreviated long options with equivalent
3280         disambiguations, set gl_replace_getopt to yes.
3281         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
3282
3283 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3284
3285         time_r: fix typo that always overrode localtime_r decl
3286         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
3287         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
3288         not in a standard include.
3289
3290 2012-06-22  Bruno Haible  <bruno@clisp.org>
3291
3292         Write "Mac OS X" instead of "MacOS X".
3293         * README: Write "Mac OS X" instead of "MacOS X".
3294         * build-aux/bootstrap: Likewise.
3295         * build-aux/install-reloc: Likewise.
3296         * lib/acl-internal.h: Likewise.
3297         * lib/acl_entries.c: Likewise.
3298         * lib/argp-ba.c: Likewise.
3299         * lib/argp-pv.c: Likewise.
3300         * lib/config.charset: Likewise.
3301         * lib/copy-acl.c: Likewise.
3302         * lib/csharpexec.c: Likewise.
3303         * lib/euidaccess.c: Likewise.
3304         * lib/fbufmode.c: Likewise.
3305         * lib/fflush.c: Likewise.
3306         * lib/file-has-acl.c: Likewise.
3307         * lib/filemode.h: Likewise.
3308         * lib/fpurge.c: Likewise.
3309         * lib/freadable.c: Likewise.
3310         * lib/freadahead.c: Likewise.
3311         * lib/freading.c: Likewise.
3312         * lib/freadptr.c: Likewise.
3313         * lib/freadseek.c: Likewise.
3314         * lib/fseeko.c: Likewise.
3315         * lib/fseterr.c: Likewise.
3316         * lib/fsusage.c: Likewise.
3317         * lib/fwritable.c: Likewise.
3318         * lib/fwriting.c: Likewise.
3319         * lib/get-rusage-as.c: Likewise.
3320         * lib/get-rusage-data.c: Likewise.
3321         * lib/getdomainname.c: Likewise.
3322         * lib/idpriv-drop.c: Likewise.
3323         * lib/idpriv-droptemp.c: Likewise.
3324         * lib/localcharset.c: Likewise.
3325         * lib/locale.in.h: Likewise.
3326         * lib/localename.c: Likewise.
3327         * lib/mbsrtowcs-state.c: Likewise.
3328         * lib/nproc.c: Likewise.
3329         * lib/passfd.c: Likewise.
3330         * lib/posix_openpt.c: Likewise.
3331         * lib/printf-parse.c: Likewise.
3332         * lib/progreloc.c: Likewise.
3333         * lib/safe-read.h: Likewise.
3334         * lib/safe-write.h: Likewise.
3335         * lib/sched.in.h: Likewise.
3336         * lib/set-mode-acl.c: Likewise.
3337         * lib/signal.in.h: Likewise.
3338         * lib/stdint.in.h: Likewise.
3339         * lib/stdio-impl.h: Likewise.
3340         * lib/stdlib.in.h: Likewise.
3341         * lib/strtod.c: Likewise.
3342         * lib/sys_select.in.h: Likewise.
3343         * lib/tcgetsid.c: Likewise.
3344         * lib/unistd.in.h: Likewise.
3345         * lib/unlockpt.c: Likewise.
3346         * lib/vasnprintf.c: Likewise.
3347         * lib/vma-iter.c: Likewise.
3348         * lib/wcsrtombs-state.c: Likewise.
3349         * m4/acl.m4: Likewise.
3350         * m4/acosl.m4: Likewise.
3351         * m4/asinl.m4: Likewise.
3352         * m4/atanl.m4: Likewise.
3353         * m4/c-stack.m4: Likewise.
3354         * m4/cosl.m4: Likewise.
3355         * m4/expl.m4: Likewise.
3356         * m4/extensions.m4: Likewise.
3357         * m4/fdatasync.m4: Likewise.
3358         * m4/fmal.m4: Likewise.
3359         * m4/frexp.m4: Likewise.
3360         * m4/frexpf.m4: Likewise.
3361         * m4/frexpl.m4: Likewise.
3362         * m4/fsusage.m4: Likewise.
3363         * m4/getdomainname.m4: Likewise.
3364         * m4/getloadavg.m4: Likewise.
3365         * m4/getopt.m4: Likewise.
3366         * m4/gettext.m4: Likewise.
3367         * m4/gnulib-common.m4: Likewise.
3368         * m4/intdiv0.m4: Likewise.
3369         * m4/intlmacosx.m4: Likewise.
3370         * m4/largefile.m4: Likewise.
3371         * m4/ldexpl.m4: Likewise.
3372         * m4/link-follow.m4: Likewise.
3373         * m4/locale-ar.m4: Likewise.
3374         * m4/locale-fr.m4: Likewise.
3375         * m4/locale-ja.m4: Likewise.
3376         * m4/locale-tr.m4: Likewise.
3377         * m4/locale-zh.m4: Likewise.
3378         * m4/locale_h.m4: Likewise.
3379         * m4/lock.m4: Likewise.
3380         * m4/logl.m4: Likewise.
3381         * m4/mathfunc.m4: Likewise.
3382         * m4/minus-zero.m4: Likewise.
3383         * m4/mktime.m4: Likewise.
3384         * m4/mmap-anon.m4: Likewise.
3385         * m4/multiarch.m4: Likewise.
3386         * m4/nanosleep.m4: Likewise.
3387         * m4/nocrash.m4: Likewise.
3388         * m4/poll.m4: Likewise.
3389         * m4/printf-frexpl.m4: Likewise.
3390         * m4/printf.m4: Likewise.
3391         * m4/signbit.m4: Likewise.
3392         * m4/sinl.m4: Likewise.
3393         * m4/sqrtl.m4: Likewise.
3394         * m4/strerror_r.m4: Likewise.
3395         * m4/tanl.m4: Likewise.
3396         * m4/threadlib.m4: Likewise.
3397         * m4/ttyname_r.m4: Likewise.
3398         * m4/unlink.m4: Likewise.
3399         * m4/visibility.m4: Likewise.
3400         * m4/wcwidth.m4: Likewise.
3401         * tests/minus-zero.h: Likewise.
3402         * tests/test-alloca-opt.c: Likewise.
3403         * tests/test-copy-acl.sh: Likewise.
3404         * tests/test-copy-file.sh: Likewise.
3405         * tests/test-fdatasync.c: Likewise.
3406         * tests/test-file-has-acl.sh: Likewise.
3407         * tests/test-flock.c: Likewise.
3408         * tests/test-fsync.c: Likewise.
3409         * tests/test-localename.c: Likewise.
3410         * tests/test-malloca.c: Likewise.
3411         * tests/test-nonblocking-pipe.h: Likewise.
3412         * tests/test-nonblocking-socket.h: Likewise.
3413         * tests/test-openpty.c: Likewise.
3414         * tests/test-posix_openpt.c: Likewise.
3415         * tests/test-ptsname.c: Likewise.
3416         * tests/test-ptsname_r.c: Likewise.
3417         * tests/test-sameacls.c: Likewise.
3418         * tests/test-select.h: Likewise.
3419         * tests/test-set-mode-acl.sh: Likewise.
3420         * tests/test-snprintf-posix.h: Likewise.
3421         * tests/test-sprintf-posix.h: Likewise.
3422         * tests/test-strtod.c: Likewise.
3423         * tests/test-time.c: Likewise.
3424         * tests/test-vasnprintf-posix.c: Likewise.
3425         * tests/test-vasprintf-posix.c: Likewise.
3426         * doc/acl-resources.txt: Likewise.
3427         * doc/**/*.texi: Likewise.
3428         Reported by Max Horn <max@quendi.de>.
3429
3430 2012-06-22  Bruno Haible  <bruno@clisp.org>
3431
3432         grantpt: Relax requirement regarding invalid file descriptors.
3433         * lib/grantpt.c: Don't include <fcntl.h>.
3434         (grantpt): Don't verify the validity of the file descriptor.
3435         * modules/grantpt (Depends-on): Remove fcntl-h.
3436         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
3437         file descriptors.
3438         * doc/posix-functions/grantpt.texi: Document more platforms on which
3439         grantpt succeeds for invalid file descriptors.
3440         Reported by Rich Felker <dalias@aerifal.cx>.
3441
3442 2012-06-22  Bruno Haible  <bruno@clisp.org>
3443
3444         fbufmode test: Don't test unportable behaviour.
3445         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
3446         (main): Invoke it three times.
3447         Reported by Szabolcs Nagy <nsz@port70.net>
3448         and Rich Felker <dalias@aerifal.cx>.
3449
3450 2012-06-21  Bruno Haible  <bruno@clisp.org>
3451
3452         gnulib-tool: Refactor inctests variable.
3453         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
3454         (func_modules_transitive_closure,
3455         func_modules_transitive_closure_separately,
3456         func_import, func_create_testdir): Update.
3457
3458         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
3459         * gnulib-tool: Accept option --without-tests.
3460         (func_usage): Document --without-tests option. Rearrange.
3461         (inctests): Normalize according to the mode.
3462         * NEWS: Mention the change.
3463         Suggested by Simon Josefsson.
3464
3465 2012-06-21  Bruce Korb  <bkorb@gnu.org>
3466
3467         parse-duration test: Avoid spurious output.
3468         * tests/test-parse-duration.sh: Reindent with leading tabs.
3469
3470 2012-06-21  Jim Meyering  <meyering@redhat.com>
3471
3472         maint: disable the strncpy prohibition
3473         * cfg.mk: Do not prohibit strncpy here.
3474
3475 2012-06-21  Bruno Haible  <bruno@clisp.org>
3476
3477         nonblocking: Avoid compilation error on mingw64.
3478         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
3479         fscanf.
3480         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
3481         * modules/vfscanf (configure.ac): Likewise.
3482         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
3483         definition only if stdio.h has prepared it.
3484         Reported by Daniel P. Berrange <berrange@redhat.com>.
3485
3486 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
3487
3488         gnulib-tool: Use readlink if it is available.
3489         * gnulib-tool (func_readlink): Choose function more appropriately.
3490
3491 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3492
3493         posixtm-tests: port to buggy compiler
3494         Problem reported by Simon Josefsson in
3495         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
3496         * modules/posixtm-tests (Depends-on): Add stdint.
3497         * tests/test-posixtm.c (struct posixtm_test.t_expected):
3498         Now of type int_least64_t, not int64_t, both because that's
3499         what INT64_C returns and because int_least64_t works even
3500         on 72-bit hosts.
3501         (T): Use INT64_C on constants outside the traditional int range,
3502         to work around compiler bug noted by Simon.
3503
3504         mktime: fix integer overflow in 'configure'-time test
3505         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
3506         after integer overflow.  Problem reported by Rich Felker in
3507         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
3508         Also, don't look for further instances of a bug if we've already
3509         found one instance; this helps 'configure' run faster.
3510
3511 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
3512
3513         tmpfile, clean-temp: Fix invocation of GetVersionEx.
3514         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
3515         GetVersionEx correctly.
3516         * lib/clean-temp.c (supports_delete_on_close): Likewise.
3517
3518 2012-06-20  Bruno Haible  <bruno@clisp.org>
3519
3520         fdopen: Allow implementations that don't reject invalid fd arguments.
3521         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
3522         succeeds.
3523         Reported by Rich Felker <dalias@aerifal.cx>.
3524
3525 2012-06-20  Simon Josefsson  <simon@josefsson.org>
3526
3527         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
3528         bring in LIBINTL.
3529
3530 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3531
3532         init.sh: do not rely on autoupated PWD
3533         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
3534         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
3535         Although Nelson's bug was not necessarily fixed by this patch,
3536         it seems wise to make the change for safety.
3537         * tests/init.sh (path_prepend_): Do not rely on PWD updating
3538         automagically after 'cd'; this is not reliable on older shells.
3539         (setup_): Fail if we cannot cd to temporary directory.
3540
3541 2012-06-19  Bruno Haible  <bruno@clisp.org>
3542
3543         stat, fstat: Avoid warnings on mingw64.
3544         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
3545         redefining.
3546         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
3547         Reported by Daniel P. Berrange <berrange@redhat.com>.
3548
3549 2012-06-19  Bruno Haible  <bruno@clisp.org>
3550
3551         stdioext: Add support for musl libc.
3552
3553         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
3554         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
3555
3556         * m4/fseterr.m4: New file.
3557         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
3558         function exists.
3559         * modules/fseterr (Files): Add m4/fseterr.m4.
3560         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
3561         __fseterr does not exist.
3562         (Makefile.am): Remove fseterr.c from lib_SOURCES.
3563
3564         * lib/freadable.h: Update comment.
3565
3566         * lib/fwritable.h: Update comment.
3567
3568         * lib/freading.h: Update comment.
3569
3570         * lib/fwriting.h: Update comment.
3571
3572         * m4/freadahead.m4: New file.
3573         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
3574         that function exists.
3575         * modules/freadahead (Files): Add m4/freadahead.m4.
3576         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
3577         __freadahead does not exist.
3578         (Makefile.am): Remove freadahead.c from lib_SOURCES.
3579
3580         * m4/freadptr.m4: New file.
3581         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
3582         function exists.
3583         * modules/freadptr (Files): Add m4/freadptr.m4.
3584         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
3585         __freadptr does not exist.
3586         (Makefile.am): Remove freadptr.c from lib_SOURCES.
3587
3588         * m4/freadseek.m4: New file.
3589         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
3590         exists.
3591         * modules/freadseek (Files): Add m4/freadseek.m4.
3592         (configure.ac): Invoke gl_FUNC_FREADSEEK.
3593
3594         * lib/fpurge.c (fpurge): Update comment.
3595
3596         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
3597
3598 2012-06-19  Bruno Haible  <bruno@clisp.org>
3599
3600         *printf-posix: Put more info into config.log.
3601         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
3602         exit code into config.log.
3603
3604 2012-06-19  Bruno Haible  <bruno@clisp.org>
3605
3606         getopt-gnu: Fix exit code overflow in autoconf test.
3607         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
3608         to keep them below < 128.
3609
3610 2012-06-17  Jim Meyering  <meyering@redhat.com>
3611
3612         maint.mk: fix typo in code to derive GPG key at release time
3613         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
3614
3615 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
3616
3617         regex: avoid warning when pointers are not long
3618         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
3619         and uintptr_t, not long, for portability to hosts where pointers and
3620         long have different sizes.  Issue noted by Daniel P. Berrange in
3621         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
3622         and fix suggested by Bruno Haible in
3623         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
3624
3625 2012-06-17  Bruno Haible  <bruno@clisp.org>
3626
3627         dummy: Relicense into the public domain.
3628         * modules/dummy (License): Set to "public domain".
3629         Suggested by Reuben Thomas.
3630
3631 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3632
3633         announce-gen: VPATH issues
3634         * build-aux/announce-gen (--srcdir): New option, used to trim the
3635         $srcdir part of the path from $builddir to NEWS.
3636         * top/maint.mk (announcement): Adjust.
3637
3638 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3639
3640         gnu-web-doc-update: VPATH builds
3641         * build-aux/gnu-web-doc-update (--builddir): New option.
3642         Revamp the handling of options.
3643         Prefer $(...) to `...`.
3644         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
3645         the template, and it is GNU mktemp specific.
3646         Prefer set -e to long series of &&.
3647         Restore the initial git branch, not "master".
3648         Properly initialize submodules (don't rely only on bootstrap).
3649         Do not reconfigure blindly, use config.status.
3650         * top/README-release: Update instructions for gnu-web-doc-update.
3651
3652 2012-06-11  Jim Meyering  <meyering@redhat.com>
3653
3654         maint.mk: revert most of the previous change re "all these"
3655         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
3656         For rationale, see the discussion at
3657         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
3658
3659 2012-06-10  Karl Berry  <karl@gnu.org>
3660
3661         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
3662
3663         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
3664
3665 2012-06-10  Bruce Korb  <bkorb@gnu.org>
3666
3667         parse-duration: Relicense under LGPLv2+.
3668         * modules/parse-duration (License): Change to LGPLv2+.
3669
3670 2012-06-10  Jim Meyering  <meyering@redhat.com>
3671
3672         maint.mk: prohibit common grammar error: "all these"
3673         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
3674         the list of prohibited word sequences.  It should be "all of these".
3675         * lib/tempname.c (__gen_tempname): Fix one of them.
3676
3677 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3678
3679         do-release-commit-and-tag: support VPATH builds
3680         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
3681         (noteworthy): Defined earlier to factor its value.
3682         (noteworthy_stub): New.
3683         Use it to factor.
3684         (help_version): Split into...
3685         (help, version): these.
3686         Adjust the option processing part.
3687         Support "--option=value" in addition to "--option value".
3688         (builddir): New.
3689         (--builddir): New option.
3690         * top/README-release: Document this.
3691         Reword slightly so that the reader cannot understand that he
3692         has to do these steps before calling do-release-commit-and-tag.
3693
3694 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3695
3696         readme-release: also require announce-gen and maintainer-makefile
3697         * modules/readme-release (Depends-on): here.
3698         * modules/announce-gen, modules/do-release-commit-and-tag,
3699         modules/gnu-web-doc-update, modules/maintainer-makefile
3700         (Description): Point to readme-release.
3701
3702 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3703
3704         maint.mk: fix VPATH issues.
3705         * top/maint.mk (news-check): GNU Make understand $< very well.
3706         (release-prep): NEWS is in $(srcdir).
3707
3708 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
3709
3710         readme-release: require the promoted modules.
3711         * modules/readme-release (Depends-on): Add
3712         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
3713         in this text.
3714
3715 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3716             Bruno Haible  <bruno@clisp.org>
3717
3718         error, strerror-override: Support mingw64 from Fedora 17.
3719         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
3720         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
3721         EINPROGRESS.
3722         * lib/strerror-override.h (strerror_override): Test it.
3723         * lib/strerror-override.c (strerror_override): Likewise.
3724         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
3725
3726 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3727             Bruno Haible  <bruno@clisp.org>
3728
3729         error, strerror-override: Support mingw64 from Fedora 17.
3730         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
3731         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
3732         * lib/strerror-override.h (strerror_override): Test it.
3733         * lib/strerror-override.c (strerror_override): Likewise.
3734
3735 2012-06-03  Bruno Haible  <bruno@clisp.org>
3736
3737         error, strerror-override: Support new errno values from POSIX:2008.
3738         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
3739         ENOTRECOVERABLE.
3740         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
3741         platforms.
3742         * lib/strerror-override.c (strerror_override): Conditionalize the
3743         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
3744         * lib/strerror-override.h (strerror_override): Declare also if
3745         GNULIB_defined_EOWNERDEAD is defined.
3746         * tests/test-errno.c (e130, e131): New variables.
3747         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
3748         ENOTRECOVERABLE.
3749         Reported by Paolo Bonzini.
3750
3751 2012-05-31  Jim Meyering  <meyering@redhat.com>
3752
3753         savewd: add missing dependency on sys_wait module
3754         * modules/savewd (Depends-on): Add sys_wait, needed at least
3755         for MSVC.  Report and suggested change by Michael Goffioul.
3756
3757 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3758
3759         system-quote-tests: port to CentOS 5
3760         Problem reported by Tom G. Christensen in
3761         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
3762         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
3763
3764 2012-05-29  Jim Meyering  <meyering@redhat.com>
3765
3766         maint: fix typos in comments and ChangeLog
3767         Culprits identified and fixed mostly automatically using these commands:
3768         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
3769         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
3770         using http://github.com/lyda/misspell-check
3771         * ChangeLog: Fix typos.
3772         * doc/solaris-versions: Likewise.
3773         * lib/regexec.c (re_search_stub): Likewise.
3774         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
3775
3776 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3777
3778         manywarnings: remove duplicate -Wmultichar entry
3779         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
3780         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
3781         so keep the entry marked as documented.
3782
3783 2012-05-27  Karl Berry  <karl@gnu.org>
3784
3785         * config/srclist.txt (mktime.c): remove last libc sync,
3786         perhaps just temporarily.
3787
3788 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
3789
3790         regex: don't assume uint64_t or uint32_t
3791         * lib/regcomp.c (init_word_char): Don't assume that the types
3792         uint64_t and uint32_t exist.  The C standard doesn't guarantee
3793         them, and on some 32-bit compilers there is no uint64_t.
3794         Problem reported by Gianluigi Tiesi in
3795         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
3796
3797 2012-05-25  Jim Meyering  <meyering@redhat.com>
3798
3799         maint.mk: add strncpy-prohibiting syntax-check rule
3800         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
3801
3802 2012-05-24  Jim Meyering  <meyering@redhat.com>
3803
3804         maint.mk: compute $(gpg_key_ID) more portably
3805         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
3806         That use of sed is not portable to some fringe systems.
3807         Reported by Paul Eggert in
3808         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
3809
3810 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3811
3812         mktime: sync from glibc
3813         * config/srclist.txt: Uncomment mktime.c.
3814         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
3815         First, indent with tabs, since glibc uses tabs and doesn't want to
3816         change and we'd rather be identical to glibc.  Also, two small
3817         coding changes:
3818         (isdst_differ): Use &&, not &, as && is the usual style.
3819         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
3820         for clarity.
3821
3822 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3823
3824         announce-gen: du -h is more portable than du --human
3825         * build-aux/announce-gen (sizes): Invoke du with -h instead
3826         of --human.  Accept leading white space in its output.
3827
3828 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3829
3830         announce-gen: Improve diagnostics.
3831         * build-aux/announce-gen: When parsing command line options,
3832         prefer "announce-gen: option --release-type requires an argument"
3833         to "Option release-type requires an argument".
3834
3835 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3836
3837         maint.mk: gpg_key_ID: use sed more portably
3838         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
3839         the closing brace.
3840         (refresh-po): Fuse two sed invocations into one.
3841
3842 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
3843
3844         gitlog-to-changelog: support the log message format used in Bison.
3845         * build-aux/gitlog-to-changelog: Support --strip-tab and
3846         --strip-cherry-picked.
3847
3848 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3849
3850         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
3851         the rest of the current time slice to another thread in the current
3852         process. So if the thread that feeds the file decscriptor we're
3853         polling is not in the current process, we get busy-waiting.
3854         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
3855         Patch from Theodore Leblond.
3856         * lib/select.c: Split polling out of the loop that sets the output
3857         fd_sets.  Check for zero result and loop if the wait timeout is
3858         infinite.
3859
3860 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3861
3862         select: Fix build error on IRIX 6.5.
3863         * lib/select.c: Include stddef.h for NULL.
3864
3865 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3866
3867         gc: fix libgcrypt detection on older machines.
3868         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
3869         copyright years because the file has been distributed every year
3870         since it was created.
3871
3872 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
3873
3874         crypto: fix bug in large buffer handling
3875         Problem reported by Serge Belyshev for glibc in
3876         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
3877         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
3878         * lib/md4.c (md4_process_block):
3879         * lib/md5.c (md5_process_block):
3880         * lib/sha1.c (sha1_process_block):
3881         * lib/sha256.c (sha256_process_block):
3882         Don't assume the buffer length is less than 2**32.
3883         * lib/sha512.c (sha512_process_block): Likewise.
3884         Here, the bug is present only in the rare case where the host does
3885         not support uint64_t or where size_t is wider than 64 bits.
3886         Use u64size to work around the problems.
3887         * lib/u64.h (u64size): New macro.
3888
3889 2012-05-15  Pádraig Brady  <P@draigBrady.com>
3890
3891         fsusage: fix block size returned on older Linux 2.6
3892
3893         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
3894         which is available since Linux 2.6.
3895         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
3896         when the member is available so it can be used as a fallback.
3897         * doc/posix-functions/statvfs.texi: Mention the hang issue
3898         on Linux < 2.6.36.
3899
3900 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
3901
3902         bootstrap: suppress stderr chatter
3903         * build-aux/bootstrap (insert_sorted_if_absent, main program):
3904         Omit unnecessary chatter to stderr.  The main program chatter
3905         was there only inadvertantly.
3906
3907         bootstrap: .gitignore files created by autopoint, libtool
3908         I ran into this problem when bootstrapping the latest diffutils.
3909         After './bootstrap', 'git status' reported lots of untracked files
3910         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
3911         autopoint and do not need to be version-controlled.
3912         * build-aux/bootstrap: Put into .gitignore the files that
3913         autopoint and libtool create, by keeping track of files that exist
3914         after but not before these programs are run.
3915         (version_controlled_file): Move up.  2nd arg is now full file
3916         name, not base name; this is more convenient.  Put CVS at the end,
3917         as it's now somewhat deprecated.
3918
3919 2012-05-14  Jim Meyering  <meyering@redhat.com>
3920
3921         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
3922         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
3923         definition.  Reported by Bruno Haible.
3924
3925 2012-05-13  Bruno Haible  <bruno@clisp.org>
3926             Paul Eggert  <eggert@cs.ucla.edu>
3927
3928         binary-io: Define set_binary_mode function.
3929         * lib/binary-io.h (set_binary_mode): New function.
3930         (SET_BINARY): Define in terms of set_binary_mode.
3931         * modules/binary-io (configure.ac): Require AC_C_INLINE.
3932         * tests/test-binary-io.c (main): Accept an argument, and test either
3933         set_binary_mode or SET_BINARY depending on the argument.
3934         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
3935         argument. Clean up also t-bin-out0.tmp.
3936
3937 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3938
3939         bootstrap: take advantage of POSIX shell features
3940
3941         The 'bootstrap' script offered by Gnulib script already uses POSIX
3942         shell features (like $((...)) arithmetic expansions) that are not
3943         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
3944         means that bootstrap must already be run using a proper POSIX shell,
3945         which will thus provide more features, like ${var#pattern} parameter
3946         expansion or inversion of a command exit status with '!'.  We can
3947         thus use these features to improve the clarity and the performances
3948         of the bootstrap script.
3949
3950         Suggested by Eric Blake.
3951
3952         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
3953         of sed/expr plus command substitutions, to save some forks.  While
3954         we are at it, prefer the POSIX $(...) form of command substitution,
3955         rather than the legacy form `...` (since the former is visually
3956         clearer and interacts better with quoting), and prefer the idiom:
3957           "if ! CMD; then ACTION ..."
3958         over the idiom:
3959           "if CMD; then :; else ACTION ..."
3960         which was required by legacy Bourne shells not supporting '!'.
3961
3962 2012-05-12  Bruno Haible  <bruno@clisp.org>
3963
3964         system-quote: Add more comments.
3965         * lib/system-quote.h: Add more comments about wilcards and limitations.
3966         Suggested by Eli Zaretskii <eliz@gnu.org>.
3967
3968         sh-quote, system-quote: Add comments about wildcards.
3969         * lib/sh-quote.h: Clarify what happens with wildcard characters.
3970         * lib/system-quote.h: Likewise.
3971         Reported by Eli Zaretskii <eliz@gnu.org>.
3972
3973 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
3974
3975         fsusage: check for GNU/Linux statvfs problem dynamically
3976         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
3977         Define STAT_STATFS2_BSIZE too, since in this case the code now
3978         checks dynamically whether statvfs is reliable, falling back on
3979         Linux-style statfs otherwise.
3980         (statvfs_works): New function, for dynamically testing statvfs.
3981         (get_fs_usage) [STAT_STATVFS]: Use it.
3982         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
3983         statvfs on GNU/Linux hosts, since it's now done dynamically.
3984
3985 2012-05-10  Bruno Haible  <bruno@clisp.org>
3986
3987         system-quote, execute, spawn-pipe: Escape '?' on Windows.
3988         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
3989         '?' character.
3990         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
3991         * tests/test-system-quote-main.c (check_all): Check also strings like
3992         "??????????".
3993         Reported by Eli Zaretskii <eliz@gnu.org>.
3994
3995 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
3996
3997         _Noreturn: port config.h to gcc -Wundef
3998         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
3999         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
4000         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
4001
4002 2012-05-10  Bruno Haible  <bruno@clisp.org>
4003
4004         system-quote: Refactor.
4005         * lib/system-quote.h (system_quote_copy): Fix comment.
4006         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
4007         New functions, extracted from system_quote_copy.
4008         (system_quote_length, system_quote_copy): Use these functions.
4009         Reported by Paul Eggert.
4010
4011 2012-05-08  Bruno Haible  <bruno@clisp.org>
4012
4013         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
4014         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
4015
4016 2012-05-08  Bruno Haible  <bruno@clisp.org>
4017
4018         Tests for module 'system-quote'.
4019         * modules/system-quote-tests: New file.
4020         * tests/test-system-quote.sh: New file.
4021         * tests/test-system-quote-main.c: New file.
4022         * tests/test-system-quote-child.c: New file.
4023
4024         New module 'system-quote'.
4025         * lib/system-quote.h: New file.
4026         * lib/system-quote.c: New file.
4027         * modules/system-quote: New file.
4028
4029 2012-05-08  Bruno Haible  <bruno@clisp.org>
4030
4031         sh-quote: Make C++ safe and allow multiple inclusion.
4032         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
4033         declarations in extern "C".
4034
4035 2012-05-08  Bruno Haible  <bruno@clisp.org>
4036
4037         sh-quote tests: Make tests stricter.
4038         * tests/test-sh-quote.c (check_one): Check the return value of
4039         shell_quote_copy.
4040         (main): Check a string with a CR character. Check a string that
4041         contains UCHAR_MAX.
4042
4043 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
4044
4045         warnings.m4: provide a means to specify the program to compile.
4046         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
4047         (gl_WARN_ADD): here.
4048         Use gl_AS_VAR_APPEND.
4049         Support an argument to specify the program to compile.
4050         (gl_WARN_ADD): Accept an argument to specify the program to compile.
4051         AC_SUBST the WARN_CFLAGS when they are used.
4052         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
4053         leave this to gl_WARN_ADD.
4054
4055 2012-05-08  Eric Blake  <eblake@redhat.com>
4056
4057         doc: recommendations on gettext version
4058         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
4059         choice between versions.
4060         * DEPENDENCIES (gettext): Cover both approaches.
4061
4062 2012-05-08  Jim Meyering  <meyering@redhat.com>
4063
4064         init.sh: explain why EXEEXT support uses aliases rather than functions
4065         * tests/init.sh: Add a comment.
4066
4067         init.sh: don't let bash aliases interfere with tests
4068         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
4069         is bash.  This avoids problems for those who alias standard commands to
4070         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
4071         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
4072
4073 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
4074
4075         stdint: be more consistent with glibc, SunOS libc
4076         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
4077         (gl_int_fast16_t, gl_uint_fast16_t)
4078         (gl_int_fast32_t, gl_uint_fast32_t)
4079         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
4080         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
4081         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
4082         Be consistent with glibc by default, and with SunOS 5.10 and later
4083         if __sun is defined.  This lessens the likelihood of clashes if
4084         code compiled for older hosts is combined with code compiled for
4085         newer ones.  Problem reported by Niels Möller in
4086         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
4087
4088 2012-05-07  Eric Blake  <eblake@redhat.com>
4089
4090         isatty: relax license to LGPLv2+
4091         * modules/isatty (License): Relax license.
4092
4093 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4094
4095         stat-size: comment fix
4096         * lib/stat-size.h: Remove obsolete comment about indenting.
4097
4098 2012-05-06  Bruno Haible  <bruno@clisp.org>
4099
4100         Tests for module 'sh-quote'.
4101         * modules/sh-quote-tests: New file.
4102         * tests/test-sh-quote.c: New file.
4103
4104 2012-05-06  Bruno Haible  <bruno@clisp.org>
4105
4106         sh-quote: Improve shell_quote_argv's signature.
4107         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
4108         * lib/sh-quote.c (shell_quote_argv): Likewise.
4109
4110 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4111
4112         stdint: document issues with int_fast8_t etc.
4113         * doc/posix-headers/stdint.texi (stdint.h): Say that other
4114         stdint.h substitutes may define these types differently.  See
4115         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
4116
4117 2012-05-05  Bruno Haible  <bruno@clisp.org>
4118
4119         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
4120         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
4121         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
4122         or 'guessing no (mishandles large arguments)'.
4123
4124 2012-05-05  Bruno Haible  <bruno@clisp.org>
4125
4126         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
4127         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
4128         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4129         set gl_cv_func_link_follows_symlink to "guessing no".
4130
4131 2012-05-05  Bruno Haible  <bruno@clisp.org>
4132
4133         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
4134         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
4135         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
4136         "guessing no".
4137         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
4138
4139 2012-05-05  Bruno Haible  <bruno@clisp.org>
4140
4141         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
4142         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
4143         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4144         set gl_cv_struct_dirent_d_ino to "guessing yes".
4145
4146 2012-05-05  Bruno Haible  <bruno@clisp.org>
4147
4148         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
4149         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
4150         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
4151         "guessing yes".
4152
4153 2012-05-05  Bruno Haible  <bruno@clisp.org>
4154
4155         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
4156         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
4157         compiling to a glibc system, set gl_cv_func_signbit and
4158         gl_cv_func_signbit_gcc to "guessing yes".
4159
4160 2012-05-05  Bruno Haible  <bruno@clisp.org>
4161
4162         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
4163         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
4164         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
4165         to "guessing yes".
4166         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
4167         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
4168
4169 2012-05-05  Bruno Haible  <bruno@clisp.org>
4170
4171         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
4172         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
4173         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
4174         gl_cv_func_realpath_works to "guessing yes".
4175
4176 2012-05-05  Bruno Haible  <bruno@clisp.org>
4177
4178         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
4179         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
4180         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
4181
4182 2012-05-04  Bruno Haible  <bruno@clisp.org>
4183
4184         Tweak last commit.
4185         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
4186         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4187
4188 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
4189
4190         unistd_h: make it easier to avoid sys_types_h
4191         This is useful for Emacs, which has its own method of porting to
4192         Windows, and which therefore does not need the sys_types_h module.
4193         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
4194         code moved here from gl_SYS_TYPES_H.
4195         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
4196         using the code directly.
4197         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
4198         gl_SYS_TYPES_H.
4199         * modules/sys_types (Files):
4200         * modules/unistd (Files): Add m4/off_t.m4.
4201
4202 2012-05-03  Bruno Haible  <bruno@clisp.org>
4203
4204         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
4205         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
4206         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
4207         "guessing yes" or "guessing no".
4208         (gl_FUNC_LSTAT): Update.
4209         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
4210         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
4211         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
4212
4213 2012-05-03  Bruno Haible  <bruno@clisp.org>
4214
4215         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
4216         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
4217         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
4218         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
4219         cross-compiling, choose the first alternative on glibc systems.
4220         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
4221
4222 2012-05-03  Bruno Haible  <bruno@clisp.org>
4223
4224         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
4225         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
4226         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
4227
4228 2012-05-03  Bruno Haible  <bruno@clisp.org>
4229
4230         chown: Avoid "guessing no" when cross-compiling to glibc systems.
4231         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
4232
4233 2012-05-03  Bruno Haible  <bruno@clisp.org>
4234
4235         Avoid "guessing no" guesses when cross-compiling to glibc systems.
4236         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
4237         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
4238         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
4239         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
4240         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
4241         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
4242         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
4243         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
4244         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
4245         compiling to glibc systems, set gl_cv_func_chown_slash_works,
4246         gl_cv_func_chown_ctime_works to "guessing yes".
4247         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
4248         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
4249         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
4250         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
4251         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
4252         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
4253         compiling to glibc systems, set gl_cv_func_open_directory_works to
4254         "guessing yes".
4255         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
4256         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
4257         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
4258         "guessing yes".
4259         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
4260         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
4261         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
4262         compiling to glibc systems, set gl_cv_func_floorf_ieee to
4263         "guessing yes".
4264         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
4265         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
4266         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
4267         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
4268         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
4269         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
4270         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
4271         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
4272         "guessing yes".
4273         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
4274         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
4275         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
4276         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
4277         "guessing yes".
4278         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
4279         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
4280         "guessing yes".
4281         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
4282         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
4283         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
4284         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
4285         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
4286         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
4287         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
4288         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
4289         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
4290         compiling to glibc systems, set gl_cv_func_log10f_ieee to
4291         "guessing yes".
4292         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
4293         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
4294         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
4295         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
4296         "guessing yes".
4297         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
4298         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
4299         "guessing yes".
4300         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
4301         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
4302         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
4303         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
4304         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
4305         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
4306         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
4307         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
4308         compiling to glibc systems, set gl_cv_func_mkfifo_works to
4309         "guessing yes".
4310         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
4311         compiling to glibc systems, set gl_cv_func_mknod_works to
4312         "guessing yes".
4313         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
4314         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
4315         "guessing yes".
4316         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
4317         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
4318         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
4319         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
4320         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
4321         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
4322         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
4323         compiling to glibc systems, set gl_cv_func_svid_putenv to
4324         "guessing yes".
4325         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
4326         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
4327         "guessing yes".
4328         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
4329         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
4330         "guessing yes".
4331         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
4332         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
4333         to "guessing yes".
4334         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
4335         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
4336         to "guessing yes".
4337         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
4338         compiling to glibc systems, set gl_cv_func_rmdir_works to
4339         "guessing yes".
4340         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
4341         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
4342         gl_cv_func_unlink_parent_fails to "guessing yes".
4343         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
4344         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
4345         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
4346         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
4347         gl_cv_func_rename_dest_works to "guessing yes".
4348         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
4349         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
4350         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
4351         compiling to glibc systems, set gl_cv_func_roundf_ieee to
4352         "guessing yes".
4353         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
4354         compiling to glibc systems, set gl_cv_func_roundl_ieee to
4355         "guessing yes".
4356         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
4357         compiling to glibc systems, set gl_cv_func_setenv_works to
4358         "guessing yes".
4359         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
4360         compiling to glibc systems, set gl_cv_func_unsetenv_works to
4361         "guessing yes".
4362         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
4363         compiling to glibc systems, set gl_cv_func_sleep_works to
4364         "guessing yes".
4365         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
4366         compiling to glibc systems, set gl_cv_func_stat_file_slash to
4367         "guessing yes".
4368         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
4369         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
4370         "guessing yes".
4371         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
4372         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
4373         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
4374         compiling to glibc systems, set gl_cv_func_truncf_ieee to
4375         "guessing yes".
4376         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
4377         compiling to glibc systems, set gl_cv_func_truncl_ieee to
4378         "guessing yes".
4379         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
4380         compiling to glibc systems, set gl_cv_func_usleep_works to
4381         "guessing yes".
4382         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
4383         compiling to glibc systems, set gl_cv_func_futimesat_works to
4384         "guessing yes".
4385
4386 2012-05-03  Bruno Haible  <bruno@clisp.org>
4387
4388         Say "guessing yes" or "guessing no" when cross-compiling.
4389         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
4390         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
4391         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
4392         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
4393         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
4394         am_cv_func_working_getline to "guessing yes" or "guessing no".
4395         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
4396         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
4397         (gl_FUNC_MEMMEM): When cross-compiling, set
4398         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
4399         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
4400         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
4401         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
4402         set gl_cv_func_strcasestr_works_always to "guessing yes" or
4403         "guessing no".
4404         (gl_FUNC_STRCASESTR): When cross-compiling, set
4405         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
4406         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
4407         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
4408         (gl_FUNC_STRSTR): When cross-compiling, set
4409         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
4410         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
4411         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
4412         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
4413         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
4414
4415 2012-05-01  Bruno Haible  <bruno@clisp.org>
4416
4417         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
4418         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
4419         * build-aux/reloc-ldflags: Likewise.
4420         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
4421
4422 2012-05-01  Bruno Haible  <bruno@clisp.org>
4423
4424         gnulib-tool: Remove transitional code.
4425         * gnulib-tool: Don't warn about --import with 0 arguments any more.
4426         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
4427
4428 2012-05-01  Bruno Haible  <bruno@clisp.org>
4429
4430         getcwd: Fix misindentation.
4431         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
4432
4433 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4434
4435         exclude: process exclude and include directives in order
4436         This restores the pre-2009 behavior, and is part of a fix of a
4437         grep bug reported by Quentin Arce in
4438         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
4439         * lib/exclude.c (struct exclude): Remove 'tail' member.
4440         (new_exclude_segment): Prepend the new segment instead of appending.
4441         Return void, since that's now more convenient.
4442         (file_pattern_matches): Renamed from excluded_file_pattern_p.
4443         (file_name_matches): Renamed from excluded_file_name_p.
4444         (file_pattern_matches, file_name_matches):
4445         Return true if the pattern matches, not if it excludes.
4446         All callers changed.
4447         (excluded_file_name): Process the list in reverse order;
4448         since the list is now reversed this restores the pre-2009 behavior.
4449         (add_exclude): Adjust to new reversed-order list.  Use local var
4450         rather than macro, for clarity.
4451         * tests/test-exclude7.sh: Adjust to corrected behavior.
4452
4453         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
4454         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
4455         it's not possible here.  Handle the case of \ at end of pattern
4456         without dumping core.
4457         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
4458
4459         _Noreturn: future-proof non-GNU and non-MSVC compilers
4460         * build-aux/snippet/_Noreturn.h (_Noreturn):
4461         * m4/gnulib-common.m4 (gl_COMMON_BODY):
4462         Do not define _Noreturn if __STDC_VERSION__ indicates this is
4463         C11 or later.  This is more likely to work with random future C
4464         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
4465         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
4466
4467         exclude: handle wildcards with FNM_EXTMATCH
4468         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
4469         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
4470         comment that "has wildcards" really means "has or may have
4471         wildcards".  Simplify by avoiding the need to call strcspn.
4472
4473 2012-04-29  Bruno Haible  <bruno@clisp.org>
4474
4475         gnulib-tool: Fix list of authors.
4476         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
4477
4478 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4479
4480         bootstrap: support Automake-NG in $buildreq
4481         * bootstrap (check_versions): Handle automake and aclocal from
4482         Automake-NG specially.  They can be specified as respectively
4483         the "automake-ng" and "aclocal-ng" requirements.
4484
4485 2012-04-25  Eric Blake  <eblake@redhat.com>
4486
4487         bootstrap: only force latest Makefile.in.in for gettext module
4488         * build-aux/bootstrap (with_gettext): Only install latest
4489         Makefile.in.in for projects requesting bleeding edge gettext.
4490
4491 2012-04-22  Bruno Haible  <bruno@clisp.org>
4492
4493         doc: Mention reason for replacement on glibc/Linux systems.
4494         * doc/posix-functions/dprintf.texi: Mention the problem with special
4495         'long double' values.
4496         * doc/posix-functions/fprintf.texi: Likewise.
4497         * doc/posix-functions/printf.texi: Likewise.
4498         * doc/posix-functions/snprintf.texi: Likewise.
4499         * doc/posix-functions/sprintf.texi: Likewise.
4500         * doc/posix-functions/vdprintf.texi: Likewise.
4501         * doc/posix-functions/vfprintf.texi: Likewise.
4502         * doc/posix-functions/vprintf.texi: Likewise.
4503         * doc/posix-functions/vsnprintf.texi: Likewise.
4504         * doc/posix-functions/vsprintf.texi: Likewise.
4505         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
4506         platforms with F_DUPFD_CLOEXEC problems.
4507         * doc/posix-functions/glob.texi: Mention which platforms are affected
4508         by the problem with symbolic links.
4509         * doc/posix-functions/linkat.texi: Mention the problem with
4510         AT_SYMLINK_FOLLOW on Linux.
4511
4512 2012-04-22  Bruno Haible  <bruno@clisp.org>
4513
4514         pwrite: Don't replace on all platforms.
4515         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
4516
4517 2012-04-22  Bruno Haible  <bruno@clisp.org>
4518
4519         rint* tests: Avoid gcc warnings.
4520         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
4521         * tests/test-rintf.c (INFINITY, NAN): Likewise.
4522         * tests/test-rintl.c (INFINITY, NAN): Likewise.
4523
4524 2012-04-21  Bruno Haible  <bruno@clisp.org>
4525
4526         users.txt: Update.
4527         * users.txt: Add freedink, wdiff. Update URLs for projects that have
4528         switched from CVS to git, bzr, or svn.
4529
4530 2012-04-21  Bruno Haible  <bruno@clisp.org>
4531
4532         Large File Support for native Windows platforms.
4533
4534         * m4/largefile.m4 (gl_LARGEFILE): New macro.
4535         * modules/largefile (configure.ac): Require gl_LARGEFILE.
4536
4537         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
4538         type.
4539         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
4540         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
4541         * doc/posix-headers/sys_types.texi: Mention the effect of the
4542         'largefile' module.
4543
4544         * lib/fcntl.in.h: Add comments about off_t.
4545         * modules/fcntl-h (Depends-on): Add sys_types.
4546
4547         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
4548         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
4549         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
4550         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
4551         * modules/unistd (Depends-on): Add sys_types.
4552         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
4553
4554         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
4555         instead of lseek.
4556         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
4557         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
4558         * modules/lseek (Depends-on): Add sys_types.
4559
4560         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
4561         msvc-nothrow.h.
4562         (SetFileSize): New function.
4563         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
4564         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
4565         if Large File Support is requested.
4566         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
4567         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
4568
4569         * lib/stdio.in.h: Add comments about off_t.
4570         * modules/stdio (Depends-on): Add sys_types.
4571
4572         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
4573         instead of ftello.
4574         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
4575         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
4576         (gl_PREREQ_FTELLO): New macro.
4577         * modules/ftello (Depends-on): Add sys_types.
4578         (configure.ac): Incoke gl_PREREQ_FTELLO.
4579
4580         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
4581         instead of fseeko.
4582         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
4583         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
4584         (gl_PREREQ_FSEEKO): New macro.
4585         * modules/fseeko (Depends-on): Add sys_types.
4586         (configure.ac): Invoke gl_PREREQ_FSEEKO.
4587
4588         * lib/sys_stat.in.h: Add comments about off_t.
4589         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
4590         64-bit integer for st_size in 'struct stat'.
4591         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
4592         Define _GL_WINDOWS_64_BIT_ST_SIZE.
4593         * modules/sys_stat (Depends-on): Add sys_types.
4594         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
4595
4596         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
4597         instead of stat or _stat.
4598
4599         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
4600         'struct _stati64' instead of fstat and 'struct stat'.
4601         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
4602         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
4603
4604         Reported by Ray Satiro <raysatiro@yahoo.com>.
4605
4606 2012-04-19  Eric Blake  <eblake@redhat.com>
4607
4608         bootstrap: accommodate older libtool
4609         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
4610         Reported by Daniel P. Berrange.
4611
4612 2012-04-19  Jim Meyering  <meyering@redhat.com>
4613
4614         announce-gen: avoid failure due to lack of Digest::SHA1
4615         Even with the preferred Digest::SHA available, this script
4616         would fail when the backup module, Digest::SHA1, was not installed.
4617         * build-aux/announce-gen: Quote the conditional use of "use".
4618         Reported by Reuben Thomas in:
4619         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
4620
4621         bootstrap: don't let a user's CDPATH setting affect this script
4622         When CDPATH is set, cd will sometimes generate output.
4623         When "cd" is run in a subshell whose output matters, that
4624         surprising-to-some output can cause malfunction.
4625         Unsetting CDPATH turns off this shell "feature."
4626         * build-aux/bootstrap (CDPATH): Unset.
4627         Reported by Reuben Thomas in:
4628         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
4629         and inspired by his patch here:
4630         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
4631
4632 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
4633         and Jim Meyering  <meyering@redhat.com>
4634
4635         maint.mk: catch "see @xref{}" and similar
4636         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
4637         prohibit "See also @xref{", "Also see @pxref{", and similar.
4638
4639 2012-04-16  Jim Meyering  <meyering@redhat.com>
4640
4641         bootstrap: really use gnulib's po/Makefile.in.in
4642         * build-aux/bootstrap: Correct the source file name in previous change.
4643         Reported by Akim Demaille.
4644
4645         configmake: correct minor inconsistency in Makefile rule
4646         * modules/configmake (Makefile.am): All other rules like this one
4647         run the final "mv -f ..." in the same backslash-continued command
4648         as the one that does everything else.  This one put the mv -f ...
4649         command on a separate, non-backslash-continued line.
4650         Make it like the others.
4651
4652         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
4653         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
4654         the one from gettext.  Reported by Akim Demaille.
4655
4656 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
4657
4658         Fix recursion of install-* into po directories.
4659         Bison's install-pdf bug reported by Hans Aberg at
4660         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
4661         * build-aux/po/Makefile.in.in (install-dvi, install-html)
4662         (install-info, install-pdf, install-ps): New targets.
4663
4664 2012-04-16  Jim Meyering  <meyering@redhat.com>
4665
4666         maint: avoid spurious "make sc_maint" failure
4667         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
4668         exempt all *.class file names, for lib/javaversion.class.
4669
4670 2012-04-15  Bruno Haible  <bruno@clisp.org>
4671
4672         lseek: Make configure test independent of environment.
4673         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
4674         Windows, we know that lseek() on pipes is broken; skip the runtime
4675         test.
4676
4677 2012-04-14  Bruno Haible  <bruno@clisp.org>
4678
4679         stat: Bypass buggy override in mingw64.
4680         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
4681         * lib/stat.c (stat) [mingw64]: Define to _stat.
4682         * doc/posix-functions/stat.texi: Mention mingw64 bug.
4683
4684 2012-04-14  Bruno Haible  <bruno@clisp.org>
4685
4686         pathmax: Fix compilation error on MSVC 9.
4687         * modules/pathmax (Depends-on): Add unistd.
4688
4689 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
4690
4691         README: document pointer comparison assumption
4692         * README (Portability guidelines): Document assumption about
4693         pointer comparisons, in response to a recent bug-gnulib comment by
4694         Jeffrey Kegler.
4695
4696 2012-04-12  Bruno Haible  <bruno@clisp.org>
4697
4698         Tests for module 'getrusage'.
4699         * modules/getrusage-tests: New file.
4700         * tests/test-getrusage.c: New file.
4701
4702         New module 'getrusage'.
4703         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
4704         warn-on-use.h.
4705         (getrusage): New declaration.
4706         * lib/getrusage.c: New file.
4707         * m4/getrusage.m4: New file.
4708         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
4709         is declared.
4710         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
4711         HAVE_GETRUSAGE.
4712         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
4713         snippet/c++defs, snippet/warn-on-use.
4714         (Makefile.am): Update generation of sys/resource.h. Substitute
4715         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
4716         * modules/getrusage: New file.
4717         * doc/posix-functions/getrusage.texi: Mention the new module.
4718
4719 2012-04-12  Bruno Haible  <bruno@clisp.org>
4720
4721         Tests for module 'sys_resource'.
4722         * modules/sys_resource-tests: New file.
4723         * tests/test-sys_resource.c: New file.
4724
4725         New module 'sys_resource'.
4726         * lib/sys_resource.in.h: New file.
4727         * m4/sys_resource_h.m4: New file.
4728         * modules/sys_resource: New file.
4729         * doc/posix-headers/sys_resource.texi: Mention the new module.
4730
4731 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
4732
4733         ioctl: Fix compilation error on mingw.
4734         * lib/ioctl.c: Include <windows.h>.
4735         Also reported by Ray Satiro <raysatiro@yahoo.com>.
4736
4737 2012-04-04  Jim Meyering  <meyering@redhat.com>
4738
4739         regex: correct #pragma guard expression
4740         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
4741         not 4.3.  Correct its cpp guard expression.
4742
4743 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
4744
4745         regex: remove unnecessary type punning
4746         Problem reported by Vladimir Serbinenko in
4747         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
4748         * lib/regex.h (struct re_pattern_buffer): Change the type of
4749         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
4750         Fix comment to match code.
4751         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
4752         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
4753         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
4754         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
4755         (set_regs):
4756         Omit no-longer-necessary casts.
4757
4758 2012-04-03  Bruno Haible  <bruno@clisp.org>
4759
4760         Tests for module 'ilogbl'.
4761         * modules/ilogbl-tests: New file.
4762         * tests/test-ilogbl.c: New file.
4763
4764         New module 'ilogbl'.
4765         * lib/math.in.h (ilogbl): New declaration.
4766         * lib/ilogbl.c: New file.
4767         * m4/ilogbl.m4: New file.
4768         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
4769         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
4770         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
4771         Split sed invocation, to avoid the limit of 100 substitutions of
4772         HP-UX 'sed'.
4773         * modules/ilogbl: New file.
4774         * tests/test-math-c++.cc: Check the declaration of ilogbl.
4775         * doc/posix-functions/ilogbl.texi: Mention the new module.
4776
4777 2012-04-03  Bruno Haible  <bruno@clisp.org>
4778
4779         Tests for module 'ilogbf'.
4780         * modules/ilogbf-tests: New file.
4781         * tests/test-ilogbf.c: New file.
4782
4783         New module 'ilogbf'.
4784         * lib/math.in.h (ilogbf): New declaration.
4785         * lib/ilogbf.c: New file.
4786         * m4/ilogbf.m4: New file.
4787         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
4788         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
4789         REPLACE_ILOGBF.
4790         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
4791         REPLACE_ILOGBF.
4792         * modules/ilogbf: New file.
4793         * tests/test-math-c++.cc: Check the declaration of ilogbf.
4794         * doc/posix-functions/ilogbf.texi: Mention the new module.
4795
4796 2012-04-03  Bruno Haible  <bruno@clisp.org>
4797
4798         Tests for module 'ilogb'.
4799         * modules/ilogb-tests: New file.
4800         * tests/test-ilogb.c: New file.
4801         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
4802         tests/test-logb-ieee.h.
4803
4804         New module 'ilogb'.
4805         * lib/math.in.h (ilogb): New declaration.
4806         * lib/ilogb.c: New file.
4807         * m4/ilogb.m4: New file.
4808         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
4809         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
4810         REPLACE_ILOGB.
4811         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
4812         REPLACE_ILOGB.
4813         * modules/ilogb: New file.
4814         * tests/test-math-c++.cc: Check the declaration of ilogb.
4815         * doc/posix-functions/ilogb.texi: Mention the new module.
4816
4817 2012-04-03  Bruno Haible  <bruno@clisp.org>
4818
4819         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
4820         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
4821         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
4822         (main): Check their values.
4823         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
4824         problem.
4825
4826 2012-04-03  Bruno Haible  <bruno@clisp.org>
4827
4828         Tests for module 'logbl-ieee'.
4829         * modules/logbl-ieee-tests: New file.
4830         * tests/test-logbl-ieee.c: New file.
4831
4832         New module 'logbl-ieee'.
4833         * modules/logbl-ieee: New file.
4834
4835         Tests for module 'logb-ieee'.
4836         * modules/logb-ieee-tests: New file.
4837         * tests/test-logb-ieee.c: New file.
4838
4839         New module 'logb-ieee'.
4840         * modules/logb-ieee: New file.
4841
4842         Tests for module 'logbf-ieee'.
4843         * modules/logbf-ieee-tests: New file.
4844         * tests/test-logbf-ieee.c: New file.
4845         * tests/test-logb-ieee.h: New file.
4846
4847         New module 'logbf-ieee'.
4848         * modules/logbf-ieee: New file.
4849
4850 2012-04-03  Bruno Haible  <bruno@clisp.org>
4851
4852         Tests for module 'logbl'.
4853         * modules/logbl-tests: New file.
4854         * tests/test-logbl.c: New file.
4855
4856         New module 'logbl'.
4857         * lib/math.in.h (logbl): New declaration.
4858         * lib/logbl.c: New file.
4859         * m4/logbl.m4: New file.
4860         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
4861         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
4862         REPLACE_LOGBL.
4863         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
4864         REPLACE_LOGBL.
4865         * modules/logbl: New file.
4866         * tests/test-math-c++.cc: Check the declaration of logbl.
4867         * doc/posix-functions/logbl.texi: Mention the new module.
4868
4869 2012-04-02  Bruno Haible  <bruno@clisp.org>
4870
4871         Tests for module 'logbf'.
4872         * modules/logbf-tests: New file.
4873         * tests/test-logbf.c: New file.
4874
4875         New module 'logbf'.
4876         * lib/math.in.h (logbf): New declaration.
4877         * lib/logbf.c: New file.
4878         * m4/logbf.m4: New file.
4879         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
4880         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
4881         REPLACE_LOGBF.
4882         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
4883         REPLACE_LOGBF.
4884         * modules/logbf: New file.
4885         * tests/test-math-c++.cc: Check the declaration of logbf.
4886         * doc/posix-functions/logbf.texi: Mention the new module.
4887
4888 2012-04-02  Bruno Haible  <bruno@clisp.org>
4889
4890         logb tests: More tests.
4891         * tests/test-logb.h: New file, based on tests/test-logb.c and
4892         tests/test-frexp.h.
4893         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
4894         (main): Just invoke test_function.
4895         * modules/logb-tests (Files): Add tests/test-logb.h,
4896         tests/minus-zero.h, tests/randomd.c.
4897         (Makefile.am): Add randomd.c to test_logb_SOURCES.
4898
4899         logb: Provide replacement and workarounds.
4900         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
4901         is 1.
4902         * lib/logb.c: New file.
4903         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
4904         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
4905         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
4906         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
4907         * modules/logb (Files): Add lib/logb.c.
4908         (Depends-on): Add isfinite, frexp, isnand.
4909         (configure.ac): Compile the replacement code logb.c if needed.
4910         * tests/test-math-c++.cc: Check the declaration of logb.
4911         * doc/posix-functions/logb.texi: Mention the replacement and the bug
4912         with subnormal numbers.
4913
4914 2012-04-02  Bruno Haible  <bruno@clisp.org>
4915
4916         log10* tests: Speed up.
4917         * tests/test-log10.h (test_function): Reduce amount of random numbers
4918         to test.
4919
4920 2012-04-01  Bruno Haible  <bruno@clisp.org>
4921
4922         logf-ieee: Fix test whether logf works.
4923         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
4924
4925 2012-04-01  Bruno Haible  <bruno@clisp.org>
4926
4927         log10l: Work around log10l-ieee test failure on IRIX 6.5.
4928         * lib/log10l.c: Include <float.h>
4929         (log10l): On IRIX, normalize the +Infinity value.
4930         * modules/log10l (Depends-on): Add 'float'.
4931         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
4932         +Infinity.
4933
4934         log10f-ieee: Work around test failure on NetBSD 5.1.
4935         * m4/log10f-ieee.m4: New file.
4936         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
4937         test whether log10f works with a negative argument. Replace it if not.
4938         * lib/log10f.c (log10f): For negative arguments, return NaN.
4939         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
4940         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
4941         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
4942
4943         log10f-ieee: Work around test failure on Solaris 9.
4944         * modules/log10f-ieee (Depends-on): Add log10-ieee.
4945         (configure.ac): Require gl_FUNC_LOG10F.
4946
4947         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
4948         * m4/log10-ieee.m4: New file.
4949         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
4950         whether log10 works with a negative argument. Replace it if not.
4951         * lib/log10.c (log10): For negative arguments, return NaN.
4952         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
4953         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
4954         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
4955
4956         Tests for module 'log10l-ieee'.
4957         * modules/log10l-ieee-tests: New file.
4958         * tests/test-log10l-ieee.c: New file.
4959
4960         New module 'log10l-ieee'.
4961         * modules/log10l-ieee: New file.
4962
4963         Tests for module 'log10-ieee'.
4964         * modules/log10-ieee-tests: New file.
4965         * tests/test-log10-ieee.c: New file.
4966
4967         New module 'log10-ieee'.
4968         * modules/log10-ieee: New file.
4969
4970         Tests for module 'log10f-ieee'.
4971         * modules/log10f-ieee-tests: New file.
4972         * tests/test-log10f-ieee.c: New file.
4973         * tests/test-log10-ieee.h: New file.
4974
4975         New module 'log10f-ieee'.
4976         * modules/log10f-ieee: New file.
4977
4978 2012-04-01  Bruno Haible  <bruno@clisp.org>
4979
4980         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
4981         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
4982         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
4983         workaround.
4984         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
4985         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
4986         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
4987         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
4988         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
4989         (Depends-on): Update conditions.
4990         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
4991         IRIX 6.5, OSF/1 5.1 problems.
4992
4993 2012-04-01  Bruno Haible  <bruno@clisp.org>
4994
4995         log10f: Work around OSF/1 5.1 bug.
4996         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
4997         * lib/log10f.c (log10f): If logf exists, use it and provide just the
4998         workaround.
4999         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
5000         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
5001         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
5002         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
5003         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
5004         (Depends-on): Update conditions.
5005         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
5006
5007 2012-04-01  Bruno Haible  <bruno@clisp.org>
5008
5009         log10: Work around OSF/1 5.1 bug.
5010         * lib/math.in.h (log10): New declaration.
5011         * lib/log10.c: New file.
5012         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
5013         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
5014         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
5015         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
5016         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
5017         * modules/log10 (Files): Add lib/log10.c.
5018         (Depends-on): Add math.
5019         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
5020         * tests/test-math-c++.cc: Check the declaration of log10.
5021         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
5022
5023 2012-03-31  Bruno Haible  <bruno@clisp.org>
5024
5025         log10l tests: More tests.
5026         * modules/log10l-tests (Files): Add tests/test-log10l.h,
5027         tests/minus-zero.h, tests/randoml.c.
5028         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
5029         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
5030         (main): Invoke test_function.
5031
5032         log10f tests: More tests.
5033         * modules/log10f-tests (Files): Add tests/test-log10.h,
5034         tests/minus-zero.h, tests/randomf.c.
5035         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
5036         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
5037         (main): Invoke test_function.
5038
5039         log10 tests: More tests.
5040         * tests/test-log10.h: New file.
5041         * modules/log10-tests (Files): Add tests/test-log10.h,
5042         tests/minus-zero.h, tests/randomd.c.
5043         (Makefile.am): Add randomd.c to test_log10_SOURCES.
5044         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
5045         (main): Invoke test_function.
5046
5047 2012-03-31  Simon Josefsson  <simon@josefsson.org>
5048
5049         fflush: Fix syntax error.
5050         * lib/fflush.c: Include unused-parameter.h, needed for
5051         _GL_UNUSED_PARAMETER.
5052         * modules/fflush (Depends-on): Add snippet/unused-parameter.
5053
5054 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
5055
5056         regex: pacify GCC when compiling GRUB
5057         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
5058         a diagnostic.  Reported by Vladimir Serbinenko in
5059         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
5060
5061 2012-03-29  Eric Blake  <eblake@redhat.com>
5062
5063         stdio: don't assume gets any more
5064         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
5065         support.
5066         * modules/stdio (Makefile.am): Likewise.
5067         * lib/stdio-read.c (gets): Likewise.
5068         * tests/test-stdio-c++.cc: Likewise.
5069         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
5070         * lib/stdio.in.h (gets): Make warning occur in more places.
5071         * doc/posix-functions/gets.texi (gets): Update documentation.
5072         Reported by Christer Solskogen.
5073
5074         maint.mk: fix syntax checks without exclusions
5075         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
5076         Reported by Daniel P. Berrange.
5077
5078         strerror_r: avoid compiler warning
5079         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
5080         level.
5081
5082         fflush: avoid compiler warning
5083         * lib/fflush.c (update_fpos_cache): Mark variables that are
5084         potentially unused.
5085
5086 2012-03-25  Bruno Haible  <bruno@clisp.org>
5087
5088         Tests for module 'localeconv'.
5089         * modules/localeconv-tests: New file.
5090         * tests/test-localeconv.c: New file.
5091
5092         New module 'localeconv'.
5093         * lib/locale.in.h (localeconv): New declaration.
5094         * lib/localeconv.c: New file.
5095         * m4/localeconv.m4: New file.
5096         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
5097         REPLACE_LOCALECONV.
5098         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
5099         REPLACE_LOCALECONV.
5100         * modules/localeconv: New file.
5101         * modules/nl_langinfo (Depends-on): Add localeconv.
5102         * modules/human (Depends-on): Likewise.
5103         * doc/posix-functions/localeconv.texi: Mention the new module.
5104
5105 2012-03-25  Bruno Haible  <bruno@clisp.org>
5106
5107         locale: Provide a complete 'struct lconv'.
5108         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5109         'struct lconv' does not contain int_p_cs_precedes.
5110         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5111         * doc/posix-headers/locale.texi: Update.
5112
5113         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
5114         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
5115         * doc/posix-headers/locale.texi: Update.
5116
5117         locale: Provide a working 'struct lconv'.
5118         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
5119         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5120         'struct lconv' does not even contain decimal_point.
5121         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
5122         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
5123         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5124         * doc/posix-headers/locale.texi: Mention the problems with
5125         'struct lconv'.
5126         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
5127
5128 2012-03-24  Bruno Haible  <bruno@clisp.org>
5129
5130         Enable common subexpression optimization in GCC.
5131         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
5132         macros.
5133         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
5134         GCC attribute 'const'.
5135         (uc_locale_language): Declare with GCC attribute 'pure'.
5136         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
5137         with GCC attribute 'const'.
5138         * lib/unictype.in.h (uc_is_general_category_withtable,
5139         uc_combining_class, uc_combining_class_name,
5140         uc_combining_class_long_name, uc_bidi_class_name,
5141         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
5142         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
5143         uc_decimal_value, uc_digit_value, uc_numeric_value,
5144         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
5145         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
5146         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
5147         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
5148         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
5149         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
5150         Declare with GCC attribute 'const'.
5151         (uc_general_category_name, uc_general_category_long_name,
5152         uc_general_category_byname, uc_general_category,
5153         uc_is_general_category, uc_combining_class_byname,
5154         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
5155         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
5156         Declare with GCC attribute 'pure'.
5157         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
5158         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
5159         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
5160         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
5161         with GCC attribute 'pure'.
5162         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
5163         'const'.
5164         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
5165         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
5166         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
5167         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
5168         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
5169         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
5170         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
5171         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
5172         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
5173         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
5174         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
5175         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
5176         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
5177         GCC attribute 'pure'.
5178         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
5179         'const'.
5180         * lib/uniwidth.in.h (uc_width): Simplify declaration.
5181         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
5182         u32_strwidth): Declare with GCC attribute 'pure'.
5183
5184         Enable common subexpression optimization in GCC.
5185         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5186         (alphasort): Declare with GCC attribute 'pure'.
5187         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5188         (atoll): Declare with GCC attribute 'pure'.
5189         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5190         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5191         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
5192         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5193         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
5194         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
5195         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
5196
5197 2012-03-24  Bruno Haible  <bruno@clisp.org>
5198
5199         gnulib-tool: Avoid unintended error output from 'cmp'.
5200         * gnulib-tool (func_add_file, func_update_file, func_import): Use
5201         "cmp -s", not "cmp > /dev/null".
5202
5203 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5204
5205         gnulib-tool: fix imprecise comments w.r.t. an automake bug
5206
5207         It's not just Automake versions < 1.9b that creates an empty
5208         pkgdatadir at installation time if pkgdata_DATA is specified
5209         to empty; modern automake versions do this as well, at least
5210         until automake 1.11.4 (not yet released at the moment of writing,
5211         but soon to appear).  That behaviour was generally considered a
5212         feature rather than a bug, at least until this discussion:
5213         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
5214
5215         See also automake bugs #10997 and #11030.
5216
5217         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
5218         reference to relevant automake bug numbers.
5219         (func_emit_tests_Makefile_am): Likewise.
5220
5221 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5222
5223         announce-gen: use Digest::SHA when possible
5224         * build-aux/announce-gen: Use Digest::SHA when possible, falling
5225         back to Digest::SHA1 if necessary.
5226
5227 2012-03-20  Jim Meyering  <meyering@redhat.com>
5228
5229         tests: avoid gcc warnings about argv vs. const initializers
5230         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
5231         warnings about discarding 'const' qualifier from pointer target type.
5232         * tests/test-posix_spawn2.c (main): Likewise.
5233
5234 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5235
5236         README-release: simplify slightly
5237         * top/README-release: Run "git checkout master" only once.
5238
5239 2012-03-15  Mark Wielaard  <mark@klomp.org>
5240
5241         git-merge-changelog: add specific example on how to use with hg.
5242         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
5243
5244 2012-03-18  Mark Wielaard  <mark@klomp.org>
5245
5246         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
5247
5248 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
5249
5250         git-version-gen: don't let "prefix" envvar cause trouble
5251         * build-aux/git-version-gen (prefix): Initialize properly,
5252         so as not to use a value specified via the environment.
5253         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
5254
5255 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5256
5257         regex: diagnose too-large repeat counts in EREs
5258         Previously, the code did not diagnose the too-large repeat count
5259         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
5260         as if it were 'b\{1000000000}', which is unexpected.
5261         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
5262         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
5263         is a reasonable one for this problem.  Another option would be to
5264         create a new REG_OVERFLOW error for repeat counts that are too large.
5265         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
5266         count is too large, so that the caller can distinguish the two cases.
5267         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
5268         "Too large" return code, and that repeat counts are one example of this.
5269
5270 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5271
5272         doc: some glibc x32 integer width issues
5273         * doc/posix-headers/sys_types.texi (sys/types.h):
5274         * doc/posix-headers/time.texi (time.h):
5275         Mention that glibc x32 does not conform to POSIX in a couple of
5276         areas related to integer widths.
5277
5278 2012-03-15  Bruno Haible  <bruno@clisp.org>
5279
5280         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
5281         * lib/fma.c (VOLATILE): New macro.
5282         (FUNC): Use it to work around a GCC compiler bug.
5283
5284 2012-03-13  Bruno Haible  <bruno@clisp.org>
5285
5286         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5287         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
5288         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
5289         REPLACE_HYPOTL to 1.
5290         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
5291
5292 2012-03-13  Bruno Haible  <bruno@clisp.org>
5293
5294         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5295         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
5296         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
5297         REPLACE_REMAINDERL to 1.
5298         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
5299         bug.
5300
5301 2012-03-13  Bruno Haible  <bruno@clisp.org>
5302
5303         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5304         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
5305         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
5306         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
5307         too big rounding errors.
5308         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
5309         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
5310         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
5311         (Depends-on): Update conditions.
5312         * tests/test-sqrtl.c (my_ldexpl): New function.
5313         (main): Add test of a particular value.
5314         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5315
5316 2012-03-13  Pádraig Brady  <P@draigBrady.com>
5317
5318         doc: Update timer_* platform portability notes.
5319         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
5320         that always return ENOSYS.
5321         * doc/posix-functions/timer_delete.texi: Likewise.
5322         * doc/posix-functions/timer_gettime.texi: Likewise.
5323         * doc/posix-functions/timer_settime.texi: Likewise.
5324
5325 2012-03-13  Bruno Haible  <bruno@clisp.org>
5326
5327         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5328         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
5329         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
5330         REPLACE_CBRTL to 1.
5331         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5332
5333 2012-03-13  Bruno Haible  <bruno@clisp.org>
5334
5335         remainderl: Avoid compilation error on AIX >= 5.2.
5336         * lib/math.in.h (remainderl): Undefine macro from the system header.
5337
5338 2012-03-13  Bruno Haible  <bruno@clisp.org>
5339
5340         Avoid compilation errors with MSVC option -fp:strict.
5341         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
5342         * lib/cbrtf.c: Likewise.
5343         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5344
5345 2012-03-12  Bruno Haible  <bruno@clisp.org>
5346
5347         uninorm: Don't crash in out-of-memory conditions.
5348         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
5349         gracefully.
5350         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
5351         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
5352
5353 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
5354
5355         quote: fix syntax-check
5356         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
5357         also exports quote_quoting_options.
5358
5359 2012-03-12  Simon Josefsson  <simon@josefsson.org>
5360
5361         Collapse list of copyright years to ranges.  See
5362         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
5363         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
5364         build-aux/csharpexec.sh.in, build-aux/gnupload,
5365         build-aux/install-reloc, build-aux/javacomp.sh.in,
5366         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
5367         build-aux/move-if-change, build-aux/reloc-ldflags,
5368         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
5369
5370 2012-03-11  Bruno Haible  <bruno@clisp.org>
5371
5372         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5373         * m4/log2f-ieee.m4: New file.
5374         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
5375         whether log2f works with a minus zero argument. Replace it if not.
5376         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
5377         (Depends-on): Add log2-ieee.
5378         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
5379         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
5380
5381         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5382         * m4/log2-ieee.m4: New file.
5383         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
5384         whether log2 works with a minus zero argument. Replace it if not.
5385         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
5386         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
5387         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
5388
5389         Tests for module 'log2l-ieee'.
5390         * modules/log2l-ieee-tests: New file.
5391         * tests/test-log2l-ieee.c: New file.
5392
5393         New module 'log2l-ieee'.
5394         * modules/log2l-ieee: New file.
5395
5396         Tests for module 'log2-ieee'.
5397         * modules/log2-ieee-tests: New file.
5398         * tests/test-log2-ieee.c: New file.
5399
5400         New module 'log2-ieee'.
5401         * modules/log2-ieee: New file.
5402
5403         Tests for module 'log2f-ieee'.
5404         * modules/log2f-ieee-tests: New file.
5405         * tests/test-log2f-ieee.c: New file.
5406         * tests/test-log2-ieee.h: New file.
5407
5408         New module 'log2f-ieee'.
5409         * modules/log2f-ieee: New file.
5410
5411 2012-03-11  Bruno Haible  <bruno@clisp.org>
5412
5413         Tests for module 'log2l'.
5414         * modules/log2l-tests: New file.
5415         * tests/test-log2l.c: New file.
5416
5417         New module 'log2l'.
5418         * lib/math.in.h (log2l): New declaration.
5419         * lib/log2l.c: New file.
5420         * m4/log2l.m4: New file.
5421         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
5422         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
5423         REPLACE_LOG2L.
5424         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
5425         REPLACE_LOG2L.
5426         * modules/log2l: New file.
5427         * tests/test-math-c++.cc: Check the declaration of log2l.
5428         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
5429         and OSF/1 problems.
5430
5431 2012-03-11  Bruno Haible  <bruno@clisp.org>
5432
5433         Tests for module 'log2f'.
5434         * modules/log2f-tests: New file.
5435         * tests/test-log2f.c: New file.
5436
5437         New module 'log2f'.
5438         * lib/math.in.h (log2f): New declaration.
5439         * lib/log2f.c: New file.
5440         * m4/log2f.m4: New file.
5441         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
5442         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
5443         REPLACE_LOG2F.
5444         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
5445         REPLACE_LOG2F.
5446         * modules/log2f: New file.
5447         * tests/test-math-c++.cc: Check the declaration of log2f.
5448         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
5449         and OSF/1 and Cygwin problems.
5450
5451 2012-03-11  Bruno Haible  <bruno@clisp.org>
5452
5453         Tests for module 'log2'.
5454         * modules/log2-tests: New file.
5455         * tests/test-log2.c: New file.
5456         * tests/test-log2.h: New file.
5457
5458         New module 'log2'.
5459         * lib/math.in.h (log2): New declaration.
5460         * lib/log2.c: New file.
5461         * m4/log2.m4: New file.
5462         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
5463         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
5464         REPLACE_LOG2.
5465         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
5466         REPLACE_LOG2.
5467         * modules/log2: New file.
5468         * tests/test-math-c++.cc: Check the declaration of log2.
5469         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
5470         and OSF/1 and Cygwin problems.
5471
5472 2012-03-11  Bruno Haible  <bruno@clisp.org>
5473
5474         exp2* tests: More tests.
5475         * tests/test-exp2.h (test_function): Test all integral arguments that
5476         don't need to overflow or denormalized numbers.
5477         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
5478         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
5479         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
5480
5481 2012-03-10  Bruno Haible  <bruno@clisp.org>
5482
5483         log1pl-ieee: Work around test failure on AIX 7.1.
5484         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
5485
5486         log1pl-ieee: Work around test failure on IRIX 6.5.
5487         * m4/log1pl-ieee.m4: New file.
5488         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
5489         test whether log1pl works with a minus zero argument. Replace it if
5490         not.
5491         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
5492         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
5493         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
5494         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
5495         (Depends-on): Update conditions.
5496         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5497         m4/signbit.m4.
5498         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
5499         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
5500
5501         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
5502         * m4/log1pf-ieee.m4: New file.
5503         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
5504         test whether log1pf works with a minus zero argument. Replace it if
5505         not.
5506         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
5507         m4/signbit.m4.
5508         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
5509         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
5510
5511         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
5512         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
5513         (configure.ac): Require gl_FUNC_LOG1PF.
5514
5515         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
5516         * m4/log1p-ieee.m4: New file.
5517         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
5518         whether log1p works with a minus zero argument. Replace it if not.
5519         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
5520         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
5521         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
5522         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
5523         (Depends-on): Update conditions.
5524         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5525         m4/signbit.m4.
5526         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
5527         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
5528
5529         Tests for module 'log1pl-ieee'.
5530         * modules/log1pl-ieee-tests: New file.
5531         * tests/test-log1pl-ieee.c: New file.
5532
5533         New module 'log1pl-ieee'.
5534         * modules/log1pl-ieee: New file.
5535
5536         Tests for module 'log1p-ieee'.
5537         * modules/log1p-ieee-tests: New file.
5538         * tests/test-log1p-ieee.c: New file.
5539
5540         New module 'log1p-ieee'.
5541         * modules/log1p-ieee: New file.
5542
5543         Tests for module 'log1pf-ieee'.
5544         * modules/log1pf-ieee-tests: New file.
5545         * tests/test-log1pf-ieee.c: New file.
5546         * tests/test-log1p-ieee.h: New file.
5547
5548         New module 'log1pf-ieee'.
5549         * modules/log1pf-ieee: New file.
5550
5551 2012-03-10  Bruno Haible  <bruno@clisp.org>
5552
5553         Tests for module 'log1pl'.
5554         * modules/log1pl-tests: New file.
5555         * tests/test-log1pl.c: New file.
5556
5557         New module 'log1pl'.
5558         * lib/math.in.h (log1pl): New declaration.
5559         * lib/log1pl.c: New file.
5560         * m4/log1pl.m4: New file.
5561         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
5562         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
5563         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
5564         * modules/log1pl: New file.
5565         * tests/test-math-c++.cc: Check the declaration of log1pl.
5566         * doc/posix-functions/log1pl.texi: Mention the new module.
5567
5568 2012-03-10  Bruno Haible  <bruno@clisp.org>
5569
5570         Tests for module 'log1pf'.
5571         * modules/log1pf-tests: New file.
5572         * tests/test-log1pf.c: New file.
5573
5574         New module 'log1pf'.
5575         * lib/math.in.h (log1pf): New declaration.
5576         * lib/log1pf.c: New file.
5577         * m4/log1pf.m4: New file.
5578         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
5579         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
5580         REPLACE_LOG1PF.
5581         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
5582         REPLACE_LOG1PF.
5583         * modules/log1pf: New file.
5584         * tests/test-math-c++.cc: Check the declaration of log1pf.
5585         * doc/posix-functions/log1pf.texi: Mention the new module.
5586
5587 2012-03-10  Bruno Haible  <bruno@clisp.org>
5588
5589         log1p tests: More tests.
5590         * tests/test-log1p.h: New file.
5591         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
5592         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
5593         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
5594         (main): Invoke test_function.
5595
5596         log1p: Provide replacement for Minix and MSVC.
5597         * lib/math.in.h (log1p): New declaration.
5598         * lib/log1p.c: New file.
5599         * m4/log1p.m4: New file.
5600         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
5601         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
5602         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
5603         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
5604         (Depends-on): Add math, isnand, log, round.
5605         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
5606         HAVE_LOG1P is 0.
5607         * tests/test-math-c++.cc: Check the declaration of log1p.
5608         * doc/posix-functions/log1p.texi: Mention the replacement.
5609
5610 2012-03-10  Bruno Haible  <bruno@clisp.org>
5611
5612         math tests: Small simplification.
5613         * tests/test-exp.h (test_function): Use the same err_bound for
5614         'double' on platforms with sizeof (long double) == sizeof (double)
5615         than on platforms with sizeof (long double) > sizeof (double).
5616         * tests/test-exp2.h (test_function): Likewise.
5617         * tests/test-expm1.h (test_function): Likewise.
5618         * tests/test-log.h (test_function): Likewise.
5619
5620 2012-03-10  Bruno Haible  <bruno@clisp.org>
5621
5622         Fix some comments.
5623         * lib/expl.c: Fix an ambiguous comment.
5624         * lib/expm1.c: Likewise.
5625         * lib/expm1l.c: Likewise.
5626         * lib/exp2.c: Likewise.
5627         * lib/exp2l.c: Likewise.
5628
5629 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
5630
5631         regex: allow inclusion of <regex.h> before <limits.h>
5632         Without this patch, portable programs had to include <limits.h> before
5633         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
5634         I ran into this problem with a test version of GNU grep on Solaris 8.
5635         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
5636         This is done conditionally so that this change can be merged
5637         back to glibc.
5638         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
5639         using the included regex.
5640
5641         fts: depend on fdopendir
5642         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
5643         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
5644         problem was introduced when fdopendir was split out.
5645
5646 2012-03-10  Bruno Haible  <bruno@clisp.org>
5647
5648         Remove unused variables.
5649         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
5650         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5651
5652 2012-03-10  Bruno Haible  <bruno@clisp.org>
5653
5654         isnanf-nolibm: Fix last commit.
5655         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
5656
5657         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
5658         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
5659
5660 2012-03-10  Bruno Haible  <bruno@clisp.org>
5661
5662         logf-ieee: Work around test failure on NetBSD 5.1.
5663         * m4/logf-ieee.m4: New file.
5664         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
5665         whether logf works with a negative argument. Replace it if not.
5666         * lib/logf.c (logf): For negative arguments, return NaN.
5667         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
5668         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
5669         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
5670
5671         logf-ieee: Work around test failure on Solaris 9.
5672         * modules/logf-ieee (Depends-on): Add log-ieee.
5673         (configure.ac): Require gl_FUNC_LOGF.
5674
5675         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5676         * m4/log-ieee.m4: New file.
5677         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
5678         log works with a negative argument. Replace it if not.
5679         * lib/log.c (log): For negative arguments, return NaN.
5680         * modules/log-ieee (Files): Add m4/log-ieee.m4.
5681         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
5682         * doc/posix-functions/log.texi: Mention the log-ieee module.
5683
5684         Tests for module 'logl-ieee'.
5685         * modules/logl-ieee-tests: New file.
5686         * tests/test-logl-ieee.c: New file.
5687
5688         New module 'logl-ieee'.
5689         * modules/logl-ieee: New file.
5690
5691         Tests for module 'log-ieee'.
5692         * modules/log-ieee-tests: New file.
5693         * tests/test-log-ieee.c: New file.
5694
5695         New module 'log-ieee'.
5696         * modules/log-ieee: New file.
5697
5698         Tests for module 'logf-ieee'.
5699         * modules/logf-ieee-tests: New file.
5700         * tests/test-logf-ieee.c: New file.
5701         * tests/test-log-ieee.h: New file.
5702
5703         New module 'logf-ieee'.
5704         * modules/logf-ieee: New file.
5705
5706 2012-03-10  Bruno Haible  <bruno@clisp.org>
5707
5708         log: Fix bug introduced on 2012-03-09.
5709         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
5710
5711 2012-03-10  Pádraig Brady  <P@draigBrady.com>
5712
5713         timer-time: link explicitly with pthreads on glibc
5714         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
5715         to support static linking, when newer glibc is
5716         detected, as that contains pthread emulation of
5717         POSIX timer functions where required.
5718         * modules/timer-time: Depend on threadlib to
5719         pull in the appropriate library to link.
5720
5721 2012-03-10  Bruno Haible  <bruno@clisp.org>
5722
5723         log* tests: More tests.
5724         * tests/test-log.h: New file.
5725         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
5726         (main): Invoke test_function.
5727         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
5728         (main): Invoke test_function.
5729         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
5730         (main): Invoke test_function.
5731         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5732         tests/randomd.c.
5733         (Makefile.am): Add randomd.c to test_log_SOURCES.
5734         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5735         tests/randomf.c.
5736         (Makefile.am): Add randomf.c to test_logf_SOURCES.
5737         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5738         tests/randoml.c.
5739         (Depends-on): Add 'float'.
5740         (Makefile.am): Add randoml.c to test_logl_SOURCES.
5741
5742 2012-03-09  Bruno Haible  <bruno@clisp.org>
5743
5744         logl: Work around OSF/1 5.1 bug.
5745         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
5746         * lib/logl.c (logl): If logl exists, use it and provide just the
5747         workaround.
5748         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
5749         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
5750         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
5751         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
5752         * modules/logl (configure.ac): Consider REPLACE_LOGL.
5753         (Depends-on): Update conditions.
5754         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
5755
5756 2012-03-09  Bruno Haible  <bruno@clisp.org>
5757
5758         logf: Work around OSF/1 5.1 bug.
5759         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
5760         * lib/logf.c (logf): If logf exists, use it and provide just the
5761         workaround.
5762         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
5763         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
5764         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
5765         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
5766         * modules/logf (configure.ac): Consider REPLACE_LOGF.
5767         (Depends-on): Update conditions.
5768         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
5769
5770 2012-03-09  Bruno Haible  <bruno@clisp.org>
5771
5772         log: Work around OSF/1 5.1 bug.
5773         * lib/math.in.h (log): New declaration.
5774         * lib/log.c: New file.
5775         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
5776         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
5777         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
5778         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
5779         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
5780         * modules/log (Files): Add lib/log.c.
5781         (Depends-on): Add math.
5782         (configure.ac): If REPLACE_LOG is 1, compile an override.
5783         * tests/test-math-c++.cc: Check the declaration of log.
5784         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
5785
5786 2012-03-09  Jim Meyering  <meyering@redhat.com>
5787
5788         readtokens.c: adjust wording in a comment
5789         * lib/readtokens.c: Insert omitted "that" in a comment.
5790
5791 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5792
5793         modechange: add notations +40, 00440, etc.
5794         * lib/modechange.c (mode_compile): Support new notations
5795         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
5796
5797 2012-03-08  Bruno Haible  <bruno@clisp.org>
5798
5799         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
5800         * m4/exp2l-ieee.m4: New file.
5801         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
5802         test whether exp2l works with a NaN argument and with a negative
5803         infinity argument. Replace it if not.
5804         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
5805         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
5806         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
5807         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
5808         (Depends-on): Update conditions.
5809         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
5810         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
5811         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
5812
5813         Tests for module 'exp2l-ieee'.
5814         * modules/exp2l-ieee-tests: New file.
5815         * tests/test-exp2l-ieee.c: New file.
5816
5817         New module 'exp2l-ieee'.
5818         * modules/exp2l-ieee: New file.
5819
5820         Tests for module 'exp2-ieee'.
5821         * modules/exp2-ieee-tests: New file.
5822         * tests/test-exp2-ieee.c: New file.
5823
5824         New module 'exp2-ieee'.
5825         * modules/exp2-ieee: New file.
5826
5827         Tests for module 'exp2f-ieee'.
5828         * modules/exp2f-ieee-tests: New file.
5829         * tests/test-exp2f-ieee.c: New file.
5830         * tests/test-exp2-ieee.h: New file.
5831
5832         New module 'exp2f-ieee'.
5833         * modules/exp2f-ieee: New file.
5834
5835 2012-03-08  Bruno Haible  <bruno@clisp.org>
5836
5837         Tests for module 'exp2l'.
5838         * modules/exp2l-tests: New file.
5839         * tests/test-exp2l.c: New file.
5840
5841         New module 'exp2l'.
5842         * lib/math.in.h (exp2l): New declaration.
5843         * lib/exp2l.c: New file.
5844         * lib/expl-table.c: New file, extracted from lib/expl.c.
5845         * lib/expl.c (gl_expl_table): New declaration.
5846         (expl): Remove expl_table. Update reference.
5847         * m4/exp2l.m4: New file.
5848         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
5849         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
5850         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
5851         * modules/exp2l: New file.
5852         * modules/expl (Files): Add lib/expl-table.c.
5853         (configure.ac): Compile also expl-table.c.
5854         * tests/test-math-c++.cc: Check the declaration of exp2l.
5855         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
5856         problem.
5857
5858 2012-03-08  Bruno Haible  <bruno@clisp.org>
5859
5860         Tests for module 'exp2f'.
5861         * modules/exp2f-tests: New file.
5862         * tests/test-exp2f.c: New file.
5863
5864         New module 'exp2f'.
5865         * lib/math.in.h (exp2f): New declaration.
5866         * lib/exp2f.c: New file.
5867         * m4/exp2f.m4: New file.
5868         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
5869         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
5870         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
5871         * modules/exp2f: New file.
5872         * tests/test-math-c++.cc: Check the declaration of exp2f.
5873         * doc/posix-functions/exp2f.texi: Mention the new module and the
5874         IRIX problem.
5875
5876 2012-03-08  Bruno Haible  <bruno@clisp.org>
5877
5878         Tests for module 'exp2'.
5879         * modules/exp2-tests: New file.
5880         * tests/test-exp2.c: New file.
5881         * tests/test-exp2.h: New file.
5882
5883         New module 'exp2'.
5884         * lib/math.in.h (exp2): New declaration.
5885         * lib/exp2.c: New file.
5886         * m4/exp2.m4: New file.
5887         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
5888         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
5889         REPLACE_EXP2.
5890         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
5891         REPLACE_EXP2.
5892         * modules/exp2: New file.
5893         * tests/test-math-c++.cc: Check the declaration of exp2.
5894         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
5895         and OpenBSD problems.
5896
5897 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5898
5899         savedir: fix comment typo
5900         * lib/savedir.c (savedirstream): Fix typo in comment.
5901
5902 2012-03-08  Bruno Haible  <bruno@clisp.org>
5903
5904         test-readtokens.c: use const; remove unwarranted cast
5905         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
5906
5907 2012-03-08  Bruno Haible  <bruno@clisp.org>
5908
5909         fmal: Avoid compilation error on AIX.
5910         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
5911         AIX 5.2..7.1.
5912
5913 2012-03-08  Bruno Haible  <bruno@clisp.org>
5914
5915         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
5916         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
5917         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
5918         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
5919         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
5920         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
5921         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
5922
5923 2012-03-08  Bruno Haible  <bruno@clisp.org>
5924
5925         remainderf: Override buggy system function on IRIX 6.5.
5926         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
5927         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
5928         when it exists.
5929         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
5930
5931 2012-03-08  Jim Meyering  <meyering@redhat.com>
5932
5933         test-readtokens.c: avoid const-related compilation warnings
5934         * tests/test-readtokens.c: Avoid const-related compilation warnings.
5935
5936 2012-03-07  Jim Meyering  <meyering@redhat.com>
5937             Bruno Haible  <bruno@clisp.org>
5938
5939         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
5940         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
5941         tests/randomd.c.
5942         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
5943         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
5944         tests/randoml.c.
5945         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
5946
5947 2012-03-07  Bruno Haible  <bruno@clisp.org>
5948
5949         expm1l: Avoid compilation error on AIX.
5950         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
5951         AIX 5.2..7.1.
5952
5953 2012-03-07  Bruno Haible  <bruno@clisp.org>
5954
5955         expm1l: Don't override undeclared system function on IRIX 6.5.
5956         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
5957         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
5958         it exists. Set HAVE_DECL_EXPM1L.
5959         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
5960         HAVE_EXPM1L.
5961         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
5962         HAVE_EXPM1L.
5963         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
5964
5965 2012-03-07  Bruno Haible  <bruno@clisp.org>
5966
5967         remainderl: Don't override undeclared system function on IRIX 6.5.
5968         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
5969         HAVE_REMAINDERL.
5970         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
5971         declared when it exists. Set HAVE_DECL_REMAINDERL.
5972         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
5973         not HAVE_REMAINDERL.
5974         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
5975         HAVE_REMAINDERL.
5976         * doc/posix-functions/remainderl.texi: Mention missing declaration
5977         problem.
5978
5979 2012-03-07  Bruno Haible  <bruno@clisp.org>
5980
5981         rintf: Don't override undeclared system function on IRIX 6.5.
5982         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
5983         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
5984         exists. Set HAVE_DECL_RINTF.
5985         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
5986         HAVE_RINTF.
5987         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
5988         HAVE_RINTF.
5989         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
5990
5991 2012-03-07  Bruno Haible  <bruno@clisp.org>
5992
5993         roundl: Avoid compilation error on AIX.
5994         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
5995         AIX 5.2..7.1.
5996
5997 2012-03-07  Bruno Haible  <bruno@clisp.org>
5998
5999         roundl: Don't override undeclared system function on IRIX 6.5.
6000         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
6001         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
6002         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6003         * modules/roundl (configure.ac): For replacement code, test
6004         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6005         (Depends-on): Update conditions.
6006         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
6007
6008 2012-03-07  Bruno Haible  <bruno@clisp.org>
6009
6010         roundf: Don't override undeclared system function on IRIX 6.5.
6011         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
6012         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
6013         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6014         * modules/roundf (configure.ac): For replacement code, test
6015         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6016         (Depends-on): Update conditions.
6017         * modules/roundf-ieee (Depends-on): Update conditions.
6018         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
6019
6020 2012-03-07  Bruno Haible  <bruno@clisp.org>
6021
6022         round: Don't override undeclared system function on IRIX 6.5.
6023         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
6024         argument.
6025         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
6026         also when it is not declared. Set HAVE_ROUND. For replacement code,
6027         test HAVE_ROUND, not HAVE_DECL_ROUND.
6028         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
6029         not HAVE_DECL_ROUND.
6030         (Depends-on): Update conditions.
6031         * modules/round-ieee (Depends-on): Update conditions.
6032         * doc/posix-functions/round.texi: Mention the IRIX problem.
6033
6034 2012-03-07  Bruno Haible  <bruno@clisp.org>
6035
6036         copysignf: Don't override undeclared system function on IRIX 6.5.
6037         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
6038         HAVE_COPYSIGNF.
6039         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
6040         declared when it exists. Set HAVE_DECL_COPYSIGNF.
6041         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
6042         not HAVE_COPYSIGNF.
6043         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
6044         HAVE_COPYSIGNF.
6045         * doc/posix-functions/copysignf.texi: Mention missing declaration
6046         problem.
6047
6048 2012-03-07  Jim Meyering  <meyering@redhat.com>
6049
6050         readtokens: add tests
6051         * modules/readtokens-tests: New file.
6052         * tests/test-readtokens.c: New file.
6053
6054 2012-03-07  Jim Meyering  <meyering@redhat.com>
6055
6056         quotearg: the module must now include quote.h
6057         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
6058         So must the module.
6059         * modules/quotearg (Files): Add quote.h.
6060
6061 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
6062
6063         readtokens: avoid core dumps with unusual calling patterns
6064         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
6065         * lib/readtokens.c: Include limits.h.
6066         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
6067         (readtoken): Don't cache the delimiters; the cache code was buggy
6068         if !delim && saved_delim, or if the new n_delim differs from the old.
6069         Also, it wasn't thread-safe.
6070
6071 2012-03-07  Bruno Haible  <bruno@clisp.org>
6072
6073         quote: Adhere to common module description layout.
6074         * modules/quote (Makefile.am): Add back empty section.
6075
6076 2012-03-06  Akim Demaille  <demaille@gostai.com>
6077
6078         quote: fuse into quotearg
6079         This patch is made for the benefit of Bison.
6080         quote does not leave the choice of the quoting style to the user.
6081         quoting_style provides poor customizability, yet quoting_options,
6082         which is very rich, is hidden inside quotearg.c.  So in order to
6083         allow quote customization, move its implementation to quotearg.c.
6084         * lib/quote.c: Remove.
6085         * modules/quote: Adjust.
6086         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
6087         warning: provide all the members of literal structs.
6088         (quote_quoting_options): New.
6089         (quote, quote_n): Import implementation from quote.c.
6090         * lib/quote.h: Import the comments from quote.c.
6091         (quote_quoting_options): New.
6092
6093 2012-03-06  Bruno Haible  <bruno@clisp.org>
6094
6095         Tests for module 'expm1l-ieee'.
6096         * modules/expm1l-ieee-tests: New file.
6097         * tests/test-expm1l-ieee.c: New file.
6098
6099         New module 'expm1l-ieee'.
6100         * modules/expm1l-ieee: New file.
6101
6102         Tests for module 'expm1f-ieee'.
6103         * modules/expm1f-ieee-tests: New file.
6104         * tests/test-expm1f-ieee.c: New file.
6105
6106         New module 'expm1f-ieee'.
6107         * modules/expm1f-ieee: New file.
6108
6109         Tests for module 'expm1-ieee'.
6110         * modules/expm1-ieee-tests: New file.
6111         * tests/test-expm1-ieee.c: New file.
6112         * tests/test-expm1-ieee.h: New file.
6113
6114         New module 'expm1-ieee'.
6115         * modules/expm1-ieee: New file.
6116         * m4/expm1-ieee.m4: New file.
6117         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
6118         whether expm1 works with a minus zero argument. Replace it if not.
6119         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
6120         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
6121         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
6122         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
6123         (Depends-on): Update conditions.
6124         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
6125         AIX problem.
6126
6127 2012-03-06  Bruno Haible  <bruno@clisp.org>
6128
6129         Work around expm1f bug on IRIX 6.5.
6130         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
6131         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
6132         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
6133         not work.
6134         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
6135         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
6136         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
6137         (Depends-on): Update conditions.
6138         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
6139
6140 2012-03-06  Bruno Haible  <bruno@clisp.org>
6141
6142         Tests for module 'expm1l'.
6143         * modules/expm1l-tests: New file.
6144         * tests/test-expm1l.c: New file.
6145
6146         New module 'expm1l'.
6147         * lib/math.in.h (expm1l): New declaration.
6148         * lib/expm1l.c: New file.
6149         * m4/expm1l.m4: New file.
6150         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
6151         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
6152         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
6153         * modules/expm1l: New file.
6154         * tests/test-math-c++.cc: Check the declaration of expm1l.
6155         * doc/posix-functions/expm1l.texi: Mention the new module.
6156
6157 2012-03-06  Bruno Haible  <bruno@clisp.org>
6158
6159         Tests for module 'expm1f'.
6160         * modules/expm1f-tests: New file.
6161         * tests/test-expm1f.c: New file.
6162
6163         New module 'expm1f'.
6164         * lib/math.in.h (expm1f): New declaration.
6165         * lib/expm1f.c: New file.
6166         * m4/expm1f.m4: New file.
6167         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
6168         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
6169         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
6170         * modules/expm1f: New file.
6171         * tests/test-math-c++.cc: Check the declaration of expm1f.
6172         * doc/posix-functions/expm1f.texi: Mention the new module.
6173
6174 2012-03-06  Bruno Haible  <bruno@clisp.org>
6175
6176         Tests for module 'expm1'.
6177         * modules/expm1-tests: New file.
6178         * tests/test-expm1.c: New file.
6179         * tests/test-expm1.h: New file.
6180
6181         New module 'expm1'.
6182         * lib/math.in.h (expm1): New declaration.
6183         * lib/expm1.c: New file.
6184         * m4/expm1.m4: New file.
6185         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
6186         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
6187         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
6188         * modules/expm1: New file.
6189         * tests/test-math-c++.cc: Check the declaration of expm1.
6190         * doc/posix-functions/expm1.texi: Mention the new module.
6191
6192 2012-03-06  Bruno Haible  <bruno@clisp.org>
6193
6194         math: Ensure declarations of math functions.
6195         * modules/acosf (Depends-on): Add 'extensions'.
6196         * modules/asinf (Depends-on): Likewise.
6197         * modules/atan2f (Depends-on): Likewise.
6198         * modules/atanf (Depends-on): Likewise.
6199         * modules/cbrt (Depends-on): Likewise.
6200         * modules/cbrtf (Depends-on): Likewise.
6201         * modules/cbrtl (Depends-on): Likewise.
6202         * modules/copysignf (Depends-on): Likewise.
6203         * modules/copysignl (Depends-on): Likewise.
6204         * modules/cosf (Depends-on): Likewise.
6205         * modules/coshf (Depends-on): Likewise.
6206         * modules/expf (Depends-on): Likewise.
6207         * modules/fabsf (Depends-on): Likewise.
6208         * modules/fabsl (Depends-on): Likewise.
6209         * modules/fmaf (Depends-on): Likewise.
6210         * modules/fmal (Depends-on): Likewise.
6211         * modules/fmodf (Depends-on): Likewise.
6212         * modules/fmodl (Depends-on): Likewise.
6213         * modules/frexpf (Depends-on): Likewise.
6214         * modules/frexpl (Depends-on): Likewise.
6215         * modules/hypot (Depends-on): Likewise.
6216         * modules/hypotf (Depends-on): Likewise.
6217         * modules/hypotl (Depends-on): Likewise.
6218         * modules/ldexpf (Depends-on): Likewise.
6219         * modules/ldexpl (Depends-on): Likewise.
6220         * modules/log10f (Depends-on): Likewise.
6221         * modules/log10l (Depends-on): Likewise.
6222         * modules/log1p (Depends-on): Likewise.
6223         * modules/logb (Depends-on): Likewise.
6224         * modules/logf (Depends-on): Likewise.
6225         * modules/modff (Depends-on): Likewise.
6226         * modules/modfl (Depends-on): Likewise.
6227         * modules/powf (Depends-on): Likewise.
6228         * modules/remainderf (Depends-on): Likewise.
6229         * modules/remainderl (Depends-on): Likewise.
6230         * modules/rintf (Depends-on): Likewise.
6231         * modules/rintl (Depends-on): Likewise.
6232         * modules/sinf (Depends-on): Likewise.
6233         * modules/sinhf (Depends-on): Likewise.
6234         * modules/sqrtf (Depends-on): Likewise.
6235         * modules/tanf (Depends-on): Likewise.
6236         * modules/tanhf (Depends-on): Likewise.
6237         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
6238         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
6239         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
6240         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
6241         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
6242         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
6243         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
6244         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
6245         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
6246         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
6247         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
6248         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
6249         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
6250         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
6251         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
6252         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
6253         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
6254         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6255         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
6256         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
6257         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6258         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
6259         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
6260         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
6261         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6262         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
6263         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
6264         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6265         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
6266         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6267         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6268         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
6269         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6270         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6271         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6272         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6273         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
6274         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
6275         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
6276         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
6277         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
6278
6279 2012-03-06  Bruno Haible  <bruno@clisp.org>
6280
6281         math: Update module names in warnings.
6282         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6283         tanl): Use specific module name in warn-on-use warning.
6284
6285 2012-03-06  Bruno Haible  <bruno@clisp.org>
6286
6287         expl: Simplify computation.
6288         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
6289
6290 2012-03-05  Bruno Haible  <bruno@clisp.org>
6291
6292         exp* tests: More tests.
6293         * tests/test-exp.h: New file.
6294         * tests/test-exp.c: Include <float.h> and test-exp.h.
6295         (main): Invoke test_function.
6296         * tests/test-expf.c: Include <float.h> and test-exp.h.
6297         (main): Invoke test_function.
6298         * tests/test-expl.c: Include <float.h> and test-exp.h.
6299         (main): Invoke test_function.
6300         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
6301         (Makefile.am): Add randomd.c to test_exp_SOURCES.
6302         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
6303         (Makefile.am): Add randomf.c to test_expf_SOURCES.
6304         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
6305         (Depends-on): Add 'float'.
6306         (Makefile.am): Add randoml.c to test_expl_SOURCES.
6307
6308         expl: Fix precision of computed result.
6309         * lib/expl.c: Completely rewritten.
6310         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
6311         (Maintainer): Add me.
6312         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
6313
6314 2012-03-05  Bruno Haible  <bruno@clisp.org>
6315
6316         cbrt* tests: More tests.
6317         * tests/test-cbrt.h: New file.
6318         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
6319         (main): Invoke test_function.
6320         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
6321         (main): Invoke test_function.
6322         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
6323         (main): Invoke test_function.
6324         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
6325         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
6326         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
6327         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
6328         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
6329         (Depends-on): Add 'float'.
6330         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
6331
6332 2012-03-05  Bruno Haible  <bruno@clisp.org>
6333
6334         hypot* tests: More tests.
6335         * tests/test-hypot.h: New file, partially extracted from
6336         tests/test-hypotl.c.
6337         * tests/test-hypot.c: Include test-hypot.h.
6338         (main): Invoke test_function.
6339         * tests/test-hypotf.c: Include test-hypot.h.
6340         (main): Invoke test_function.
6341         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
6342         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
6343         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
6344         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
6345         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
6346         tests/randomf.c.
6347         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
6348         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
6349         tests/randoml.c.
6350         (Depends-on): Add 'fpucw', 'float'.
6351         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
6352
6353 2012-03-05  Bruno Haible  <bruno@clisp.org>
6354
6355         fpucw: Doc about FreeBSD.
6356         * lib/fpucw.h: Mention FreeBSD in comments.
6357
6358 2012-03-04  Bruno Haible  <bruno@clisp.org>
6359
6360         sqrt* tests: More tests.
6361         * tests/test-sqrt.h: New file.
6362         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
6363         (main): Invoke test_function.
6364         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
6365         (main): Invoke test_function.
6366         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
6367         (main): Invoke test_function.
6368         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
6369         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
6370         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
6371         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
6372         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
6373         (Depends-on): Add 'float'.
6374         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
6375
6376 2012-03-04  Bruno Haible  <bruno@clisp.org>
6377
6378         remainder* tests: More tests.
6379         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
6380         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
6381         (main): Invoke test_function.
6382         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
6383         (main): Invoke test_function.
6384         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
6385         (main): Invoke test_function.
6386         * modules/remainder-tests (Files): Add tests/test-remainder.h,
6387         tests/randomd.c.
6388         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
6389         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
6390         tests/randomf.c.
6391         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
6392         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
6393         tests/randoml.c.
6394         (Depends-on): Add 'float'.
6395         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
6396
6397 2012-03-04  Bruno Haible  <bruno@clisp.org>
6398
6399         remainder, remainderf, remainderl: Fix computation for large quotients.
6400         * lib/remainder.c: Completely rewritten.
6401         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
6402         USE_FLOAT.
6403         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
6404         USE_LONG_DOUBLE.
6405         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
6406         isnand, isinf. Remove round, fma.
6407         * modules/remainderf (Files): Add lib/remainder.c.
6408         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
6409         Remove roundf, fmaf.
6410         * modules/remainderl (Files): Add lib/remainder.c.
6411         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
6412         isinf. Remove roundl, fmal.
6413         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
6414         REMAINDER_LIBM.
6415         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
6416         REMAINDERF_LIBM.
6417         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
6418         REMAINDERL_LIBM.
6419
6420 2012-03-04  Bruno Haible  <bruno@clisp.org>
6421
6422         fmod* tests: More tests.
6423         * tests/test-fmod.h (my_ldexp): New function.
6424         (test_function): Reduce amount of random numbers to test. Add tests
6425         of very large quotients x / y.
6426         * tests/test-fmod.c (MAX_EXP): New macro.
6427         * tests/test-fmodf.c (MAX_EXP): Likewise.
6428         * tests/test-fmodl.c (MAX_EXP): Likewise.
6429
6430 2012-03-04  Bruno Haible  <bruno@clisp.org>
6431
6432         fmod, fmodl: Fix computation for large quotients x / y.
6433         * lib/fmod.c: Completely rewritten.
6434         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
6435         USE_LONG_DOUBLE.
6436         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
6437         isnand. Remove fma.
6438         * modules/fmodl (Files): Add lib/fmod.c.
6439         (Depends-on): Add float, isfinite, signbit, fabsl,
6440         frexpl, ldexpl, isnanl. Remove fma.
6441         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
6442         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
6443
6444 2012-03-03  Bruno Haible  <bruno@clisp.org>
6445
6446         fmod* tests: More tests.
6447         * tests/test-fmod.h: New file.
6448         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
6449         (main): Invoke test_function.
6450         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
6451         (main): Invoke test_function.
6452         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
6453         (main): Invoke test_function.
6454         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
6455         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
6456         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
6457         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
6458         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
6459         (Depends-on): Add 'float'.
6460         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
6461
6462 2012-03-03  Bruno Haible  <bruno@clisp.org>
6463
6464         rint* tests: More tests.
6465         * tests/test-rint.h: New file, partially extracted from
6466         tests/test-rintl.c.
6467         * tests/test-rint.c: Include test-rint.h.
6468         (main): Invoke test_function.
6469         * tests/test-rintf.c: Include test-rint.h.
6470         (main): Invoke test_function.
6471         * tests/test-rintl.c: Include test-rint.h.
6472         (main): Invoke test_function.
6473         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
6474         (Makefile.am): Add randomd.c to test_rint_SOURCES.
6475         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
6476         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
6477         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
6478         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
6479
6480 2012-03-03  Bruno Haible  <bruno@clisp.org>
6481
6482         modf* tests: More tests.
6483         * tests/test-modf.h: New file.
6484         * tests/test-modf.c: Include <float.h> and test-modf.h.
6485         (main): Invoke test_function.
6486         * tests/test-modff.c: Include <float.h> and test-modf.h.
6487         (main): Invoke test_function.
6488         * tests/test-modfl.c: Include <float.h> and test-modf.h.
6489         (main): Invoke test_function.
6490         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
6491         (Makefile.am): Add randomd.c to test_modf_SOURCES.
6492         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
6493         (Makefile.am): Add randomf.c to test_modff_SOURCES.
6494         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
6495         (Depends-on): Add 'float'.
6496         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
6497
6498 2012-03-03  Bruno Haible  <bruno@clisp.org>
6499
6500         fabs* tests: More tests.
6501         * tests/test-fabs.h: New file, partially extracted from
6502         tests/test-fabsl.c.
6503         * tests/test-fabs.c (RANDOM): New macro.
6504         * tests/test-fabsf.c (RANDOM): New macro.
6505         * tests/test-fabsl.c (RANDOM): New macro.
6506         * modules/fabs-tests (Files): Add tests/randomd.c.
6507         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
6508         * modules/fabsf-tests (Files): Add tests/randomf.c.
6509         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
6510         * modules/fabsl-tests (Files): Add tests/randoml.c.
6511         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
6512
6513 2012-03-03  Bruno Haible  <bruno@clisp.org>
6514
6515         ldexp* tests: More tests.
6516         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
6517         * tests/test-ldexp.c (RANDOM): New macro.
6518         * tests/test-ldexpf.c (RANDOM): New macro.
6519         * tests/test-ldexpl.c (RANDOM): New macro.
6520         * modules/ldexp-tests (Files): Add tests/randomd.c.
6521         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
6522         * modules/ldexpf-tests (Files): Add tests/randomf.c.
6523         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
6524         * modules/ldexpl-tests (Files): Add tests/randoml.c.
6525         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
6526
6527 2012-03-03  Bruno Haible  <bruno@clisp.org>
6528
6529         frexp* tests: More tests.
6530         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
6531         * tests/test-frexp.c (RANDOM): New macro.
6532         * tests/test-frexpf.c (RANDOM): New macro.
6533         * tests/test-frexpl.c (RANDOM): New macro.
6534         * modules/frexp-tests (Files): Add tests/randomd.c.
6535         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
6536         * modules/frexpf-tests (Files): Add tests/randomf.c.
6537         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
6538         * modules/frexpl-tests (Files): Add tests/randoml.c.
6539         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
6540
6541 2012-03-03  Bruno Haible  <bruno@clisp.org>
6542
6543         Support for pseudo-random numbers in tests.
6544         * tests/randomf.c: New file.
6545         * tests/randomd.c: New file.
6546         * tests/randoml.c: New file.
6547         * tests/macros.h (randomf, randomd, randoml): New declarations.
6548
6549 2012-03-03  Bruno Haible  <bruno@clisp.org>
6550
6551         frexp* tests: Refactor.
6552         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
6553         * tests/test-frexp.c: Include and use it.
6554         * tests/test-frexpf.c: Likewise.
6555         * tests/test-frexpl.c: Likewise.
6556         * modules/frexp-tests (Files): Add tests/test-frexp.h.
6557         * modules/frexpf-tests (Files): Likewise.
6558         * modules/frexpl-tests (Files): Likewise.
6559
6560 2012-03-02  Jim Meyering  <meyering@redhat.com>
6561
6562         maint: don't specify XZ_OPT=-9ev in dist-related rule
6563         Using xz's -9 option is warranted only if you have a very large
6564         tarball (see xz's documentation for the sizes vs. presets), and
6565         requires 64MiB of memory at decompression time.
6566         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
6567         Automake's default of just "-e" is fine.  Override on a
6568         per-package basis by setting XZ_OPT e.g., in cfg.mk.
6569
6570 2012-03-01  Eric Blake  <eblake@redhat.com>
6571
6572         maint.mk: allow announcement for non-gnulib project
6573         * maint.mk (announcement): Skip gnulib version if not used.
6574
6575 2012-03-01  Jim Meyering  <meyering@redhat.com>
6576
6577         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
6578         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
6579         envvar settings cannot interfere.  Otherwise, setting envvars like
6580         prohibit=foo require=bar, etc. would cause spurious test failures.
6581
6582 2012-03-01  Eric Blake  <eblake@redhat.com>
6583
6584         maint.mk: add per-line exclusions to prohibitions
6585         * maint.mk (_sc_search_regexp): Add $exclude parameter.
6586         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
6587         (sc_const_long_option): Use it.
6588
6589 2012-03-01  Bruno Haible  <bruno@clisp.org>
6590
6591         Tests for module 'expl-ieee'.
6592         * modules/expl-ieee-tests: New file.
6593         * tests/test-expl-ieee.c: New file.
6594
6595         New module 'expl-ieee'.
6596         * modules/expl-ieee: New file.
6597
6598         Tests for module 'exp-ieee'.
6599         * modules/exp-ieee-tests: New file.
6600         * tests/test-exp-ieee.c: New file.
6601
6602         New module 'exp-ieee'.
6603         * modules/exp-ieee: New file.
6604
6605         Tests for module 'expf-ieee'.
6606         * modules/expf-ieee-tests: New file.
6607         * tests/test-expf-ieee.c: New file.
6608         * tests/test-exp-ieee.h: New file.
6609
6610         New module 'expf-ieee'.
6611         * modules/expf-ieee: New file.
6612
6613 2012-02-29  Bruno Haible  <bruno@clisp.org>
6614
6615         cbrtl-ieee: Work around test failure on IRIX 6.5.
6616         * m4/cbrtl-ieee.m4: New file.
6617         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
6618         test whether cbrtl works with a minus zero argument. Replace it if not.
6619         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
6620         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
6621         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
6622         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
6623         (Depends-on): Update conditions.
6624         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
6625         m4/signbit.m4.
6626         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
6627         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
6628         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
6629
6630         Tests for module 'cbrtl-ieee'.
6631         * modules/cbrtl-ieee-tests: New file.
6632         * tests/test-cbrtl-ieee.c: New file.
6633
6634         New module 'cbrtl-ieee'.
6635         * modules/cbrtl-ieee: New file.
6636
6637         Tests for module 'cbrt-ieee'.
6638         * modules/cbrt-ieee-tests: New file.
6639         * tests/test-cbrt-ieee.c: New file.
6640
6641         New module 'cbrt-ieee'.
6642         * modules/cbrt-ieee: New file.
6643
6644         Tests for module 'cbrtf-ieee'.
6645         * modules/cbrtf-ieee-tests: New file.
6646         * tests/test-cbrtf-ieee.c: New file.
6647         * tests/test-cbrt-ieee.h: New file.
6648
6649         New module 'cbrtf-ieee'.
6650         * modules/cbrtf-ieee: New file.
6651
6652 2012-02-29  Bruno Haible  <bruno@clisp.org>
6653
6654         cbrtf: Work around bug in IRIX 6.5 system function.
6655         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
6656         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
6657         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
6658         work.
6659         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
6660         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
6661         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
6662         (Depends-on): Update conditions.
6663         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
6664
6665 2012-02-29  Bruno Haible  <bruno@clisp.org>
6666
6667         Tests for module 'cbrtl'.
6668         * modules/cbrtl-tests: New file.
6669         * tests/test-cbrtl.c: New file.
6670
6671         New module 'cbrtl'.
6672         * lib/math.in.h (cbrtl): New declaration.
6673         * lib/cbrtl.c: New file.
6674         * m4/cbrtl.m4: New file.
6675         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
6676         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
6677         HAVE_DECL_CBRTL.
6678         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
6679         HAVE_DECL_CBRTL.
6680         * modules/cbrtl: New file.
6681         * tests/test-math-c++.cc: Check the declaration of cbrtl.
6682         * doc/posix-functions/cbrtl.texi: Mention the new module.
6683
6684 2012-02-29  Bruno Haible  <bruno@clisp.org>
6685
6686         Tests for module 'cbrtf'.
6687         * modules/cbrtf-tests: New file.
6688         * tests/test-cbrtf.c: New file.
6689
6690         New module 'cbrtf'.
6691         * lib/math.in.h (cbrtf): New declaration.
6692         * lib/cbrtf.c: New file.
6693         * m4/cbrtf.m4: New file.
6694         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
6695         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
6696         HAVE_DECL_CBRTF.
6697         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
6698         HAVE_DECL_CBRTF.
6699         * modules/cbrtf: New file.
6700         * tests/test-math-c++.cc: Check the declaration of cbrtf.
6701         * doc/posix-functions/cbrtf.texi: Mention the new module.
6702
6703 2012-02-29  Bruno Haible  <bruno@clisp.org>
6704
6705         cbrt: Provide replacement on MSVC and Minix.
6706         * lib/math.in.h (cbrt): New declaration.
6707         * lib/cbrt.c: New file.
6708         * m4/cbrt.m4: New file.
6709         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
6710         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
6711         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
6712         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
6713         (Depends-on): Add dependencies.
6714         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
6715         * tests/test-math-c++.cc: Check the declaration of cbrt.
6716         * doc/posix-functions/cbrt.texi: Mention that the module provides a
6717         replacement.
6718
6719 2012-02-29  Bruno Haible  <bruno@clisp.org>
6720
6721         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
6722         * m4/hypotl-ieee.m4: New file.
6723         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
6724         test whether hypotl works with mixed NaN and Infinity arguments.
6725         Replace it if not.
6726         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
6727         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
6728         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
6729         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
6730         (Depends-on): Update conditions.
6731         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
6732         (Depends-on): Add hypot-ieee.
6733         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
6734         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
6735
6736         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
6737         * m4/hypotf-ieee.m4: New file.
6738         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
6739         test whether hypotf works with mixed NaN and Infinity arguments.
6740         Replace it if not.
6741         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
6742         (Depends-on): Add hypot-ieee.
6743         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
6744         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
6745
6746         hypot-ieee: Work around test failure on OSF/1 and native Windows.
6747         * lib/math.in.h (hypot): New declaration.
6748         * lib/hypot.c: New file.
6749         * m4/hypot-ieee.m4: New file.
6750         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
6751         whether hypot works with mixed NaN and Infinity arguments. Replace it
6752         if not.
6753         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
6754         REPLACE_HYPOT.
6755         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
6756         * modules/hypot (Files): Add lib/hypot.c.
6757         (Depends-on): Add dependencies.
6758         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
6759         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
6760         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
6761         * tests/test-math-c++.cc: Check the declaration of hypot.
6762         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
6763
6764         Tests for module 'hypotl-ieee'.
6765         * modules/hypotl-ieee-tests: New file.
6766         * tests/test-hypotl-ieee.c: New file.
6767
6768         New module 'hypotl-ieee'.
6769         * modules/hypotl-ieee: New file.
6770
6771         Tests for module 'hypot-ieee'.
6772         * modules/hypot-ieee-tests: New file.
6773         * tests/test-hypot-ieee.c: New file.
6774
6775         New module 'hypot-ieee'.
6776         * modules/hypot-ieee: New file.
6777
6778         Tests for module 'hypotf-ieee'.
6779         * modules/hypotf-ieee-tests: New file.
6780         * tests/test-hypotf-ieee.c: New file.
6781         * tests/test-hypot-ieee.h: New file.
6782
6783         New module 'hypotf-ieee'.
6784         * modules/hypotf-ieee: New file.
6785
6786 2012-02-29  Bruno Haible  <bruno@clisp.org>
6787
6788         Remove unused variables.
6789         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
6790         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6791         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
6792         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6793
6794 2012-02-29  Eric Blake  <eblake@redhat.com>
6795
6796         termios: fix pid_t always, not just for tcgetsid
6797         * doc/posix-headers/termios.texi (termios.h): Mention problem.
6798         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
6799         just when building tcgetsid.
6800
6801 2012-02-29  Bruno Haible  <bruno@clisp.org>
6802
6803         Tests for module 'hypotl'.
6804         * modules/hypotl-tests: New file.
6805         * tests/test-hypotl.c: New file.
6806
6807         New module 'hypotl'.
6808         * lib/math.in.h (hypotl): New declaration.
6809         * lib/hypotl.c: New file.
6810         * m4/hypotl.m4: New file.
6811         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6812         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
6813         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
6814         * modules/hypotl: New file.
6815         * tests/test-math-c++.cc: Check the hypotl declaration.
6816         * doc/posix-functions/hypotl.texi: Mention the new module.
6817
6818 2012-02-29  Eric Blake  <eblake@redhat.com>
6819
6820         tcgetsid: fix cygwin header bug
6821         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
6822
6823         docs: update cygwin progress
6824         * doc/posix-functions/llround.texi (llround): Added in cygwin
6825         1.7.8.
6826         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
6827         * doc/glibc-functions/program_invocation_name.texi
6828         (program_invocation_name): Likewise.
6829         * doc/glibc-functions/program_invocation_short_name.texi
6830         (program_invocation_short_name): Likewise.
6831         * doc/glibc-functions/madvise.texi (madvise): Likewise.
6832         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
6833         Likewise.
6834         * doc/posix-functions/pthread_spin_destroy.texi
6835         (pthread_spin_destroy): Added in cygwin 1.7.10.
6836         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
6837         Likewise.
6838         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
6839         Likewise.
6840         * doc/posix-functions/pthread_spin_trylock.texi
6841         (pthread_spin_trylock): Likewise.
6842         * doc/posix-functions/pthread_spin_unlock.texi
6843         (pthread_spin_unlock): Likewise.
6844         * doc/posix-functions/pthread_setschedprio.texi
6845         (pthread_setschedprio): Likewise.
6846         * doc/posix-functions/pthread_attr_getstack.texi
6847         (pthread_attr_getstack): Likewise.
6848         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
6849         (pthread_attr_getstackaddr): Likewise.
6850         * doc/glibc-functions/pthread_getattr_np.texi
6851         (pthread_getattr_np): Likewise.
6852         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
6853         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
6854         * doc/posix-functions/clock_settime.texi (clock_settime):
6855         Likewise.
6856         * doc/posix-functions/pthread_attr_getguardsize.texi
6857         (pthread_attr_getguardsize): Likewise.
6858         * doc/posix-functions/pthread_attr_setguardsize.texi
6859         (pthread_attr_setguardsize): Likewise.
6860         * doc/posix-functions/pthread_attr_setstack.texi
6861         (pthread_attr_setstack): Likewise.
6862         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
6863         (pthread_attr_setstackaddr): Likewise.
6864         * doc/posix-functions/clock_getcpuclockid.texi
6865         (clock_getcpuclockid): Likewise.
6866         * doc/posix-functions/pthread_getcpuclockid.texi
6867         (pthread_getcpuclockid): Likewise.
6868         * doc/glibc-functions/error.texi (error): Likewise.
6869         * doc/glibc-functions/error_at_line.texi (error_at_line):
6870         Likewise.
6871         * doc/glibc-functions/error_message_count.texi
6872         (error_message_count): Likewise.
6873         * doc/glibc-functions/error_one_per_line.texi
6874         (error_one_per_line): Likewise.
6875         * doc/glibc-functions/error_print_progname.texi
6876         (error_print_progname): Likewise.
6877         * doc/posix-functions/pthread_condattr_getclock.texi
6878         (pthread_condattr_getclock): Likewise.
6879         * doc/posix-functions/pthread_condattr_setclock.texi
6880         (pthread_condattr_setclock): Likewise.
6881         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
6882         Likewise.
6883         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
6884         * doc/glibc-functions/getpt.texi (getpt): Likewise.
6885         * doc/glibc-functions/get_current_dir_name.texi
6886         (get_current_dir_name): Likewise.
6887         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
6888         Likewise.
6889         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
6890         wrong return type.
6891         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
6892         1.7.11.
6893
6894 2012-02-29  Bruno Haible  <bruno@clisp.org>
6895
6896         Tests for module 'hypotf'.
6897         * modules/hypotf-tests: New file.
6898         * tests/test-hypotf.c: New file.
6899
6900         New module 'hypotf'.
6901         * lib/math.in.h (hypotf): New declaration.
6902         * lib/hypotf.c: New file.
6903         * m4/hypotf.m4: New file.
6904         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6905         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
6906         REPLACE_HYPOTF.
6907         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
6908         REPLACE_HYPOTF.
6909         * modules/hypotf: New file.
6910         * tests/test-math-c++.cc: Check the hypotf declaration.
6911         * doc/posix-functions/hypotf.texi: Mention the new module.
6912
6913         hypot: Prepare for hypotf module.
6914         * m4/hypot.m4: New file.
6915         * modules/hypot (Files): Add m4/hypot.m4.
6916         (configure.ac): Invoke gl_FUNC_HYPOT.
6917
6918 2012-02-29  Bruno Haible  <bruno@clisp.org>
6919
6920         hypot tests: More tests.
6921         * tests/test-hypot.c: Include <float.h>.
6922         (main): Add tests about overflow and underflow.
6923
6924 2012-02-29  Bruno Haible  <bruno@clisp.org>
6925
6926         math code: Add comments.
6927         * lib/acosl.c: Add comment about related glibc source files.
6928         * lib/asinl.c: Likewise.
6929         * lib/atanl.c: Likewise.
6930         * lib/expl.c: Likewise.
6931         * lib/logl.c: Likewise.
6932         * lib/sincosl.c: Likewise.
6933         * lib/sinl.c: Likewise.
6934         * lib/tanl.c: Likewise.
6935         * lib/trigl.c: Likewise.
6936         * lib/cosl.c: Likewise. Fix comments.
6937
6938 2012-02-28  Bruno Haible  <bruno@clisp.org>
6939
6940         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
6941         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
6942         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
6943         HUGE_VALL are defined.
6944         (numeric_equald): Renamed from numeric_equal.
6945         (numeric_equalf, numeric_equall): New functions.
6946         (main): Check also HUGE_VALF, HUGE_VALL.
6947         * modules/math-tests (Files): Add tests/macros.h.
6948         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
6949         HUGE_VALL.
6950
6951 2012-02-28  Bruno Haible  <bruno@clisp.org>
6952
6953         doc: Move ISO C11 feature notes into POSIX chapters.
6954         * doc/posix-functions/aligned_alloc.texi: Renamed from
6955         doc/glibc-functions/aligned_alloc.texi.
6956         * doc/posix-functions/quick_exit.texi: Renamed from
6957         doc/glibc-functions/quick_exit.texi.
6958         * doc/posix-headers/uchar.texi: Renamed from
6959         doc/glibc-headers/uchar.texi.
6960         * doc/posix-functions/c16rtomb.texi: Renamed from
6961         doc/glibc-functions/c16rtomb.texi.
6962         * doc/posix-functions/c32rtomb.texi: Renamed from
6963         doc/glibc-functions/c32rtomb.texi.
6964         * doc/posix-functions/mbrtoc16.texi: Renamed from
6965         doc/glibc-functions/mbrtoc16.texi.
6966         * doc/posix-functions/mbrtoc32.texi: Renamed from
6967         doc/glibc-functions/mbrtoc32.texi.
6968         * doc/gnulib.texi: Update.
6969         (Glibc uchar.h): Remove section.
6970         Suggested by Eric Blake.
6971
6972 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
6973
6974         stdnoreturn: port to MSVC better
6975         MSVC standard headers use __declspec(noreturn), so #define noreturn
6976         to empty on that platform.  Reported by Bruno Haible in
6977         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
6978         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
6979         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
6980
6981 2012-02-28  Bruno Haible  <bruno@clisp.org>
6982
6983         doc: Mention new glibc headers and functions.
6984         * doc/glibc-headers/uchar.texi: New file.
6985         * doc/glibc-functions/aligned_alloc.texi: New file.
6986         * doc/glibc-functions/c16rtomb.texi: New file.
6987         * doc/glibc-functions/c32rtomb.texi: New file.
6988         * doc/glibc-functions/clock_adjtime.texi: New file.
6989         * doc/glibc-functions/fanotify_init.texi: New file.
6990         * doc/glibc-functions/fanotify_mark.texi: New file.
6991         * doc/glibc-functions/inet6_opt_append.texi: New file.
6992         * doc/glibc-functions/inet6_opt_find.texi: New file.
6993         * doc/glibc-functions/inet6_opt_finish.texi: New file.
6994         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
6995         * doc/glibc-functions/inet6_opt_init.texi: New file.
6996         * doc/glibc-functions/inet6_opt_next.texi: New file.
6997         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
6998         * doc/glibc-functions/inet6_rth_add.texi: New file.
6999         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
7000         * doc/glibc-functions/inet6_rth_init.texi: New file.
7001         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
7002         * doc/glibc-functions/inet6_rth_segments.texi: New file.
7003         * doc/glibc-functions/inet6_rth_space.texi: New file.
7004         * doc/glibc-functions/login.texi: New file.
7005         * doc/glibc-functions/mbrtoc16.texi: New file.
7006         * doc/glibc-functions/mbrtoc32.texi: New file.
7007         * doc/glibc-functions/name_to_handle_at.texi: New file.
7008         * doc/glibc-functions/ntp_gettimex.texi: New file.
7009         * doc/glibc-functions/open_by_handle_at.texi: New file.
7010         * doc/glibc-functions/prlimit.texi: New file.
7011         * doc/glibc-functions/process_vm_readv.texi: New file.
7012         * doc/glibc-functions/process_vm_writev.texi: New file.
7013         * doc/glibc-functions/recvmmsg.texi: New file.
7014         * doc/glibc-functions/scandirat.texi: New file.
7015         * doc/glibc-functions/sendmmsg.texi: New file.
7016         * doc/glibc-functions/setns.texi: New file.
7017         * doc/glibc-functions/timespec_get.texi: New file.
7018         * doc/gnulib.texi: Include them.
7019         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
7020         sections.
7021         Reported by Eric Blake.
7022
7023 2012-02-28  Bruno Haible  <bruno@clisp.org>
7024
7025         Avoid compilation errors with MSVC option -fp:strict.
7026         * lib/floor.c: Use MSVC specific pragma fenv_access.
7027         * lib/ceil.c: Likewise.
7028         * lib/trunc.c: Likewise.
7029         * lib/round.c: Likewise.
7030         * lib/rint.c: Likewise.
7031         * lib/fma.c: Likewise.
7032         * lib/integer_length.c: Likewise.
7033         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7034         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7035         * tests/test-floor2.c: Likewise.
7036         * tests/test-floorf2.c: Likewise.
7037         * tests/test-ceil2.c: Likewise.
7038         * tests/test-ceilf2.c: Likewise.
7039         * tests/test-trunc2.c: Likewise.
7040         * tests/test-truncf2.c: Likewise.
7041         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7042
7043 2012-02-27  Bruno Haible  <bruno@clisp.org>
7044
7045         Tests for module 'sqrtl-ieee'.
7046         * modules/sqrtl-ieee-tests: New file.
7047         * tests/test-sqrtl-ieee.c: New file.
7048
7049         New module 'sqrtl-ieee'.
7050         * modules/sqrtl-ieee: New file.
7051
7052         Tests for module 'sqrt-ieee'.
7053         * modules/sqrt-ieee-tests: New file.
7054         * tests/test-sqrt-ieee.c: New file.
7055
7056         New module 'sqrt-ieee'.
7057         * modules/sqrt-ieee: New file.
7058
7059         Tests for module 'sqrtf-ieee'.
7060         * modules/sqrtf-ieee-tests: New file.
7061         * tests/test-sqrtf-ieee.c: New file.
7062         * tests/test-sqrt-ieee.h: New file.
7063
7064         New module 'sqrtf-ieee'.
7065         * modules/sqrtf-ieee: New file.
7066
7067 2012-02-27  Bruno Haible  <bruno@clisp.org>
7068
7069         remainderl-ieee: Work around test failure on OSF/1.
7070         * m4/remainderl-ieee.m4: New file.
7071         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
7072         present, test whether remainderl works with a zero second argument.
7073         Replace it if not.
7074         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
7075         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
7076         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
7077         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
7078         (Depends-on): Update conditions.
7079         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
7080         (Depends-on): Add remainder-ieee.
7081         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
7082         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
7083         module.
7084
7085         remainderf-ieee: Work around test failure on OSF/1.
7086         * m4/remainderf-ieee.m4: New file.
7087         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
7088         present, test whether remainderf works with a zero second argument.
7089         Replace it if not.
7090         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
7091         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
7092         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
7093         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
7094         (Depends-on): Update conditions.
7095         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
7096         (Depends-on): Add remainder-ieee.
7097         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
7098         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
7099         module.
7100
7101         remainder-ieee: Work around test failure on OSF/1.
7102         * m4/remainder-ieee.m4: New file.
7103         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
7104         present, test whether remainder works with a zero second argument.
7105         Replace it if not.
7106         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
7107         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
7108         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
7109         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
7110         (Depends-on): Update dependencies.
7111         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
7112         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
7113         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
7114
7115         Tests for module 'remainderl-ieee'.
7116         * modules/remainderl-ieee-tests: New file.
7117         * tests/test-remainderl-ieee.c: New file.
7118
7119         New module 'remainderl-ieee'.
7120         * modules/remainderl-ieee: New file.
7121
7122         Tests for module 'remainder-ieee'.
7123         * modules/remainder-ieee-tests: New file.
7124         * tests/test-remainder-ieee.c: New file.
7125
7126         New module 'remainder-ieee'.
7127         * modules/remainder-ieee: New file.
7128
7129         Tests for module 'remainderf-ieee'.
7130         * modules/remainderf-ieee-tests: New file.
7131         * tests/test-remainderf-ieee.c: New file.
7132         * tests/test-remainder-ieee.h: New file.
7133
7134         New module 'remainderf-ieee'.
7135         * modules/remainderf-ieee: New file.
7136
7137 2012-02-27  Bruno Haible  <bruno@clisp.org>
7138
7139         modff, modfl: Fix configure syntax error.
7140         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
7141         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
7142
7143 2012-02-27  Bruno Haible  <bruno@clisp.org>
7144
7145         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
7146         * m4/fmodl-ieee.m4: New file.
7147         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
7148         whether fmodl works with zero arguments. Replace it if not.
7149         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
7150         (Depends-on): Add fmod-ieee.
7151         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
7152         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
7153
7154         fmodf-ieee: Work around test failure on OSF/1.
7155         * m4/fmodf-ieee.m4: New file.
7156         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
7157         whether fmodf works with zero arguments. Replace it if not.
7158         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
7159         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
7160         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
7161         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
7162         (Depends-on): Update dependencies.
7163         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
7164         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
7165         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
7166
7167         fmodf-ieee: Work around test failure on MSVC 9.
7168         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
7169         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
7170
7171         fmod-ieee: Work around test failures on OSF/1, mingw.
7172         * m4/fmod-ieee.m4: New file.
7173         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
7174         whether fmod works with zero arguments. Replace it if not.
7175         * lib/math.in.h (fmod): New declaration.
7176         * lib/fmod.c: New file.
7177         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
7178         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
7179         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
7180         * modules/fmod (Files): Add lib/fmod.c.
7181         (Depends-on): Add math, isinf, trunc, fma.
7182         (configure.ac): Arrange to compile lib/fmod.c if needed.
7183         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
7184         m4/signbit.m4.
7185         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
7186         * tests/test-math-c++.cc: Check the declaration of fmod.
7187         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
7188
7189         fmodl-ieee: Fix test failures.
7190         * lib/fmodl.c (fmodl): Treat Inf specially.
7191         * modules/fmodl (Depends-on): Add isinf.
7192
7193         Tests for module 'fmodl-ieee'.
7194         * modules/fmodl-ieee-tests: New file.
7195         * tests/test-fmodl-ieee.c: New file.
7196
7197         New module 'fmodl-ieee'.
7198         * modules/fmodl-ieee: New file.
7199
7200         Tests for module 'fmod-ieee'.
7201         * modules/fmod-ieee-tests: New file.
7202         * tests/test-fmod-ieee.c: New file.
7203
7204         New module 'fmod-ieee'.
7205         * modules/fmod-ieee: New file.
7206
7207         Tests for module 'fmodf-ieee'.
7208         * modules/fmodf-ieee-tests: New file.
7209         * tests/test-fmodf-ieee.c: New file.
7210         * tests/test-fmod-ieee.h: New file.
7211
7212         New module 'fmodf-ieee'.
7213         * modules/fmodf-ieee: New file.
7214
7215 2012-02-27  Bruno Haible  <bruno@clisp.org>
7216
7217         Tests for module 'rintl-ieee'.
7218         * modules/rintl-ieee-tests: New file.
7219         * tests/test-rintl-ieee.c: New file.
7220
7221         New module 'rintl-ieee'.
7222         * modules/rintl-ieee: New file.
7223
7224         Tests for module 'rint-ieee'.
7225         * modules/rint-ieee-tests: New file.
7226         * tests/test-rint-ieee.c: New file.
7227
7228         New module 'rint-ieee'.
7229         * modules/rint-ieee: New file.
7230
7231         Tests for module 'rintf-ieee'.
7232         * modules/rintf-ieee-tests: New file.
7233         * tests/test-rintf-ieee.c: New file.
7234         * tests/test-rint-ieee.h: New file.
7235
7236         New module 'rintf-ieee'.
7237         * modules/rintf-ieee: New file.
7238
7239 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
7240
7241         regex: re_search etc. should return -2 when memory exhausted
7242         This bug was uncovered when testing 'grep'.  Without the fix,
7243         re_search and friends return -1 when memory is exhausted, but -1
7244         means no match, and this causes grep to falsely report no-match
7245         instead of memory-exhaustion.  See
7246         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
7247         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
7248         trouble; this can occur if re_search_internal ran out of memory.
7249
7250 2012-02-26  Bruno Haible  <bruno@clisp.org>
7251
7252         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
7253         * m4/modfl-ieee.m4: New file.
7254         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
7255         whether modfl works with Inf. Replace it if not.
7256         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
7257         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
7258         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
7259         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
7260         (Depends-on): Update dependencies.
7261         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
7262         m4/signbit.m4.
7263         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
7264         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
7265
7266         modfl-ieee: Fix dependencies.
7267         * modules/modfl-ieee (Depends-on): Add modf-ieee.
7268
7269         modfl-ieee: Fix test failures.
7270         * lib/modfl.c (modfl): Treat NaN and Inf specially.
7271         * modules/modfl (Depends-on): Add isfinite, isinf.
7272
7273         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
7274         * m4/modff-ieee.m4: New file.
7275         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
7276         whether modff works with NaN and Inf. Replace it if not.
7277         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
7278         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
7279         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
7280         * modules/modff (configure.ac): Consider REPLACE_MODFF.
7281         (Depends-on): Update dependencies.
7282         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
7283         m4/signbit.m4.
7284         (Depends-on): Add modf-ieee.
7285         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
7286         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
7287
7288         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
7289         * m4/modf-ieee.m4: New file.
7290         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
7291         whether modf works with NaN and Inf. Replace it if not.
7292         * lib/math.in.h (modf): New declaration.
7293         * lib/modf.c: New file.
7294         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
7295         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
7296         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
7297         * modules/modf (Files): Add lib/modf.c.
7298         (Depends-on): Add math, isfinite, trunc, isinf.
7299         (configure.ac): Addrange to compile lib/modf.c if needed.
7300         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
7301         m4/signbit.m4.
7302         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
7303         * tests/test-math-c++.cc: Check the declaration of modf.
7304         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
7305
7306         Tests for module 'modfl-ieee'.
7307         * modules/modfl-ieee-tests: New file.
7308         * tests/test-modfl-ieee.c: New file.
7309
7310         New module 'modfl-ieee'.
7311         * modules/modfl-ieee: New file.
7312
7313         Tests for module 'modf-ieee'.
7314         * modules/modf-ieee-tests: New file.
7315         * tests/test-modf-ieee.c: New file.
7316
7317         New module 'modf-ieee'.
7318         * modules/modf-ieee: New file.
7319
7320         Tests for module 'modff-ieee'.
7321         * modules/modff-ieee-tests: New file.
7322         * tests/test-modff-ieee.c: New file.
7323         * tests/test-modf-ieee.h: New file.
7324
7325         New module 'modff-ieee'.
7326         * modules/modff-ieee: New file.
7327
7328 2012-02-26  Bruno Haible  <bruno@clisp.org>
7329
7330         Tests for module 'fabsl-ieee'.
7331         * modules/fabsl-ieee-tests: New file.
7332         * tests/test-fabsl-ieee.c: New file.
7333
7334         New module 'fabsl-ieee'.
7335         * modules/fabsl-ieee: New file.
7336
7337         Tests for module 'fabs-ieee'.
7338         * modules/fabs-ieee-tests: New file.
7339         * tests/test-fabs-ieee.c: New file.
7340
7341         New module 'fabs-ieee'.
7342         * modules/fabs-ieee: New file.
7343
7344         Tests for module 'fabsf-ieee'.
7345         * modules/fabsf-ieee-tests: New file.
7346         * tests/test-fabsf-ieee.c: New file.
7347         * tests/test-fabs-ieee.h: New file.
7348
7349         New module 'fabsf-ieee'.
7350         * modules/fabsf-ieee: New file.
7351
7352 2012-02-26  Bruno Haible  <bruno@clisp.org>
7353
7354         Tests for module 'fmal-ieee'.
7355         * modules/fmal-ieee-tests: New file.
7356         * tests/test-fmal-ieee.c: New file.
7357
7358         New module 'fmal-ieee'.
7359         * modules/fmal-ieee: New file.
7360
7361         Tests for module 'fma-ieee'.
7362         * modules/fma-ieee-tests: New file.
7363         * tests/test-fma-ieee.c: New file.
7364
7365         New module 'fma-ieee'.
7366         * modules/fma-ieee: New file.
7367
7368         Tests for module 'fmaf-ieee'.
7369         * modules/fmaf-ieee-tests: New file.
7370         * tests/test-fmaf-ieee.c: New file.
7371         * tests/test-fma-ieee.h: New file.
7372
7373         New module 'fmaf-ieee'.
7374         * modules/fmaf-ieee: New file.
7375
7376 2012-02-26  Bruno Haible  <bruno@clisp.org>
7377
7378         Tests for module 'ldexpl-ieee'.
7379         * modules/ldexpl-ieee-tests: New file.
7380         * tests/test-ldexpl-ieee.c: New file.
7381
7382         New module 'ldexpl-ieee'.
7383         * modules/ldexpl-ieee: New file.
7384
7385         Tests for module 'ldexp-ieee'.
7386         * modules/ldexp-ieee-tests: New file.
7387         * tests/test-ldexp-ieee.c: New file.
7388
7389         New module 'ldexp-ieee'.
7390         * modules/ldexp-ieee: New file.
7391
7392         Tests for module 'ldexpf-ieee'.
7393         * modules/ldexpf-ieee-tests: New file.
7394         * tests/test-ldexpf-ieee.c: New file.
7395         * tests/test-ldexp-ieee.h: New file.
7396
7397         New module 'ldexpf-ieee'.
7398         * modules/ldexpf-ieee: New file.
7399
7400 2012-02-26  Bruno Haible  <bruno@clisp.org>
7401
7402         Refactor frexp*-ieee tests.
7403         * tests/test-frexp-ieee.h: New file.
7404         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
7405         (main): Just call test_function.
7406         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
7407         (main): Just call test_function.
7408         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
7409         (main): Just call test_function.
7410         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
7411         * modules/frexp-ieee-tests (Files): Likewise.
7412         * modules/frexpl-ieee-tests (Files): Likewise.
7413
7414         Tests for module 'frexpl-ieee'.
7415         * modules/frexpl-ieee-tests: New file.
7416         * tests/test-frexpl-ieee.c: New file.
7417
7418         New module 'frexpl-ieee'.
7419         * modules/frexpl-ieee: New file.
7420
7421         Tests for module 'frexp-ieee'.
7422         * modules/frexp-ieee-tests: New file.
7423         * tests/test-frexp-ieee.c: New file.
7424
7425         New module 'frexp-ieee'.
7426         * modules/frexp-ieee: New file.
7427
7428         Tests for module 'frexpf-ieee'.
7429         * modules/frexpf-ieee-tests: New file.
7430         * tests/test-frexpf-ieee.c: New file.
7431
7432         New module 'frexpf-ieee'.
7433         * modules/frexpf-ieee: New file.
7434
7435 2012-02-26  Bruno Haible  <bruno@clisp.org>
7436
7437         roundl-ieee tests: More tests.
7438         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7439         (main): Add tests for [MX] shaded specification in POSIX.
7440         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7441         (Depends-on): Add isnanl-nolibm.
7442
7443         round-ieee tests: More tests.
7444         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7445         (main): Add tests for [MX] shaded specification in POSIX.
7446         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7447         (Depends-on): Add isnand-nolibm.
7448
7449         roundf-ieee tests: More tests.
7450         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7451         (main): Add tests for [MX] shaded specification in POSIX.
7452         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7453         (Depends-on): Add isnanf-nolibm.
7454
7455         truncl-ieee tests: More tests.
7456         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7457         (main): Add tests for [MX] shaded specification in POSIX.
7458         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7459         (Depends-on): Add isnanl-nolibm.
7460
7461         trunc-ieee tests: More tests.
7462         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7463         (main): Add tests for [MX] shaded specification in POSIX.
7464         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7465         (Depends-on): Add isnand-nolibm.
7466
7467         truncf-ieee tests: More tests.
7468         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7469         (main): Add tests for [MX] shaded specification in POSIX.
7470         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7471         (Depends-on): Add isnanf-nolibm.
7472
7473         ceill-ieee tests: More tests.
7474         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7475         (main): Add tests for [MX] shaded specification in POSIX.
7476         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7477         (Depends-on): Add isnanl-nolibm.
7478
7479         ceil-ieee tests: More tests.
7480         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7481         (main): Add tests for [MX] shaded specification in POSIX.
7482         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7483         (Depends-on): Add isnand-nolibm.
7484
7485         ceilf-ieee tests: More tests.
7486         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7487         (main): Add tests for [MX] shaded specification in POSIX.
7488         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7489         (Depends-on): Add isnanf-nolibm.
7490
7491         floorl-ieee tests: More tests.
7492         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7493         (main): Add tests for [MX] shaded specification in POSIX.
7494         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7495         (Depends-on): Add isnanl-nolibm.
7496
7497         floor-ieee tests: More tests.
7498         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7499         (main): Add tests for [MX] shaded specification in POSIX.
7500         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7501         (Depends-on): Add isnand-nolibm.
7502
7503         floorf-ieee tests: More tests.
7504         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7505         (main): Add tests for [MX] shaded specification in POSIX.
7506         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7507         (Depends-on): Add isnanf-nolibm.
7508
7509 2012-02-26  Bruno Haible  <bruno@clisp.org>
7510
7511         fpieee: More comments.
7512         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
7513
7514 2012-02-25  Bruno Haible  <bruno@clisp.org>
7515
7516         Tests for module 'log10l'.
7517         * modules/log10l-tests: New file.
7518         * tests/test-log10l.c: New file.
7519         * tests/test-math-c++.cc: Check the declaration of log10l.
7520
7521         New module 'log10l'.
7522         * lib/math.in.h (log10l): New declaration.
7523         * lib/log10l.c: New file.
7524         * m4/log10l.m4: New file.
7525         * modules/log10l: New file.
7526         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
7527         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
7528         HAVE_DECL_LOG10L.
7529         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
7530         HAVE_DECL_LOG10L.
7531         * doc/posix-functions/log10l.texi: Mention the new module.
7532
7533 2012-02-25  Bruno Haible  <bruno@clisp.org>
7534
7535         fmodl, remainder*: Avoid wrong results due to rounding errors.
7536         * lib/fmodl.c (fmodl): Correct the result if it is not within the
7537         expected bounds.
7538         * lib/remainderf.c (remainderf): Likewise.
7539         * lib/remainder.c (remainder): Likewise.
7540         * lib/remainderl.c (remainderl): Likewise.
7541
7542 2012-02-25  Bruno Haible  <bruno@clisp.org>
7543
7544         Tests for module 'remainderl'.
7545         * modules/remainderl-tests: New file.
7546         * tests/test-remainderl.c: New file.
7547         * tests/test-math-c++.cc: Check the declaration of remainderl.
7548
7549         New module 'remainderl'.
7550         * lib/math.in.h (remainderl): New declaration.
7551         * lib/remainderl.c: New file.
7552         * m4/remainderl.m4: New file.
7553         * modules/remainderl: New file.
7554         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
7555         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
7556         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
7557         HAVE_REMAINDERL.
7558         * doc/posix-functions/remainderl.texi: Mention the new module.
7559
7560 2012-02-25  Bruno Haible  <bruno@clisp.org>
7561
7562         Tests for module 'remainderf'.
7563         * modules/remainderf-tests: New file.
7564         * tests/test-remainderf.c: New file.
7565         * tests/test-math-c++.cc: Check the declaration of remainderf.
7566
7567         New module 'remainderf'.
7568         * lib/math.in.h (remainderf): New declaration.
7569         * lib/remainderf.c: New file.
7570         * m4/remainderf.m4: New file.
7571         * modules/remainderf: New file.
7572         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
7573         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
7574         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
7575         HAVE_REMAINDERF.
7576         * doc/posix-functions/remainderf.texi: Mention the new module.
7577
7578 2012-02-25  Bruno Haible  <bruno@clisp.org>
7579
7580         remainder: Support for MSVC.
7581         * lib/math.in.h (remainder): New declaration.
7582         * lib/remainder.c: New file.
7583         * m4/remainder.m4: New file.
7584         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
7585         (Depends-on): Add math, round, fma.
7586         (configure.ac): Use results of gl_FUNC_REMAINDER.
7587         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
7588         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
7589         HAVE_DECL_REMAINDER.
7590         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
7591         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
7592         * tests/test-math-c++.cc: Check the declaration of remainder.
7593         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
7594         problems are fixed.
7595
7596 2012-02-25  Bruno Haible  <bruno@clisp.org>
7597
7598         Tests for module 'fmodl'.
7599         * modules/fmodl-tests: New file.
7600         * tests/test-fmodl.c: New file.
7601         * tests/test-math-c++.cc: Check the declaration of fmodl.
7602
7603         New module 'fmodl'.
7604         * lib/math.in.h (fmodl): New declaration.
7605         * lib/fmodl.c: New file.
7606         * m4/fmodl.m4: New file.
7607         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
7608         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
7609         REPLACE_FMODL.
7610         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
7611         REPLACE_FMODL.
7612         * modules/fmodl: New file.
7613         * doc/posix-functions/fmodl.texi: Mention the new module.
7614
7615 2012-02-25  Bruno Haible  <bruno@clisp.org>
7616
7617         Tests for module 'modfl'.
7618         * modules/modfl-tests: New file.
7619         * tests/test-modfl.c: New file.
7620         * tests/test-math-c++.cc: Check the declaration of modfl.
7621
7622         New module 'modfl'.
7623         * lib/math.in.h (modfl): New declaration.
7624         * lib/modfl.c: New file.
7625         * m4/modfl.m4: New file.
7626         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
7627         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
7628         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
7629         * modules/modfl: New file.
7630         * doc/posix-functions/modfl.texi: Mention the new module.
7631
7632 2012-02-25  Bruno Haible  <bruno@clisp.org>
7633
7634         Tests for module 'fabsl'.
7635         * modules/fabsl-tests: New file.
7636         * tests/test-fabsl.c: New file.
7637         * tests/test-math-c++.cc: Check the declaration of fabsl.
7638
7639         New module 'fabsl'.
7640         * lib/math.in.h (fabsl): New declaration.
7641         * lib/fabsl.c: New file.
7642         * m4/fabsl.m4: New file.
7643         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
7644         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
7645         REPLACE_FABSL.
7646         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
7647         REPLACE_FABSL.
7648         * modules/fabsl: New file.
7649         * doc/posix-functions/fabsl.texi: Mention the new module.
7650
7651 2012-02-25  Bruno Haible  <bruno@clisp.org>
7652
7653         fabs tests: More tests.
7654         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
7655         (zero): New variable.
7656         (main): Add tests for signed zero.
7657         * modules/fabs-tests (Files): Add tests/minus-zero.h.
7658
7659         fabsf tests: More tests.
7660         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
7661         (zero): New variable.
7662         (main): Add tests for signed zero.
7663         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
7664
7665 2012-02-24  Bruno Haible  <bruno@clisp.org>
7666
7667         atanl: Provide function definition on MSVC.
7668         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
7669         function pointer.
7670         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
7671
7672 2012-02-24  Bruno Haible  <bruno@clisp.org>
7673
7674         acosl: Provide function definition on MSVC.
7675         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
7676         function pointer.
7677         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
7678
7679 2012-02-24  Bruno Haible  <bruno@clisp.org>
7680
7681         asinl: Provide function definition on MSVC.
7682         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
7683         function pointer.
7684         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
7685
7686 2012-02-24  Bruno Haible  <bruno@clisp.org>
7687
7688         tanl: Provide function definition on MSVC.
7689         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
7690         function pointer.
7691         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
7692
7693 2012-02-24  Bruno Haible  <bruno@clisp.org>
7694
7695         cosl: Provide function definition on MSVC.
7696         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
7697         function pointer.
7698         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
7699
7700 2012-02-24  Bruno Haible  <bruno@clisp.org>
7701
7702         sinl: Provide function definition on MSVC.
7703         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
7704         function pointer.
7705         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
7706
7707 2012-02-24  Bruno Haible  <bruno@clisp.org>
7708
7709         logl: Provide function definition on MSVC.
7710         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
7711         function pointer.
7712         * lib/math.in.h (logl): Undefine if it does not exist as a function.
7713
7714 2012-02-24  Bruno Haible  <bruno@clisp.org>
7715
7716         expl: Provide function definition on MSVC.
7717         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
7718         function pointer.
7719         * lib/math.in.h (expl): Undefine if it does not exist as a function.
7720
7721 2012-02-24  Bruno Haible  <bruno@clisp.org>
7722
7723         sqrtl: Provide function definition on MSVC.
7724         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
7725         a function pointer.
7726         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
7727
7728 2012-02-24  Bruno Haible  <bruno@clisp.org>
7729
7730         ceill: Provide function definition on MSVC.
7731         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
7732         used as a function pointer.
7733         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
7734
7735 2012-02-24  Bruno Haible  <bruno@clisp.org>
7736
7737         floorl: Provide function definition on MSVC.
7738         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
7739         used as a function pointer.
7740         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
7741
7742 2012-02-24  Bruno Haible  <bruno@clisp.org>
7743
7744         ceilf: Provide function definition on MSVC.
7745         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
7746         used as a function pointer.
7747         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
7748
7749 2012-02-24  Bruno Haible  <bruno@clisp.org>
7750
7751         floorf: Provide function definition on MSVC.
7752         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
7753         used as a function pointer.
7754         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
7755
7756 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7757
7758         stdnoreturn: new module
7759         This implements a replacement for C11's <stdnoreturn.h>.
7760         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
7761         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
7762         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
7763         * tests/test-stdnoreturn.c: New files.
7764
7765 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
7766
7767         regex: fix false multibyte matches in some regular expressions
7768         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
7769         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
7770         * lib/regex_internal.c (re_string_skip_chars):
7771         Fix miscomputation of remain_len that may cause incomplete
7772         multi-byte character and false match.
7773
7774 2012-02-24  Jim Meyering  <meyering@redhat.com>
7775
7776         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
7777         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
7778         uses with "==" *before* the call, e.g., 0 == strcmp (...)
7779         Remove now-unnecessary str''cmp obfuscation.
7780         Suggested by Akim Demaille.
7781
7782 2012-02-24  Bruno Haible  <bruno@clisp.org>
7783
7784         streq: Rename macro.
7785         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
7786         * NEWS: Mention the change.
7787         * lib/mbrtowc.c (mbrtowc): Update.
7788         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
7789         * lib/wcwidth.c (wcwidth): Update.
7790         Suggested by Akim Demaille and Jim Meyering.
7791
7792 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7793
7794         regex: fix typo in definition of MIN
7795         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
7796         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
7797
7798 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7799             Bruno Haible  <bruno@clisp.org>
7800
7801         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
7802         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
7803         entries into a stack-allocated buffer directly.
7804         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
7805
7806 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7807             Bruno Haible  <bruno@clisp.org>
7808
7809         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
7810
7811          - There were several instances of this pattern:
7812
7813              for (;;) {
7814                n = acl (f, GETACLCNT, 0, NULL);
7815                [ allocate an array A of size N ]
7816                if (acl (f, GETACL, n, a) == n)
7817                  break;
7818              }
7819
7820            This loop might never terminate if some other process is constantly
7821            manipulating the file's ACL.  The loop should be rewritten to
7822            terminate.
7823
7824          - The acl (... GETACLNT ...) call is merely an optimization; its value
7825            is merely a hint as to how big to make the array.  A better
7826            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
7827            and just guess a reasonably-big size, growing the size and trying
7828            again if it's not large enough.  This guarantees termination, and
7829            saves a system call.
7830
7831         * lib/acl-internal.h: Include <limits.h>.
7832         (MIN, SIZE_MAX): New macros.
7833         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
7834         a stack-allocated buffer, and use malloc if it does not fit. Don't
7835         use GETACLCNT.
7836         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7837
7838 2012-02-19  Bruno Haible  <bruno@clisp.org>
7839
7840         acl: Fix endless loop on Solaris with vxfs.
7841         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
7842         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
7843         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7844         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
7845         * tests/test-sameacls.c (main)[Solaris]: Likewise.
7846         Reported by Bill Jones in
7847         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
7848
7849 2012-02-19  Bruno Haible  <bruno@clisp.org>
7850
7851         acl: Fix copy-acl test failure on Solaris 11 2011-11.
7852         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
7853         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
7854         that this function returns 0 in some more cases.
7855
7856 2012-02-19  Bruno Haible  <bruno@clisp.org>
7857
7858         acl: Update doc references.
7859         * doc/acl-resources.txt: Update links to Solaris documentation.
7860
7861 2012-02-19  Bruno Haible  <bruno@clisp.org>
7862
7863         Fix test failure in many locales on Solaris 11.
7864         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
7865         'tr' arguments.
7866         * tests/test-pipe-filter-ii1.c (main): Likewise.
7867         * build-aux/bootstrap (check_versions): Run 'tr' command with range
7868         expressions in the C locale.
7869         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7870         * m4/host-os.m4 (gl_HOST_OS): Likewise.
7871
7872 2012-02-19  Bruno Haible  <bruno@clisp.org>
7873
7874         gnulib-tool: Improve usage message.
7875         * gnulib-tool (func_usage): Move doc of --help and --version to the
7876         section "Operation modes".
7877
7878 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
7879
7880         README-release: make it easier to execute commands
7881         * top/README-release: break commands out on to separate lines.
7882
7883 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
7884
7885         GNUmakefile: simplify detection of unconfigured trees
7886         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
7887         whether the tree make is being run from is already configured or
7888         not.  Related simplifications.
7889
7890 2012-02-13  Simon Josefsson  <simon@josefsson.org>
7891
7892         * gnulib-tool (func_usage): Document --help and --version.
7893
7894 2012-02-11  Jim Meyering  <meyering@redhat.com>
7895
7896         bootstrap: don't exit 0 upon gnulib-tool failure
7897         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
7898         its exit status, not 0.
7899
7900 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
7901
7902         README-release: various improvements
7903         * top/README-release: Give a command to push changes for the
7904         release.  Add "distcheck" to list of other pre-release checks.
7905         Fix instance of "make stable" which should be "make TYPE".
7906
7907 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7908
7909         maint: replace FSF snail-mail addresses with URLs
7910         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
7911         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
7912         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
7913         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
7914         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
7915         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
7916         * lib/check-version.c, lib/check-version.h, lib/config.charset:
7917         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
7918         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
7919         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
7920         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
7921         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
7922         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
7923         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
7924         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
7925         * lib/glthread/thread.c, lib/glthread/thread.h:
7926         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
7927         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
7928         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
7929         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
7930         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
7931         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
7932         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
7933         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
7934         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
7935         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
7936         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
7937         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
7938         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
7939         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
7940         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
7941         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
7942         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
7943         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
7944         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
7945         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
7946         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
7947         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
7948         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
7949         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
7950         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
7951         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
7952         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
7953         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
7954         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
7955         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
7956         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
7957         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
7958         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
7959         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
7960         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
7961         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
7962         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
7963         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
7964         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
7965         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
7966         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
7967         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
7968         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
7969         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
7970         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
7971         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
7972         * tests/test-poll.c, tests/test-quotearg-simple.c:
7973         * tests/test-quotearg.c, tests/test-quotearg.h:
7974         * tests/test-round-ieee.c, tests/test-round1.c:
7975         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
7976         * tests/test-roundl-ieee.c, tests/test-roundl.c:
7977         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
7978         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
7979         * tests/test-strerror.c, tests/test-strerror_r.c:
7980         * tests/test-strsignal.c, tests/test-strverscmp.c:
7981         * tests/test-xmemdup0.c:
7982         Replace FSF snail mail addresses with URLs, as per GNU coding
7983         standards.  See glibc bug
7984         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
7985
7986 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
7987
7988         README-release: capitalize a word and split a line
7989         * top/README-release: Fix punctuation and spacing.
7990
7991 2012-02-08  Akim Demaille  <demaille@gostai.com>
7992
7993         fatal-signal: use C prototypes (with explicit void).
7994         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
7995         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
7996
7997 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7998
7999         regex: spelling fix
8000         * lib/regexec.c: spelling fix
8001
8002         regex: rely on stdint.h for SIZE_MAX
8003         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
8004
8005 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8006
8007         regex: merge glibc changes
8008
8009         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
8010         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
8011         (init_word_char): Work even if bitset words are not exactly 32 or
8012         64 bits wide.  Don't assume there are no padding bits.
8013         * lib/regex.c [_LIBC]: Do not include <config.h>.
8014         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
8015         and -Wtype-limits.
8016         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
8017         needless disagreement with glibc.  All uses changed.  Define it to
8018         1 only if _GNU_SOURCE, to match glibc.
8019         (_REG_RM_NAME): Remove; no longer needed, since the names in
8020         question are now all protected by __USE_GNU.
8021         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
8022         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
8023         * lib/regex_internal.h (MIN): New macro.
8024
8025         2012-01-03 Ulrich Drepper <drepper@gmail.com>
8026         * lib/regcomp.c (init_word_char): Optimize regex a bit.
8027
8028         2011-12-30 Jakub Jelinek <jakub@redhat.com>
8029         * lib/regex_internal.c (re_string_fetch_byte_case):
8030         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
8031         is miscompiled, and it turns out it is because of an incorrect
8032         attribute on re_string_fetch_byte_case.  Unlike
8033         re_string_peek_byte_case, this one is really not pure, it modifies
8034         memory (increments pstr->cur_idx), and with the pure attribute GCC
8035         assumed it doesn't and it cached the presumed value of
8036         regexp->cur_idx in a variable across the
8037          for (;; ++i)
8038            {
8039              if (i >= BRACKET_NAME_BUF_SIZE)
8040                return REG_EBRACK;
8041              if (token->type == OP_OPEN_CHAR_CLASS)
8042                ch = re_string_fetch_byte_case (regexp);
8043              else
8044                ch = re_string_fetch_byte (regexp);
8045              if (re_string_eoi(regexp))
8046                return REG_EBRACK;
8047              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
8048                break;
8049              elem->opr.name[i] = ch;
8050            }
8051
8052         2011-11-29 Andreas Schwab <schwab@redhat.com>
8053         * lib/regcomp.c (build_equiv_class):
8054         Fix access after end of search string in regex matcher.
8055
8056         2011-11-12 Ulrich Drepper <drepper@redhat.com>
8057         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
8058
8059         2011-10-12 Ulrich Drepper <drepper@redhat.com>
8060         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
8061
8062         2011-10-11 Ulrich Drepper <drepper@redhat.com>
8063         * lib/regcomp.c (parse_branch, parse_sub_exp):
8064         More regex memory leak fixes and tests.
8065         (parse_sub_exp, parse_bracket_exp):
8066         Fix memory leak for some invalid regular expressions.
8067
8068         2011-05-28 Ulrich Drepper <drepper@gmail.com>
8069         * lib/regex_internal.c, lib/regexec.c:
8070         Fix unnecessary overallocation due to incomplete character.  When
8071         incomplete characters are found at the end of a string the code
8072         ran amok and allocated lots of memory.  Stricter limits are now in
8073         place.
8074
8075         2011-05-20 Reuben Thomas <rrt@sc3d.org>
8076         * lib/regex.h: Update documentation.
8077
8078         2011-05-16 Aharon Robbins <arnold@skeeve.com>
8079         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
8080
8081         2010-05-05 Andreas Schwab <schwab@redhat.com>
8082         * lib/regexec.c (find_collation_sequence_value):
8083         Fix lookup of collation sequence value during regexp matching.
8084
8085         2010-01-22 Ulrich Drepper <drepper@redhat.com>
8086         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
8087
8088         2008-01-16 Ulrich Drepper <drepper@redhat.com>
8089         * lib/regex.h: Cleanup namespace.
8090
8091         2007-11-26 Ulrich Drepper <drepper@redhat.com>
8092         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
8093
8094         2007-08-26 Ulrich Drepper <drepper@redhat.com>
8095         * lib/regex_internal.h: Prevent some declarations and definitions
8096         to be seen when used in tests.
8097
8098         2005-05-06 Ulrich Drepper <drepper@redhat.com>
8099         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
8100         __libc_lock_* macros if not _LIBC.
8101         (struct re_dfa_t): Add lock.
8102
8103 2012-02-07  Eric Blake  <eblake@redhat.com>
8104
8105         maint.mk: also prohibit lower-case @var@
8106         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
8107         lower case, like @top_srcdir@.
8108
8109 2012-02-04  Eric Blake  <eblake@redhat.com>
8110
8111         canonicalize: avoid uninitialized memory use
8112         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
8113         random '/' left in dest.
8114         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
8115
8116 2012-02-04  Bruno Haible  <bruno@clisp.org>
8117
8118         isatty: Fix test failure of ptsname_r on native Windows.
8119         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
8120         and don't set errno.
8121         (isatty): Test first whether fd is valid. Set errno when returning 0.
8122
8123 2012-02-04  Bruno Haible  <bruno@clisp.org>
8124
8125         spawn-pipe tests: Fix a NULL program name in a diagnostic.
8126         * tests/test-spawn-pipe-main.c: Include progname.h.
8127         (main): Invoke set_program_name.
8128         * modules/spawn-pipe-tests (Depends-on): Add progname.
8129
8130         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
8131         * tests/test-nonblocking-socket-main.c: Include progname.h.
8132         (main): Invoke set_program_name.
8133         * modules/nonblocking-socket-tests (Depends-on): Add progname.
8134
8135         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
8136         * tests/test-nonblocking-pipe-main.c: Include progname.h.
8137         (main): Invoke set_program_name.
8138         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
8139
8140 2012-02-04  Eric Blake  <eblake@redhat.com>
8141
8142         canonicalize-lgpl: fix // handling
8143         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
8144
8145         canonicalize: fix // handling
8146         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
8147         /// to //, since only // is special.
8148
8149 2012-02-04  Bruno Haible  <bruno@clisp.org>
8150
8151         ioctl: Fix test failure on native Windows.
8152         * lib/ioctl.c: Include msvc-nothrow.h.
8153         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
8154
8155 2012-02-04  Bruno Haible  <bruno@clisp.org>
8156
8157         fsync: Avoid test failure on native Windows.
8158         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
8159         read-only.
8160
8161 2012-02-04  Bruno Haible  <bruno@clisp.org>
8162
8163         sys_select: Avoid syntax error on OpenBSD 5.0.
8164         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
8165         currently being included, just include the system's <sys/select.h>.
8166
8167 2012-02-04  Bruno Haible  <bruno@clisp.org>
8168
8169         sys_select: Avoid syntax error on OpenBSD 5.0.
8170         * lib/sys_select.in.h: Include <signal.h> only after the include_next
8171         <sys/select.h>, not before.
8172         Reported by Jiri B <jirib@devio.us>.
8173
8174 2012-02-04  Bruno Haible  <bruno@clisp.org>
8175
8176         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
8177         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
8178         global variables.
8179         * tests/test-get-rusage-data.c (main): Likewise.
8180         Reported by Jim Meyering.
8181
8182 2012-02-04  Bruno Haible  <bruno@clisp.org>
8183
8184         stdioext: Fix last commit.
8185         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
8186
8187 2012-02-03  Bruno Haible  <bruno@clisp.org>
8188
8189         stdioext: Add tentative support for Plan9.
8190         * lib/stdio-impl.h: Include <errno.h>.
8191         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
8192         * lib/freadable.c (freadable): Likewise.
8193         * lib/fwritable.c (fwritable): Likewise.
8194         * lib/fbufmode.c (fbufmode): Likewise.
8195         * lib/freading.c (freading): Likewise.
8196         * lib/fwriting.c (fwriting): Likewise.
8197         * lib/freadptr.c (freadptr): Likewise.
8198         * lib/freadseek.c (freadptrinc): Likewise.
8199         * lib/freadahead.c (freadahead): Likewise.
8200         * lib/fpurge.c (fpurge): Likewise.
8201         * lib/fseeko.c (rpl_fseeko): Likewise.
8202         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
8203         Reported by Jens Staal <staal1978@gmail.com>.
8204
8205 2012-02-02  Jim Meyering  <meyering@redhat.com>
8206
8207         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
8208         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
8209         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
8210         not even to try to add the attribute.  Instead, add a pragma to suppress
8211         the suggestion/warning.
8212
8213 2012-01-31  Karl Berry  <karl@gnu.org>
8214
8215         setstate doc: typo.
8216         * doc/posix-functions/setstate.texi (setstate): { not (.
8217
8218 2012-01-31  Bruno Haible  <bruno@clisp.org>
8219
8220         popen: Make more robust on Windows.
8221         * lib/popen.c: On native Windows, use the _popen based code even if
8222         HAVE_POPEN is set.
8223         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
8224         environment variable on native Windows.
8225
8226 2012-01-30  Bruno Haible  <bruno@clisp.org>
8227
8228         pclose: Fix typo.
8229         * lib/stdio.in.h (pclose): Fix typo in warning message.
8230
8231 2012-01-30  Bruno Haible  <bruno@clisp.org>
8232
8233         doc about getlogin_r, setstate.
8234         * doc/posix-functions/getlogin_r.texi: List the incompatible
8235         declaration problem under "not fixed by gnulib".
8236         * doc/posix-functions/setstate.texi: Mention incompatible declaration
8237         problem on Solaris 11 and other platforms.
8238
8239 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
8240             Bruno Haible  <bruno@clisp.org>
8241
8242         poll tests: Make test more robust.
8243         * tests/test-poll.c: Include macros.h.
8244         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
8245         return value of various I/O operations.
8246         * modules/poll-tests (Files): Add tests/macros.h.
8247
8248 2012-01-30  Bruno Haible  <bruno@clisp.org>
8249
8250         sys_stat: Fix support for mingw64 and MSVC.
8251         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
8252         header files already do it.
8253         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
8254         stat itself.
8255         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8256
8257 2012-01-30  Bruno Haible  <bruno@clisp.org>
8258
8259         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
8260         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
8261         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
8262
8263 2012-01-29  Bruno Haible  <bruno@clisp.org>
8264
8265         quotearg: Fix test failure on MacOS X 10.5.
8266         * tests/test-quotearg-simple.c: Include localcharset.h.
8267         (main): If the locale encoding is not ASCII, bypass the tests of
8268         locale_quoting_style and clocale_quoting_style.
8269         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
8270
8271 2012-01-29  Jim Meyering  <meyering@redhat.com>
8272
8273         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
8274         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
8275         detect uses of canonicalize_file_name.
8276
8277 2012-01-28  Bruno Haible  <bruno@clisp.org>
8278
8279         test-framework-sh: Fix test failure with AIX 7.1 diff.
8280         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
8281         in column 1, like 'diff -c' does.
8282         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
8283         whether 'diff -u' is used. Instead, test whether the output contains
8284         some '@' character.
8285
8286 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8287
8288         strtoimax: eliminate need for stdint.h, inttypes.h checks
8289         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
8290         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
8291         the prerequisites for a recently-introduced strtoimax test.
8292         I guess this might cause strtoimax to be replaced when not
8293         strictly necessary on older hosts, but this shouldn't introduce
8294         any bugs and it should make Emacs 'configure' faster on typical
8295         modern hosts.  Problem discovered when importing the latest gnulib
8296         to an Emacs test version.
8297         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
8298
8299 2012-01-28  Bruno Haible  <bruno@clisp.org>
8300
8301         sys_time: Override 'struct timeval' on some native Windows platforms.
8302         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
8303         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
8304         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
8305         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
8306         needs to be overridden.
8307         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
8308         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
8309         * tests/test-sys_select.c: Check that the tv_sec member has the same
8310         size as a 'time_t'.
8311         * tests/test-sys_time.c: Likewise.
8312         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
8313         is set, set also REPLACE_GETTIMEOFDAY.
8314         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
8315         convert the resulting 'struct timeval' before returning.
8316         * lib/select.c: Include <sys/time.h>.
8317         (select, timeval): Undefine at the right place.
8318         * modules/select (Depends-on): Add sys_time.
8319         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
8320         some Windows platforms.
8321         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8322
8323 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8324
8325         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
8326         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
8327         an integer.
8328         * lib/fcntl.c (dupfd): Likewise.
8329         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
8330
8331 2012-01-28  Bruno Haible  <bruno@clisp.org>
8332
8333         fcntl: Avoid compilation error on native Windows.
8334         * modules/fcntl (Depends-on): Add 'close'.
8335
8336 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8337
8338         select, poll, isatty: Avoid warnings on x86_64 mingw64.
8339         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
8340         pointer to an integer.
8341         * lib/poll.c (IsConsoleHandle): Likewise.
8342         * lib/isatty.c (IsConsoleHandle): Likewise.
8343
8344 2012-01-28  Jim Meyering  <meyering@redhat.com>
8345
8346         doc: clarify README-release
8347         * top/README-release: Clarify: you should make a point to have
8348         the latest stable versions of build tools in your PATH, and the
8349         reference to buildreq is solely for its list of tool names, not
8350         for its minimal-functional version numbers.
8351         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
8352
8353         maint.mk: use more readable (yet functionally equivalent) quoting
8354         It is common to quote a single quote in a single quoted string like
8355         this:  '...'\''...'.  Unless you know the idiom, that looks like
8356         gibberish, so prefer to double-quote the string when possible.
8357         Then you can use a more readable, lone single quote: "...'..."
8358         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
8359         "don't" is more readable than the equivalent 'don'\''t'.
8360         (sc_cast_of_x_alloc_return_value): Likewise.
8361         (sc_cast_of_alloca_return_value): Likewise.
8362         (sc_makefile_path_separator_check): Similar: use ":" in '...',
8363         rather than '\'':'\''.
8364
8365 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8366
8367         stdalign: relax _Alignof and tighten _Alignas test
8368         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
8369         as it was too strict: alignof must divide offsetof, but it need
8370         not equal offsetof.  Inspired by Joseph S. Myers's comment
8371         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
8372         Conversely, tighten the _Alignas test a bit, as the resulting
8373         alignment must be exactly 8.
8374
8375 2012-01-27  Bruno Haible  <bruno@clisp.org>
8376
8377         stdalign: Document the last change.
8378         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
8379
8380 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8381
8382         stdalign: check that alignof and offsetof are consistent
8383         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
8384         Problem reported for gnulib by Richard W.M. Jones in
8385         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
8386
8387 2012-01-27  Jim Meyering  <meyering@redhat.com>
8388
8389         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
8390         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
8391         convert a sequence with gaps to the minimal containing range.
8392         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
8393         * tests/test-update-copyright.sh: Test for this.
8394         The FSF confirmed it is ok to do this, assuming there is at
8395         least one significant change per year in the affected range:
8396         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
8397
8398 2012-01-26  Bruno Haible  <bruno@clisp.org>
8399
8400         pipe2: refine doc about thread-safety
8401         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
8402         multithread-safety problem.
8403         * doc/glibc-functions/accept4.texi: Likewise.
8404
8405 2012-01-26  Bruno Haible  <bruno@clisp.org>
8406
8407         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
8408         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
8409         In the test program, include <fcntl.h>, for O_RDONLY.
8410
8411 2012-01-26  Eric Blake  <eblake@redhat.com>
8412
8413         pipe2: document lack of thread-safety in replacement
8414         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
8415         issue in replacement.
8416         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8417         Based on a report by Eric Wong.
8418
8419 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8420             Bruno Haible  <bruno@clisp.org>
8421
8422         malloca: Avoid warnings on x86_64 mingw64.
8423         * lib/malloca.c: Include <stdint.h>.
8424         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
8425         * modules/malloca (Depends-on): Add stdint.
8426         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
8427
8428 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8429
8430         obstack: remove __STDC__ conditionals
8431         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
8432         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
8433         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
8434         m4/include_next.m4 as the only gnulib-maintained places that still
8435         refer to __STDC__.
8436
8437 2012-01-24  Bruno Haible  <bruno@clisp.org>
8438
8439         havelib: Modern quoting.
8440         * build-aux/config.rpath: Quote 'like this', not `like this', as per
8441         the recent change to the GNU coding standards.
8442
8443 2012-01-24  Bruno Haible  <bruno@clisp.org>
8444
8445         stdint: Improve support for Android.
8446         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
8447         Reported by Simon Josefsson <simon@josefsson.org>.
8448
8449 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8450
8451         doc: omit trailing empty lines from INSTALL etc.
8452         * doc/Makefile (INSTALL): Omit trailing empty lines.
8453         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
8454         omit trailing empty lines.  This simplifies the build procedure.
8455
8456 2012-01-23  Jim Meyering  <meyering@redhat.com>
8457
8458         tests: avoid spurious warnings about gl_sockets_startup
8459         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
8460         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
8461         reporting a "statement with no effect".
8462         * tests/test-accept.c (main): Mark as "(void)".
8463         * tests/test-accept4.c (main): Likewise.
8464         * tests/test-bind.c (main): Likewise.
8465         * tests/test-connect.c (main): Likewise.
8466         * tests/test-getpeername.c (main): Likewise.
8467         * tests/test-getsockname.c (main): Likewise.
8468         * tests/test-getsockopt.c (main): Likewise.
8469         * tests/test-listen.c (main): Likewise.
8470         * tests/test-recv.c (main): Likewise.
8471         * tests/test-recvfrom.c (main): Likewise.
8472         * tests/test-send.c (main): Likewise.
8473         * tests/test-sendto.c (main): Likewise.
8474         * tests/test-setsockopt.c (main): Likewise.
8475         * tests/test-shutdown.c (main): Likewise.
8476
8477 2012-01-21  Bruno Haible  <bruno@clisp.org>
8478
8479         locale-fr.m4: Fix for Android.
8480         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
8481         failure of the test program on Bionic libc.
8482
8483 2012-01-21  Jim Meyering  <meyering@redhat.com>
8484
8485         bootstrap: fail when bootstrap_post_import_hook fails
8486         Otherwise, it's far too easy to miss diagnostics emitted
8487         between gnulib-tool's output and that of running configure.
8488         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
8489
8490 2012-01-17  Jim Meyering  <meyering@redhat.com>
8491
8492         maint: enable sc_trailing_blank
8493         * build-aux/pmccabe.css: Remove trailing blanks.
8494         * doc/acl-cygwin.txt: Likewise.
8495         * doc/gnu-oids.texi: Likewise
8496         * cfg.mk: Enable sc_trailing_blank.
8497         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
8498
8499 2012-01-17  Jim Meyering  <meyering@redhat.com>
8500
8501         maint: enable sc_prohibit_openat_without_use
8502         * cfg.mk: Enable sc_prohibit_openat_without_use.
8503         Exempt lib/selinux-at.c.
8504
8505 2012-01-17  Jim Meyering  <meyering@redhat.com>
8506
8507         maint: enable sc_prohibit_cloexec_without_use
8508         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
8509         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
8510
8511 2012-01-17  Jim Meyering  <meyering@redhat.com>
8512
8513         maint: enable sc_prohibit_intprops_without_use
8514         * cfg.mk: Enable sc_prohibit_intprops_without_use
8515         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
8516
8517 2012-01-17  Jim Meyering  <meyering@redhat.com>
8518
8519         maint: enable sc_prohibit_hash_pjw_without_use
8520         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
8521         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
8522         to match any use of \<hash_pjw\>, i.e., not necessarily with a
8523         following " (".
8524
8525 2012-01-17  Jim Meyering  <meyering@redhat.com>
8526
8527         maint: enable double-word-prohibiting rule
8528         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
8529         Exempt three files.
8530
8531 2012-01-17  Jim Meyering  <meyering@redhat.com>
8532
8533         maint: remove empty lines at EOF, but excluding modules/*
8534         Apply syntax rules at home as well as abroad.  Most changes
8535         were induced by running this:
8536           make srcdir=. _build-aux=build-aux -f top/maint.mk \
8537             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
8538             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
8539         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
8540         Exempt modules/* and two binary files.
8541         Also exempt doc/INSTALL*, per request from Bruno Haible.
8542         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
8543         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
8544         * doc/Copyright/request-assign.future: Likewise.
8545         * doc/Copyright/request-disclaim.changes: Likewise.
8546         * doc/INSTALL: Likewise.
8547         * doc/INSTALL.ISO: Likewise.
8548         * doc/INSTALL.UTF-8: Likewise.
8549         * doc/acl-cygwin.txt: Likewise.
8550         * doc/acl-resources.txt: Likewise.
8551         * doc/fdl-1.2.texi: Likewise.
8552         * doc/fdl-1.3.texi: Likewise.
8553         * doc/fdl.texi: Likewise.
8554         * lib/argp-pin.c: Likewise.
8555         * lib/round.c: Likewise.
8556         * lib/unicase/u16-totitle.c: Likewise.
8557         * lib/unictype/block_test.c: Likewise.
8558         * lib/uninorm/canonical-decomposition.c: Likewise.
8559         * m4/README: Likewise.
8560         * m4/relocatable-lib.m4: Likewise.
8561         * tests/test-isnand-nolibm.c: Likewise.
8562         * tests/test-isnand.c: Likewise.
8563         * tests/uninorm/NormalizationTest.txt: Likewise.
8564
8565 2012-01-17  Jim Meyering  <meyering@redhat.com>
8566
8567         maint: add framework to run syntax-check rules against gnulib sources
8568         * cfg.mk: New file, to disable all currently-failing tests.
8569         We'll enable them one by one, as they are made to pass.
8570         * Makefile (sc_maint): New rule.
8571
8572 2012-01-21  Bruno Haible  <bruno@clisp.org>
8573
8574         stdint: Add support for Android.
8575         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
8576         include the system's <stdint.h>.
8577         Reported by Simon Josefsson <simon@josefsson.org>.
8578
8579 2012-01-19  Jim Meyering  <meyering@redhat.com>
8580
8581         bootstrap: add bootstrap_post_import_hook
8582         Bison does still need something like the gnulib_mk_hook whose
8583         invocation I had to remove along with slurp in commit 767ccd40.
8584         Technically, we could get along without it, but doing so would
8585         have required living with a warning and a mandatory post-bootstrap
8586         automake rerun.
8587         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
8588         (bootstrap_post_import_hook): New function.
8589         Invoke it after gnulib-tool --import and before autoreconf.
8590
8591 2012-01-18  Jim Meyering  <meyering@redhat.com>
8592
8593         gitlog-to-changelog: don't use "no_"-prefixed variable name
8594         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
8595         to enable both --cluster and --no-cluster.  Change variable name,
8596         s/\$no_cluster/$cluster/, and reverse usage to match.
8597
8598         gitlog-to-changelog: use "||", not "or" in expressions
8599         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
8600         expressions.
8601
8602 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
8603
8604         gitlog-to-changelog: new option --no-cluster
8605         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
8606         clustering of adjacent commit messages.
8607
8608 2012-01-17  Jim Meyering  <meyering@redhat.com>
8609
8610         maint: spell file systems with two words, not one
8611         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
8612         two words, not one.
8613
8614 2012-01-16  Jim Meyering  <meyering@redhat.com>
8615
8616         bootstrap: add a FIXME comment to ensure we eventually remove the hack
8617         * build-aux/bootstrap (gnulib_tool_options): Add comment.
8618
8619 2012-01-16  Eric Blake  <eblake@redhat.com>
8620
8621         bootstrap: cater to autoconf 2.59
8622         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
8623         is not available.
8624
8625         bootstrap: properly check for libtool
8626         * build-aux/bootstrap (libtoolize): Also run libtool when older
8627         usage is detected.
8628
8629 2012-01-15  Bruno Haible  <bruno@clisp.org>
8630
8631         Improve support for MSVC 9.
8632         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
8633         clashes on MSVC.
8634         * lib/fcntl.in.h: Likewise.
8635         * lib/stdlib.in.h: Likewise.
8636         * lib/sys_stat.in.h: Likewise.
8637
8638 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8639
8640         gnupload: we hold the master copy of this script now
8641         For motivation and more information, see:
8642         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
8643         * build-aux/gnupload: Make it clear in the heading comments that the
8644         master copy of this file is maintained by gnulib.  Since we are at
8645         it, bump its copyright year and ...
8646         ($scriptversion): ... the date in its version.
8647         ($usage): Patches and bug reports should be sent to the gnulib list,
8648         not the automake one.
8649         * config/srclist.txt: Don't try to sync 'gnupload' from automake
8650         anymore.
8651
8652 2012-01-15  Bruno Haible  <bruno@clisp.org>
8653
8654         Fix module 'random'.
8655         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
8656         initstate, setstate are declared.
8657
8658 2012-01-14  Bruno Haible  <bruno@clisp.org>
8659
8660         Tests for module 'random'.
8661         * modules/random-tests: New file.
8662         * tests/test-random.c: New file, based on tests/test-random_r.c.
8663
8664         New module 'random'.
8665         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
8666         declarations.
8667         * lib/random.c: New file, based on glibc/stdlib/random.c.
8668         * m4/random.m4: New file.
8669         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
8670         HAVE_RANDOM.
8671         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
8672         * modules/random: New file.
8673         * config/srclist.txt: Add an entry for random.c.
8674         * doc/posix-functions/random.texi: Mention the 'random' module.
8675         * doc/posix-functions/initstate.texi: Likewise.
8676         * doc/posix-functions/setstate.texi: Likewise.
8677         * doc/posix-functions/srandom.texi: Likewise.
8678
8679 2012-01-12  Bruno Haible  <bruno@clisp.org>
8680
8681         random_r: Use common idioms.
8682         * lib/random_r.c: Include <stdlib.h> first.
8683
8684         random_r: Override incompatible API on AIX, OSF/1.
8685         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
8686         Override the system function if REPLACE_RANDOM_R is 1.
8687         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
8688         and OSF/1, set REPLACE_RANDOM_R.
8689         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
8690         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
8691         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
8692         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
8693         * doc/glibc-functions/random_r.texi: Likewise.
8694         * doc/glibc-functions/setstate_r.texi: Likewise.
8695
8696         random_r: Support for MSVC 9.
8697         * lib/random_r.c: Include stdint.h, not inttypes.h.
8698
8699 2012-01-12  Eric Blake  <eblake@redhat.com>
8700
8701         inet_ntop: guard extra work by IF_LINT
8702         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
8703         better code generation when not checking for warnings.
8704         Suggested by Paul Eggert and Jim Meyering.
8705
8706         strptime: fix regression on mingw
8707         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
8708         Fix regression.  Reported by Bruno Haible.
8709
8710 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
8711             Bruno Haible  <bruno@clisp.org>
8712
8713         copy-file: add error-code-returning variant.
8714         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
8715         (qcopy_file_preserving): New declaration.
8716         * lib/copy-file.c (qcopy_file_preserving): Renamed from
8717         copy_file_preserving. Change return type to 'int'. Don't emit an error
8718         message here.
8719         (copy_file_preserving): New function.
8720         * tests/test-copy-file.c: Include <stdlib.h>.
8721         (main): Test qcopy_file_preserving if the environment variable
8722         NO_STDERR_OUTPUT is set.
8723         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
8724         with NO_STDERR_OUTPUT
8725         * tests/test-copy-file-2.sh: Likewise.
8726
8727 2012-01-10  Bruno Haible  <bruno@clisp.org>
8728
8729         copy-file: Use 'quote' module consistently.
8730         * lib/copy-file.c (copy_file_preserving): Use quote().
8731
8732         copy-file: Refactor.
8733         * lib/copy-file.c: Include quote.h.
8734         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
8735         message here.
8736         * modules/copy-file (Depends-on): Add quote.
8737
8738         acl: Export qcopy_acl.
8739         * lib/acl.h (qcopy_acl): New declaration.
8740         * lib/copy-acl.c (qcopy_acl): Make non-static.
8741
8742         acl: Rename a local variable.
8743         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
8744
8745         acl: Align return values of copy_acl and qcopy_acl.
8746         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
8747         maybe < -1.
8748
8749 2012-01-11  Eric Blake  <eblake@redhat.com>
8750
8751         strptime: silence gcc warnings
8752         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
8753         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
8754         Reported by Daniel P. Berrange.
8755
8756         inet_ntop: silence gcc warning
8757         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
8758         Reported by Daniel P. Berrange.
8759
8760 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
8761
8762         getloadavg test: skip the test on GNU/Linux without /proc mounted
8763         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
8764         file.  When /proc is not mounted, it always fails with ENOENT.
8765         * tests/test-getloadavg.c (main): Treat ENOENT return code from
8766         getloadavg(3) the same way as ENOSYS and ENOTSUP.
8767
8768 2012-01-10  Bruno Haible  <bruno@clisp.org>
8769
8770         regex: Avoid link error on MSVC 9.
8771         * modules/regex (Depends-on): Add wctype.
8772
8773 2012-01-10  Bruno Haible  <bruno@clisp.org>
8774
8775         doc: Mention --with-tests option.
8776         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
8777         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
8778         --with-tests.
8779         Reported by Reuben Thomas.
8780
8781 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
8782
8783         users.txt: order package names lexicographically.
8784         * users.txt: Order package names lexicographically.
8785
8786 2012-01-10  Jim Meyering  <meyering@redhat.com>
8787
8788         maint.mk: fix description in comment
8789         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
8790
8791         ignore-value: remove deprecated ignore_ptr function
8792         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
8793         * NEWS: Note this.
8794
8795 2012-01-09  Jim Meyering  <meyering@redhat.com>
8796
8797         test-init.sh: avoid a subshell
8798         * tests/test-init.sh: Remove protective subshell.
8799         Suggested by Bernhard Voelker.  While a subshell is normally
8800         required to protect against older shells (Solaris, FreeBSD) that
8801         warn about a missing program before performing redirection, the
8802         shell-selection tests performed by init.sh probably exclude any
8803         offending shell.
8804
8805 2012-01-08  Bruno Haible  <bruno@clisp.org>
8806
8807         setlocale tests: Avoid test failure on Solaris 11 2011-11.
8808         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
8809         variable.
8810
8811 2012-01-08  Bruno Haible  <bruno@clisp.org>
8812
8813         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
8814         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8815         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8816         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
8817         macro.
8818         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
8819         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8820         * lib/spawn_faction_addopen.c: Add workaround implementation if
8821         HAVE_WORKING_POSIX_SPAWN.
8822         * modules/spawn (Makefile): Substitute
8823         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8824         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
8825         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
8826         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8827         (Depends-on): Update conditions.
8828         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
8829         the Solaris 11 bug.
8830
8831 2012-01-08  Bruno Haible  <bruno@clisp.org>
8832
8833         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
8834         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8835         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8836         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
8837         macro.
8838         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
8839         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8840         * lib/spawn_faction_adddup2.c: Add workaround implementation if
8841         HAVE_WORKING_POSIX_SPAWN.
8842         * modules/spawn (Makefile): Substitute
8843         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8844         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
8845         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
8846         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8847         (Depends-on): Update conditions.
8848         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
8849         the Solaris 11 bug.
8850
8851 2012-01-08  Bruno Haible  <bruno@clisp.org>
8852
8853         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
8854         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8855         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8856         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
8857         HAVE_WORKING_POSIX_SPAWN.
8858         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
8859         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
8860         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8861         * lib/spawn_faction_addclose.c: Add workaround implementation if
8862         HAVE_WORKING_POSIX_SPAWN.
8863         * modules/spawn (Makefile): Substitute
8864         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8865         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
8866         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
8867         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8868         (Depends-on): Update conditions.
8869         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
8870         the Solaris 11 bug.
8871
8872 2012-01-08  Bruno Haible  <bruno@clisp.org>
8873
8874         doc: Update for Solaris 11 2011-11.
8875         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
8876         * m4/printf.m4: Update comments.
8877
8878 2012-01-08  Bruno Haible  <bruno@clisp.org>
8879
8880         mktime: Avoid compilation error on Solaris 11.
8881         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
8882
8883 2012-01-08  Bruno Haible  <bruno@clisp.org>
8884
8885         doc: Small fix.
8886         * doc/posix-headers/nl_types.texi: Correct platforms list.
8887
8888 2012-01-08  Simon Josefsson  <simon@josefsson.org>
8889
8890         Add lgpl-3.0 module.
8891         * MODULES.html.sh (Support for building documentation): Add
8892         lgpl-3.0.
8893         * modules/lgpl-3.0: New file.
8894
8895 2012-01-08  Jim Meyering  <meyering@redhat.com>
8896
8897         select.c: indent with spaces, not TABs
8898         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
8899
8900 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8901
8902         quotearg: do not use grave accent for left quote
8903         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
8904         locale_quoting_style.
8905         (quotearg_buffer_restyled): Fix example.
8906         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
8907
8908 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8909
8910         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
8911         Most programs do not have translation catalogs for English and much
8912         less separate catalogs for British and American English.  Drop the
8913         suggestion to translators about these two, and provide it
8914         automatically for Unicode locales.  Like most programs, even those
8915         using American English, we use single quotation marks.  This conflicts
8916         with the American typographic convention, but works better when you
8917         cite the entire error message within double quotes.  It also tries not
8918         to clash with established practice and with what non-gnulib programs
8919         will usually do.
8920         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
8921         using an UTF-8 or GB-18030 locale.  The list of other locales with
8922         quotes was provided by Bruno Haible.
8923         (quotearg_buffer_restyled): Adjust instructions to translators.
8924         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
8925         text, since this would be wrong when using Unicode.
8926         * modules/quotearg: Depend on c-strcaseeq.
8927
8928 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8929
8930         quotearg: fix Wikipedia link
8931         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
8932
8933 2012-01-07  Simon Josefsson  <simon@josefsson.org>
8934
8935         Fix for mingw with MSVC9.
8936         * m4/ld-version-script.m4: Check that compiler rejects version
8937         scripts with syntax errors.  Reported by Bruno Haible
8938         <bruno@clisp.org>.
8939
8940 2012-01-06  Bruno Haible  <bruno@clisp.org>
8941
8942         Talk about "native Windows API", not "Woe32".
8943         * lib/accept4.c: Update comments to mention native Windows.
8944         * lib/execute.c: Likewise.
8945         * lib/fatal-signal.c: Likewise.
8946         * lib/localcharset.c: Likewise.
8947         * lib/nanosleep.c: Likewise.
8948         * lib/nl_langinfo.c: Likewise.
8949         * lib/pclose.c: Likewise.
8950         * lib/pipe-filter-gi.c: Likewise.
8951         * lib/pipe-filter-ii.c: Likewise.
8952         * lib/pipe.c: Likewise.
8953         * lib/pipe2.c: Likewise.
8954         * lib/popen.c: Likewise.
8955         * lib/progreloc.c: Likewise.
8956         * lib/relocatable.c: Likewise.
8957         * lib/sigaction.c: Likewise.
8958         * lib/sigprocmask.c: Likewise.
8959         * lib/spawn-pipe.h: Likewise.
8960         * lib/spawn-pipe.c: Likewise.
8961         * lib/spawni.c: Likewise.
8962         * lib/stat-time.h: Likewise.
8963         * lib/w32spawn.h: Likewise.
8964         * tests/test-isatty.c: Likewise.
8965         * lib/config.charset: More comments.
8966         * doc/gnulib-intro.texi: Mention native Windows.
8967         * doc/posix-functions/_Exit_C99.texi: Likewise.
8968         * doc/posix-headers/fcntl.texi: Likewise.
8969
8970 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
8971
8972         argp: Avoid crash if translator uses % characters in a translation.
8973         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
8974         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
8975
8976 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8977
8978         doc: C11 and C++11 are now official
8979         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
8980         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
8981         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
8982         * modules/stdalign:
8983         Replace references to draft C1X to C11, and to draft C++0X to C++11.
8984
8985 2012-01-06  Bruno Haible  <bruno@clisp.org>
8986
8987         uc-is-grapheme-break tests: Tweak.
8988         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
8989         message.
8990
8991 2012-01-06  Bruno Haible  <bruno@clisp.org>
8992
8993         test-init.sh: correct the test for diff -u
8994         * tests/test-init.sh: Also redirect stdout to /dev/null.
8995
8996 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
8997
8998         Use ', not `, for quoting output.
8999         * build-aux/announce-gen (usage, sizes, print_news_deltas)
9000         (print_changelog_deltas, get_tool_versions, main program):
9001         * build-aux/git-version-gen:
9002         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
9003         * build-aux/move-if-change (help):
9004         * build-aux/useless-if-before-free (usage, main program):
9005         * check-module (parse_module_file, usage)
9006         (find_included_lib_files, check_module):
9007         * lib/argmatch.c (main) [TEST]:
9008         * lib/argp-help.c (_help):
9009         * lib/getopt1.c (main) [TEST]:
9010         * lib/git-merge-changelog.c (usage):
9011         * lib/xstrtol-error.c (xstrtol_error):
9012         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
9013         * m4/argz.m4 (gl_FUNC_ARGZ):
9014         * m4/bison.m4 (gl_BISON):
9015         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
9016         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
9017         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
9018         * m4/fpending.m4 (gl_PREREQ_FPENDING):
9019         * m4/gc-random.m4 (gl_GC_RANDOM):
9020         * m4/intl.m4 (gt_CHECK_DECL):
9021         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
9022         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
9023         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
9024         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
9025         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
9026         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
9027         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
9028         * tests/test-dirname.c (main):
9029         * tests/test-getpass.c (main):
9030         * tests/test-iconvme.c (main):
9031         * tests/test-parse-datetime.c (LOG):
9032         * tests/test-xstrtoimax.sh:
9033         * tests/test-xstrtol.sh:
9034         * tests/test-xstrtoll.sh:
9035         * tests/test-xstrtoumax.sh:
9036         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
9037         * top/GNUmakefile (abort-due-to-no-makefile):
9038         Quote 'like this', not `like this', as per the recent change to
9039         the GNU coding standards.
9040
9041 2012-01-05  Bruno Haible  <bruno@clisp.org>
9042
9043         strtoimax: Don't force a replacement on systems where intmax_t is int.
9044         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
9045         'intmax_t' is not larger than 'int'.
9046         Reported by Pádraig Brady <P@draigBrady.com>.
9047
9048 2012-01-05  Bruno Haible  <bruno@clisp.org>
9049
9050         doc: Mention NetBSD bugs.
9051         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
9052         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
9053
9054 2012-01-05  Bruno Haible  <bruno@clisp.org>
9055
9056         strtoumax tests: Enhance tests.
9057         * tests/test-strtoumax.c (main): Add tests for large values.
9058
9059 2012-01-05  Bruno Haible  <bruno@clisp.org>
9060
9061         strtoimax: Work around AIX 5.1 bug.
9062         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
9063         definition.
9064         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
9065         Set HAVE_STRTOIMAX.
9066         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
9067         REPLACE_STRTOIMAX.
9068         * modules/inttypes-incomplete (Makefile.am): Substitute
9069         REPLACE_STRTOIMAX.
9070         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
9071         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
9072         (Depends-on): Update conditions.
9073         * tests/test-strtoimax.c (main): Add tests for large values.
9074         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
9075
9076 2012-01-05  Bruno Haible  <bruno@clisp.org>
9077
9078         inttypes: Modernize.
9079         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
9080         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
9081         (Makefile.am): Update inttypes.h rule.
9082
9083 2012-01-05  Jim Meyering  <meyering@redhat.com>
9084
9085         init.sh: don't waste a subshell just to redirect stderr
9086         * tests/init.sh: In testing for diff -u and diff -c, use a
9087         stderr-redirecting exec inside `...` rather than a subshell.
9088
9089         test-init.sh: avoid failure on HP-UX 11.00
9090         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
9091         resolves to diff -c or cmp.  Reported by Bruno Haible.
9092
9093 2012-01-05  Bruno Haible  <bruno@clisp.org>
9094
9095         Tests for module 'strtoull'.
9096         * modules/strtoull-tests: New file.
9097         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
9098
9099 2012-01-05  Bruno Haible  <bruno@clisp.org>
9100
9101         Tests for module 'strtoll'.
9102         * modules/strtoll-tests: New file.
9103         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
9104
9105 2012-01-05  Bruno Haible  <bruno@clisp.org>
9106
9107         Tests for module 'strtoul'.
9108         * modules/strtoul-tests: New file.
9109         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
9110
9111 2012-01-05  Bruno Haible  <bruno@clisp.org>
9112
9113         Tests for module 'strtol'.
9114         * modules/strtol-tests: New file.
9115         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
9116
9117 2012-01-04  Jim Meyering  <meyering@redhat.com>
9118
9119         test-init.sh: accommodate Solaris 5.10's different diff -u output
9120         * tests/test-init.sh: Also exempt @@ lines from the comparison
9121         of diff output, since Solaris 5.10 and GNU diff formats differ.
9122         Reported by Stefano Lattarini.
9123
9124 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9125
9126         test-posixtm: don't assume signed integer wraparound
9127         * tests/test-posixtm.c (main): Don't assume wraparound semantics
9128         after signed integer overflow.  Inspired by (though it may not
9129         fix) Bruno Haible's bug report in
9130         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
9131
9132         Spell out "Windows 9x" and "Windows XP".
9133         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
9134         "Windows 9x" and "WinXP" with "Windows XP".
9135
9136 2012-01-04  Jim Meyering  <meyering@redhat.com>
9137
9138         test-vc-list-files-cvs.sh: remove obsolete comment
9139         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
9140         double exit.  Now that's all encapsulated via skip_ and Exit.
9141
9142 2012-01-04  Bruno Haible  <bruno@clisp.org>
9143
9144         Talk about "native Windows API", not "Win32".
9145         * lib/classpath.c: Update comments to mention native Windows.
9146         * lib/csharpexec.c: Likewise.
9147         * lib/dup2.c: Likewise.
9148         * lib/error.c: Likewise.
9149         * lib/fcntl.c: Likewise.
9150         * lib/filename.h: Likewise.
9151         * lib/findprog.c: Likewise.
9152         * lib/get-rusage-as.c: Likewise.
9153         * lib/get-rusage-data.c: Likewise.
9154         * lib/getpagesize.c: Likewise.
9155         * lib/javaexec.c: Likewise.
9156         * lib/msvc-inval.c: Likewise.
9157         * lib/msvc-nothrow.c: Likewise.
9158         * lib/nanosleep.c: Likewise.
9159         * lib/nonblocking.c: Likewise.
9160         * lib/printf-parse.c: Likewise.
9161         * lib/setlocale.c: Likewise.
9162         * lib/sigaction.c: Likewise.
9163         * lib/strerror_r.c: Likewise.
9164         * lib/tmpdir.c: Likewise.
9165         * lib/vasnprintf.c: Likewise.
9166         * lib/w32spawn.h: Likewise.
9167         * lib/waitpid.c: Likewise.
9168         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
9169         * m4/locale-ar.m4: Likewise.
9170         * m4/locale-fr.m4: Likewise.
9171         * m4/locale-ja.m4: Likewise.
9172         * m4/locale-tr.m4: Likewise.
9173         * m4/locale-zh.m4: Likewise.
9174         * m4/printf.m4: Likewise.
9175         * tests/test-cloexec.c: Likewise.
9176         * tests/test-copy-acl.sh: Likewise.
9177         * tests/test-copy-file.sh: Likewise.
9178         * tests/test-file-has-acl.sh: Likewise.
9179         * tests/test-set-mode-acl.sh: Likewise.
9180         * tests/test-dup-safer.c: Likewise.
9181         * tests/test-dup2.c: Likewise.
9182         * tests/test-dup3.c: Likewise.
9183         * tests/test-fcntl.c: Likewise.
9184         * tests/test-nonblocking-pipe.h: Likewise.
9185         * tests/test-nonblocking-socket.h: Likewise.
9186         * tests/test-pipe.c: Likewise.
9187         * tests/test-pipe2.c: Likewise.
9188         * tests/test-spawn-pipe-child.c: Likewise.
9189         * doc/acl-resources.txt: Likewise.
9190         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9191         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
9192         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
9193         * lib/localcharset.c: Update comments to mention native Windows.
9194         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9195         * lib/localename.c: Likewise.
9196         * lib/progreloc.c: Likewise.
9197         * lib/relocatable.c: Likewise.
9198         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9199         (windows_compute_revents): Renamed from win32_compute_revents.
9200         (windows_compute_revents_socket): Renamed from
9201         win32_compute_revents_socket.
9202         * lib/select.c: Update comments to mention native Windows.
9203         (windows_poll_handle): Renamed from win32_poll_handle.
9204         * m4/threadlib.m4: Update comments to mention native Windows.
9205         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
9206         --enable-threads=windows instead of --enable-threads=win32. Set
9207         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
9208         * lib/glthread/lock.h: Update comments to mention native Windows.
9209         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
9210         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
9211         USE_WIN32_THREADS.
9212         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
9213         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
9214         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
9215         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
9216         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
9217         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
9218         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
9219         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
9220         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
9221         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
9222         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
9223         * tests/test-tls.c: Likewise.
9224         Rationale:
9225         Microsoft renamed the "Win32 API" to "Windows API", as it is available
9226         on both 32-bit and 64-bit Windows systems.
9227         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
9228         line of distinction is between "native Windows" on one side and Unix/
9229         POSIX systems on the other side. More details in
9230         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
9231         Suggested by Paul Eggert.
9232
9233 2012-01-03  Bruno Haible  <bruno@clisp.org>
9234
9235         isatty: Support for MSVC 9.
9236         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
9237         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
9238         (_isatty_nothrow): New function.
9239         (isatty): Use it instead of _isatty.
9240         (IsConsoleHandle): Add comment, from Paolo Bonzini.
9241         * lib/poll.c (IsConsoleHandle): Likewise.
9242         * lib/select.c (IsConsoleHandle): Likewise.
9243         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
9244         (gl_PREREQ_ISATTY): New macro.
9245         * modules/isatty (Depends-on): Add msvc-inval.
9246         (configure.ac): Invoke gl_PREREQ_ISATTY.
9247
9248 2012-01-03  Jim Meyering  <meyering@redhat.com>
9249
9250         maint.mk: remove temporary transition aid from over 1.5 years ago
9251         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
9252         purpose was to aid in the transition (avoiding silent malfunction)
9253         from that old name to the new _sc_search_regexp.  This shim was
9254         added by commit 219c504b.
9255
9256         init.sh: do not try to accommodate compare arguments starting with "-"
9257         * tests/init.sh (compare_dev_null_): Do not try to accommodate
9258         compare arguments that start with "-".  Besides, we do not worry
9259         about this when invoking diff or cmp; why start now with sed?
9260         Using "--" to separate options from argument would trigger sed
9261         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
9262         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
9263
9264 2012-01-02  Bruno Haible  <bruno@clisp.org>
9265
9266         Enhance tests for module 'isatty'.
9267         * modules/isatty-tests (Depends-on): Add pipe-posix.
9268         * tests/test-isatty.c: Include <fcntl.h>.
9269         (DEV_NULL): New macro.
9270         (main): Test the resut of isatty() also on regular files, pipes, and
9271         /dev/null.
9272
9273         New module 'isatty'.
9274         * lib/unistd.in.h (isatty): New declaration.
9275         * lib/isatty.c: New file, based on an idea of
9276         Bastien Roucariès <roucaries.bastien@gmail.com>.
9277         * m4/isatty.m4: New file.
9278         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
9279         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
9280         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
9281         REPLACE_ISATTY.
9282         * modules/isatty: New file.
9283         * doc/posix-functions/isatty.texi: Mention the new module.
9284         Suggested by Paolo Bonzini.
9285
9286 2012-01-02  Bruno Haible  <bruno@clisp.org>
9287
9288         canonicalize: Tweak 2011-12-29 commit.
9289         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
9290         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
9291
9292 2012-01-02  Jim Meyering  <meyering@redhat.com>
9293
9294         gitlog-to-changelog: describe input syntax in --help output
9295         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
9296
9297         gitlog-to-changelog: fix typo in --help: show backslash before email @
9298         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
9299         in sources, but not in actual output.
9300
9301 2011-12-30  Jim Meyering  <meyering@redhat.com>
9302
9303         gitlog-to-changelog: don't malfunction when name contains %-directive
9304         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
9305         in a name string cause trouble.  E.g., with a user name of "%s",
9306         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
9307
9308 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
9309
9310         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
9311         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
9312         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
9313         the "  (tiny change)" notation that is appended to the standard
9314         ChangeLog "date  name  email" header line.
9315
9316 2012-01-01  Jim Meyering  <meyering@redhat.com>
9317
9318         test-framework-sh: init.sh: fix "make dist" failure
9319         When using gnulib-tool's --with-tests option and any module that
9320         depends on test-framework-sh, "make dist" would fail due to the
9321         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
9322         in the gltests directory, and not in the gllib/ directory.
9323         One way to work around that is to move the EXTRA_DIST += init.sh
9324         from the primary module to the -tests one:
9325         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
9326         * modules/test-framework-sh (Makefile.am): ...not here.
9327         Reported by Tom G. Christensen in
9328         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
9329
9330         version-etc: update copyright year reported by --version
9331         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
9332
9333 2011-12-31  Pádraig Brady  <P@draigBrady.com>
9334
9335         canonicalize: only stat() if required
9336         * lib/canonicalize.c (canonicalize_filename_mode):
9337         Avoid calling l?stat() when both CAN_MISSING,
9338         and CAN_NOLINKS are set, as we neither need
9339         to resolve symlinks or test component existence.
9340
9341 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9342
9343         doc: cover st_ino issues once; add OpenVMS etc.
9344         * doc/posix-functions/stat.texi (stat):
9345         * doc/posix-functions/lstat.texi (lstat):
9346         * doc/posix-functions/fstatat.texi (fstatat):
9347         * doc/posix-functions/fstat.texi (fstat):
9348         Move general 'struct stat' stuff to sys_stat.texi,
9349         leaving behind a pointer.
9350         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9351         Merge duplicate info about 'struct stat' problems into here.
9352         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
9353         and suggest partial workarounds.
9354
9355         same-inode: port to OpenVMS
9356         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
9357         three st_ino values.
9358
9359 2011-12-30  Pádraig Brady  <P@draigBrady.com>
9360
9361         canonicalize: fix references to stat() and lstat()
9362         * lib/canonicalize.c (canonicalize_filename_mode):
9363         Ensure references always resolve to a replacement
9364         function if required (even via a macro).
9365
9366 2011-12-30  Jim Meyering  <meyering@redhat.com>
9367
9368         gitlog-to-changelog: remove a little duplication
9369         * build-aux/gitlog-to-changelog (main): Grep @lines once,
9370         rather than twice.
9371
9372 2011-12-29  Pádraig Brady  <P@draigBrady.com>
9373
9374         canonicalize: add support for not resolving symlinks
9375         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
9376         indicate we don't want to follow symlinks.  Also
9377         provide CAN_MODE_MASK to aid setting these existing
9378         mutually exclusive values.
9379         * lib/canonicalize.c (canonicalize_filename_mode):
9380         Extract the flags from can_mode parameter, which
9381         are currently just used to select between stat()
9382         and lstat().  Also ensure that mutually exclusive
9383         values are flagged immediately as invalid.
9384         * tests/test-canonicalize.c: Verify symlinks are
9385         not followed, and that invalid flag combinations
9386         are diagnosed.
9387
9388 2011-12-25  Jim Meyering  <meyering@redhat.com>
9389
9390         gitlog-to-changelog: do not clump multi-paragraph entries
9391         Identical header lines (date,name,email+coauthors) are suppressed,
9392         thus putting all entries with those same characteristics under
9393         a single header.  However, when a log entry consists of two or
9394         more paragraphs, it may not be clear where it starts and ends.
9395         This change makes it so that such an entry is always separated
9396         from others by a header line, even when that header would
9397         otherwise be suppressed.
9398         * build-aux/gitlog-to-changelog: Implement the above.
9399         Inspired by a related request from Stefano Lattarini in
9400         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
9401
9402 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9403
9404         announce-gen: fix `cmd' typo in diagnostic
9405         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
9406         diagnostic: a missing '$' meant that the command was not output.
9407
9408 2011-12-23  Jim Meyering  <meyering@redhat.com>
9409
9410         test-framework-sh: distribute init.sh
9411         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
9412         Otherwise, "make -C gnulib-tests check" (at least in grep) would
9413         fail due to the lack of init.sh.
9414
9415         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9416         * modules/atexit-tests: Rather than listing tests/init.sh,
9417         now that there's a module for it, simply depend on that new module.
9418         * modules/closein-tests: Likewise.
9419         * modules/exclude-tests: Likewise.
9420         * modules/getcwd-tests: Likewise.
9421         * modules/perror-tests: Likewise.
9422         * modules/pread-tests: Likewise.
9423         * modules/pwrite-tests: Likewise.
9424         * modules/vc-list-files-tests: Likewise.
9425         * modules/verify-tests: Likewise.
9426         * modules/xalloc-die-tests: Likewise.
9427         * modules/xstrtoimax-tests: Likewise.
9428         * modules/xstrtol-tests: Likewise.
9429         * modules/xstrtoll-tests: Likewise.
9430         * modules/xstrtoumax-tests: Likewise.
9431         * modules/yesno-tests: Likewise.
9432
9433 2011-12-22  Jim Meyering  <meyering@redhat.com>
9434
9435         test-framework-sh: add minimal tests of init.sh's compare function
9436         * modules/test-framework-sh-tests: New file.
9437         * tests/test-init.sh: New file.
9438
9439         test-framework-sh: new module
9440         * modules/test-framework-sh: New file.
9441         * MODULES.html.sh (Support for maintaining and releasing projects):
9442         List it.
9443
9444         init.sh: do not emit simulated diff output to stderr
9445         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
9446
9447 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
9448
9449         .gitignore: ignore gnulib.dvi and regex.info
9450         * doc/.gitignore:add gnulib.dvi and regex.info
9451
9452 2011-12-22  Jim Meyering  <meyering@redhat.com>
9453
9454         init.sh: correct previous change
9455         * tests/init.sh (compare): My previous change was wrong.
9456         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
9457
9458         init.sh: avoid unwarranted test failure when using "set -e"
9459         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
9460         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
9461         a use like "compare exp out" would get evoke an unconditional failure.
9462
9463 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
9464
9465         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
9466         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
9467         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
9468         autoreconf that did not.
9469         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
9470         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9471
9472 2011-12-17  Jim Meyering  <meyering@redhat.com>
9473
9474         bootstrap: remove some now-unneeded code
9475         This script arose back when gnulib-tool was young.
9476         Since then, it has seen improvements that render much of this
9477         script unnecessary.  In particular, it can now make symlinks
9478         to the files it uses.  Also, I no longer see as much value in
9479         marking files as read-only via comments.
9480         If you relied on the symlink-creation feature of the preceding
9481         version of this script, you can get most of that functionality
9482         by adding the --symlink option to the definition of
9483         gnulib_tool_option_extras in your bootstrap.conf file.
9484         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
9485         Run autopoint and libtoolize *before* gnulib-tool.
9486         After it, run an abbreviated autoreconf, rather than a loop around
9487         all tools.
9488         (slirp, bt_mark_as_generated): Remove functions.
9489
9490 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9491
9492         ftoastr: fix typo
9493         * lib/ftoastr.h: Fix misspelling in comment.
9494
9495 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
9496
9497         * top/README-release: fix punctuation.
9498
9499 2011-12-17  Jim Meyering  <meyering@redhat.com>
9500
9501         bootstrap: correct the recent buildreq change
9502         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
9503         had no effect.
9504         * build-aux/bootstrap (buildreq): Bracket each search term with
9505         "*...*", so that the shell "case" statement works as intended.
9506         Add comments.
9507
9508 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
9509
9510         build: let bootstrap resort to wget when downloading .po files
9511         * build-aux/bootstrap (download_po_files): Fallback to wget when
9512         downloading the .po files via rsync fails.  This is necessary to
9513         bootstrap from behind a strict firewall.
9514
9515 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9516
9517         stdint: don't assume C++11 when compiling with g++
9518         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
9519         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
9520         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
9521         work also in C++ before C++11, as that improperly inhibits
9522         generating a substitute stdint.h for that case.
9523
9524 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9525
9526         alloca: protect comment from gnulib-tool
9527         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
9528         that gnulib-tool doesn't think it's a license, and munge it to
9529         say "GCC version 3".
9530
9531 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
9532
9533         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
9534         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
9535         $(abs_top_builddir) instead of $(top_builddir).
9536
9537 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
9538
9539         strftime-tests: also test nanoseconds
9540         * tests/test-strftime.c (T): Add a test of %N.
9541
9542 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
9543
9544         inttypes, stdint: add C++11 support
9545         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
9546         when including inttypes.h and stdint.h.  Support this change to
9547         the standard.
9548         * doc/posix-headers/inttypes.texi (inttypes.h):
9549         * doc/posix-headers/stdint.texi (stdint.h): Document this.
9550         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
9551         Define if not defined already, for the benefit of pre-C++11 hosts.
9552         Define the standard format macros (e.g., PRId8) always.
9553         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
9554         Likewise, if __cpluspus.  Define the standard constant and limit
9555         macros (e.g., INT8_C, INT8_MAX) always.
9556         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
9557         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
9558         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
9559         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
9560         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
9561         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
9562         Likewise.
9563
9564 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9565
9566         nonblocking tests: Fix test failure on Linux/PPC.
9567         Suggested by Prerna Saxena in
9568         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
9569         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
9570         Set to 1100000.
9571
9572 2011-12-12  Jim Meyering  <meyering@redhat.com>
9573
9574         argmatch: don't hard-code `' when listing valid option arguments
9575         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
9576         use the quote function to add quotes.  Use fputs rather than
9577         fprintf for the format string with no format directive.
9578
9579 2011-12-07  Eric Blake  <eblake@redhat.com>
9580
9581         bootstrap: detect tools required by gnulib-tool
9582         * build-aux/bootstrap (buildreq): Provide minimum implicit
9583         dependencies.
9584         * DEPENDENCIES: Mention patch as a prereq.
9585
9586 2011-12-04  Bruno Haible  <bruno@clisp.org>
9587
9588         sethostname: Port to Windows platforms.
9589         * lib/sethostname.c: Provide an alternate implementation for Windows
9590         platforms.
9591         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
9592         (main): Skip the test if sethostname() fails with EPERM. On Windows
9593         platforms, don't check the result of gethostname().
9594
9595 2011-12-04  Bruno Haible  <bruno@clisp.org>
9596             Jim Meyering  <meyering@redhat.com>
9597
9598         tests: Avoid spurious error message on platforms without mktemp program.
9599         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
9600
9601 2011-12-04  Bruno Haible  <bruno@clisp.org>
9602
9603         sethostname: Fix documentation.
9604         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
9605         "not fixed" section.
9606
9607 2011-12-03  Bruno Haible  <bruno@clisp.org>
9608
9609         gnulib-tool: Verify that the License field is present and non-empty.
9610         * gnulib-tool (func_get_license_raw): New function, extracted from
9611         func_get_license.
9612         (func_get_license): Use it. Warn if the module is not a test module and
9613         has no license.
9614         Suggested by Jim Meyering.
9615
9616 2011-12-03  Bruno Haible  <bruno@clisp.org>
9617
9618         sethostname tests: Fix link error on mingw.
9619         * tests/test-sethostname1.c: New file, extracted from
9620         tests/test-sethostname.c.
9621         * tests/test-sethostname2.c: New file, extracted from
9622         tests/test-sethostname.c.
9623         * tests/test-sethostname.c: Remove file.
9624         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
9625         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
9626         (Depends-on): Add gethostname.
9627         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
9628         Link the latter with $(GETHOSTNAME_LIB).
9629
9630         sethostname tests: Fix compilation error on mingw.
9631         * tests/test-sethostname.c: Don't include <sys/types.h>.
9632         (geteuid): Use a dummy value without uid_t.
9633         * modules/sethostname-tests (Depends-on): Remove sys_types.
9634
9635         sethostname tests: Avoid a gcc warning.
9636         * tests/test-sethostname.c (main): Remove an unused variable.
9637
9638         Tweak last commit.
9639         * modules/sethostname-tests (Files): Sort by decreasing importance.
9640         (configure.ac): Check for geteuid.
9641         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
9642         the test when there's nothing to test. Drop an unnecessary cast.
9643         Improve an error message. Verify that the final sethostname() call
9644         succeeds.
9645
9646 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9647
9648         Add a test suite for the sethostname module.
9649         * modules/sethostname-tests: New file.  A test program
9650         for the sethostname module.
9651         * tests/test-sethostname.c: Likewise.
9652
9653 2011-12-03  Bruno Haible  <bruno@clisp.org>
9654
9655         Tweak last commit.
9656         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
9657         Fix preprocessor directives indentation. Fix typos.
9658         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
9659         * modules/unistd (Makefile): Likewise.
9660
9661 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9662
9663         Integrate the sethostname module into unistd.
9664         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
9665         into the unistd.h header.
9666         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
9667         preprocessor directives.
9668         * modules/unistd: Setup the Makefile substitutions of the
9669         SETHOSTNAME preprocessor directives.
9670
9671 2011-12-03  Bruno Haible  <bruno@clisp.org>
9672
9673         Tweak last commit.
9674         * lib/sethostname.c: Don't include <string.h>.
9675         (sethostname): No need to copy the argument string to the stack. Don't
9676         call clearerr. Preserve errno when fprintf failed.
9677         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
9678         Don't invoke AC_REPLACE_FUNCS.
9679         * modules/sethostname (Link): Remove empty section.
9680         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
9681         failure problem.
9682
9683 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9684
9685         New module 'sethostname'.
9686         * lib/sethostname.c (sethostname): New file.  Provide sethostname
9687         for systems that lack it.
9688         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
9689         sethostname declaration and function.
9690         * modules/sethostname: New file.  Define the sethostname module.
9691
9692 2011-12-03  Bruno Haible  <bruno@clisp.org>
9693
9694         Tweak last commit.
9695         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
9696
9697 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9698
9699         Split the HOST_NAME_MAX detection into a separate m4 macro.
9700         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
9701         macro so it can be used by the pending sethostname module.
9702
9703 2011-12-03  Bruno Haible  <bruno@clisp.org>
9704
9705         Fix module descriptions syntax.
9706         * modules/argv-iter (License): Fix syntax.
9707         * modules/di-set (License): Likewise.
9708         * modules/ino-map (License): Likewise.
9709         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
9710
9711 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9712
9713         stdalign: port to Clang 3.0
9714         Problem reported by Simon Josefsson in
9715         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
9716         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
9717         which has <stdalign.h> but which does not define alignof.
9718         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
9719
9720 2011-12-01  Eric Blake  <eblake@redhat.com>
9721
9722         mktempd: silence dd usage
9723         * build-aux/mktempd (rand_bytes): Silence dd.
9724
9725 2011-11-30  Simon Josefsson  <simon@josefsson.org>
9726
9727         manywarnings: Don't mention gcc version in docstring.
9728         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
9729         Jim Meyering <meyering@redhat.com>.
9730
9731 2011-11-30  Jim Meyering  <meyering@redhat.com>
9732
9733         hash: mark a few floating point constants with "f" suffix
9734         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
9735         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
9736         floating point constants with "f", since they're destined to be
9737         saved/used as "float"s.
9738
9739 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
9740
9741         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
9742         * tests/test-float.c (test_long_double): Correct and re-enable the
9743         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
9744
9745 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
9746
9747         Avoid subtracting two pointers that don't point into the same block.
9748         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
9749         only pointers into the same memory block are subtracted. We cannot
9750         assume that sizeof (ptrdiff_t) == sizeof (void *).
9751
9752 2011-11-29  Eric Blake  <eblake@redhat.com>
9753
9754         maint.mk: add syntax check for use of compare from init.sh
9755         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
9756         moved here from coreutils.
9757
9758         manywarnings: drop -Wunsuffixed-float-constants
9759         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
9760         '1.0D', which is the only way to silence this warning for 'double'.
9761
9762 2011-11-29  Jim Meyering  <meyering@redhat.com>
9763
9764         hash: mark compute_bucket_size with the pure attribute
9765         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
9766
9767         quotearg, propername: correct pragma guard expression
9768         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
9769         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
9770
9771 2011-11-28  Jim Meyering  <meyering@redhat.com>
9772
9773         propername: do not mark proper_name with the const attribute
9774         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
9775         since it examines data pointed to by its parameter.
9776         * lib/propername.c (proper_name): Instead, add a pragma to suppress
9777         the suggestion from -Wsuggest-attribute=const.
9778
9779         propername: mark one more function as const
9780         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
9781
9782 2011-11-27  Jim Meyering  <meyering@redhat.com>
9783
9784         mark functions with const and pure attributes
9785
9786         Mark functions per suggestions from gcc-4.6 when using these options:
9787         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
9788         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
9789         Follow these guidelines: when possible, apply the attribute to
9790         an extern declaration, not to its definition.  Apply it to the
9791         definition only when the definition is static.
9792         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
9793         * lib/argv-iter.h (argv_iter_n_args): Likewise.
9794         * lib/base64.h (isbase64): Likewise.
9795         * lib/basename-lgpl.c (last_component, base_len): Likewise.
9796         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
9797         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
9798         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
9799         (c_tolower, c_toupper): Likewise.
9800         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
9801         * lib/chdir-long.c (find_non_slash): Likewise.
9802         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
9803         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
9804         * lib/file-type.h (file_type): Likewise.
9805         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
9806         * lib/filevercmp.c (verrevcmp): Likewise.
9807         * lib/freadahead.h (freadahead): Likewise.
9808         * lib/fts.c (fts_maxarglen): Likewise.
9809         * lib/hash-pjw.h (hash_pjw): Likewise.
9810         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
9811         * lib/hash.c (is_prime, next_prime): Likewise.
9812         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
9813         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
9814         (hash_table_ok, hash_get_first, hash_string): Likewise.
9815         (compute_bucket_size): Likewise.
9816         * lib/i-ring.h (i_ring_empty): Likewise.
9817         * lib/isnan.c (isnanl): Likewise.
9818         * lib/math.h (isnanl, rpl_isnanl): Likewise.
9819         * lib/memcasecmp.h (memcasecmp): Likewise.
9820         * lib/memchr2.h (memchr2): Likewise.
9821         * lib/memcmp2.h (memcmp2): Likewise.
9822         * lib/parse-datetime.y (lookup_zone): Likewise.
9823         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
9824         [!WINDOWS_SOCKETS]: Likewise.
9825         * lib/strnlen1.h (strnlen1): Likewise.
9826         * lib/uniwidth.in.h (uc_width): Likewise.
9827         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
9828         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
9829         (quoting_options_from_style): Add a comment.
9830         * lib/propername.h (proper_name): Add a comment.
9831
9832 2011-11-27  Bruno Haible  <bruno@clisp.org>
9833
9834         Remove unused macros from !_LIBC code in glibc-borrowed files.
9835         * lib/fnmatch.c (STRCOLL): Remove macro.
9836         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
9837         * lib/glob.c (__stat, __readdir64): Remove macros.
9838         * lib/tempname.c (__open64, __xstat64): Remove macros.
9839         Suggested by Paul Eggert.
9840
9841 2011-11-27  Bruno Haible  <bruno@clisp.org>
9842
9843         getcwd: Fix link error on MSVC 9.
9844         * modules/getcwd (Depends-on): Add readdir, rewinddir.
9845
9846 2011-11-27  Bruno Haible  <bruno@clisp.org>
9847
9848         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
9849         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
9850         HAVE_OPENDIR is 0.
9851         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
9852         HAVE_CLOSEDIR is 0.
9853         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
9854         is 0.
9855         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
9856
9857 2011-11-27  Bruno Haible  <bruno@clisp.org>
9858
9859         getcwd: Fix bug from 2011-08-17.
9860         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
9861         platforms that need it.
9862         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
9863         code of 4 to be a failure, not a success. This ensures that
9864         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
9865
9866 2011-11-27  Bruno Haible  <bruno@clisp.org>
9867
9868         binary-io tests: Avoid test failure on mingw when libtool is used.
9869         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
9870         Don't verify the size of t-bin-out1.tmp here.
9871         * tests/test-binary-io.sh: Verify it here.
9872         Reported by Simon Josefsson.
9873
9874 2011-11-26  Bruno Haible  <bruno@clisp.org>
9875
9876         Fix conflict between two instantiations of module 'unistd'.
9877         * gnulib-tool (func_emit_autoconf_snippet): Substitute
9878         ${include_guard_prefix} also in the autoconf snippet.
9879         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
9880         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
9881         GNULIB_UNISTD_H_GETOPT.
9882         * modules/getopt-posix (configure.ac): Set the
9883         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
9884         * modules/getopt-gnu (configure.ac): Likewise.
9885         * modules/unistd (Makefile.am): Change the substitution value of
9886         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
9887         Reported by Simon Josefsson.
9888
9889 2011-11-25  Bruno Haible  <bruno@clisp.org>
9890
9891         pagealign_alloc: Doc and comments.
9892         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
9893         module.
9894         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
9895
9896 2011-11-25  Jim Meyering  <meyering@redhat.com>
9897
9898         test-update-copyright.sh: avoid false-positive failure
9899         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
9900         around false positive failure on Cygwin/Windows.  The latter was
9901         matching erroneously-created files with names like
9902         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
9903
9904 2011-11-25  Simon Josefsson  <simon@josefsson.org>
9905
9906         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
9907         * m4/valgrind-tests.m4: Check that the parameters that will be
9908         used works, not just a subset of them.  Reported by Bruno Haible
9909         <bruno@clisp.org>.
9910
9911 2011-11-24  Jim Meyering  <meyering@redhat.com>
9912
9913         test-stdalign.c: comment out long double tests
9914         * tests/test-stdalign.c: Don't try to reduce alignment of long double
9915         variables.  That provokes errors like this from gcc-4.7.0 20111124:
9916         error: '_Alignas' specifiers cannot reduce alignment of \
9917         'static_longdouble_alignas'.
9918
9919 2011-11-22  Jim Meyering  <meyering@redhat.com>
9920
9921         init.sh: make "compare /dev/null FILE" output more readable
9922         * tests/init.sh (compare_): Document the preferred order of arguments.
9923         (emit_diff_u_header_): New function.
9924         (compare_dev_null_): Emit a simulated diff, rather than just the
9925         contents of the unexpected file.  Suggestion from Bruno Haible.
9926
9927 2011-11-21  Jim Meyering  <meyering@redhat.com>
9928             Eric Blake  <eblake@redhat.com>
9929
9930         init.sh: work around OSF/1 5.1's mishandling of /dev/null
9931         * tests/init.sh: Make our compare function slightly more portable.
9932         Reported by Bruno Haible in
9933         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
9934
9935 2011-11-21  Simon Josefsson  <simon@josefsson.org>
9936
9937         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
9938         before using it, in code that ends up in config.h.
9939
9940 2011-11-20  Bruno Haible  <bruno@clisp.org>
9941
9942         getcwd: Work around getcwd bug on AIX 5..7.
9943         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
9944         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
9945         Use a different value for gl_cv_func_getcwd_path_max. Move the
9946         definition of HAVE_PARTLY_WORKING_GETCWD from here...
9947         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
9948         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
9949         Define HAVE_MINIMALLY_WORKING_GETCWD.
9950         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
9951         where it is not even minimally working, that is, on AIX.
9952         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
9953         m4/getcwd-path-max.m4.
9954         (main): Update exit code computation.
9955         * doc/posix-functions/getcwd.texi: Mention list of platforms where
9956         getcwd does not handle long file names.
9957
9958 2011-11-20  Bruno Haible  <bruno@clisp.org>
9959
9960         getcwd: Fix bug from 2009-09-10.
9961         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
9962         like "no".
9963
9964 2011-11-20  Simon Josefsson  <simon@josefsson.org>
9965
9966         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
9967
9968 2011-11-20  Bruno Haible  <bruno@clisp.org>
9969
9970         fma tests: Avoid shadowing local variables.
9971         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
9972         expected.
9973
9974 2011-11-20  Bruno Haible  <bruno@clisp.org>
9975
9976         copysignf tests: Fix.
9977         * tests/test-copysignf.c: Fix signature check.
9978
9979 2011-11-20  Bruno Haible  <bruno@clisp.org>
9980
9981         fma: Remove unused code.
9982         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
9983         unused macros.
9984
9985 2011-11-20  Bruno Haible  <bruno@clisp.org>
9986
9987         sethostname: Fix doc about AIX.
9988         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
9989         sethostname; it has it.
9990
9991         sethostname: Mention more portability problems.
9992         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
9993         problem.
9994         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
9995
9996 2011-11-19  Bruno Haible  <bruno@clisp.org>
9997
9998         Depend on module fcntl-h when AT_FDCWD is used.
9999         * modules/utimens (Depends-on): Add fcntl-h.
10000         * modules/areadlinkat (Depends-on): Likewise.
10001         * modules/areadlinkat-with-size (Depends-on): Likewise.
10002         * modules/faccessat (Depends-on): Likewise.
10003         * modules/fchmodat (Depends-on): Likewise.
10004         * modules/fchownat (Depends-on): Likewise.
10005         * modules/getcwd (Depends-on): Likewise.
10006         * modules/mkdirat (Depends-on): Likewise.
10007         * modules/mkfifoat (Depends-on): Likewise.
10008         * modules/readlinkat (Depends-on): Likewise.
10009         * modules/symlinkat (Depends-on): Likewise.
10010         * modules/dup2-tests (Depends-on): Likewise.
10011         * modules/fdutimensat-tests (Depends-on): Likewise.
10012         * modules/futimens-tests (Depends-on): Likewise.
10013
10014 2011-11-19  Bruno Haible  <bruno@clisp.org>
10015
10016         euidaccess: Update a comment.
10017         * lib/euidaccess.c: Update comment about platforms with faccessat.
10018
10019 2011-11-19  Bruno Haible  <bruno@clisp.org>
10020
10021         openat: Fix file list.
10022         * modules/openat (Files): Remove lib/at-func.c.
10023
10024 2011-11-19  Bruno Haible  <bruno@clisp.org>
10025
10026         fstatat: Simplify.
10027         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
10028         gnulib should define rpl_fstatat, there is a
10029         "#define fstatat rpl_fstatat" in <sys/stat.h>.
10030
10031 2011-11-19  Bruno Haible  <bruno@clisp.org>
10032
10033         Ensure 'inline' can be used in tests/test-utimens-common.h.
10034         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
10035         * modules/futimens-tests (configure.ac): Likewise.
10036         * modules/utimens-tests (configure.ac): Likewise.
10037         * modules/utimensat-tests (configure.ac): Likewise.
10038
10039 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10040
10041         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
10042         not hash_insert0.
10043         (hash_insert_if_absent): Doc fix.
10044
10045 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10046
10047         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
10048
10049 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10050
10051         test-getcwd: disambiguate exit status
10052         * tests/test-getcwd.c (test_long_name): Return 0..7.
10053         (main): Exit with an unambiguous exit status.  The old
10054         code yielded a mysterious mixture of two failure codes.
10055
10056         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
10057         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
10058         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
10059         rpl_fstatat or fstatat.  This should fix the other problem
10060         reported by Kai Habel in
10061         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10062         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
10063         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
10064         and I reproduced it on a Solaris 8 host we still have in production.
10065
10066 2011-11-18  Jim Meyering  <meyering@redhat.com>
10067
10068         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
10069         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
10070         Add a sentence to the comment.
10071         (hash_insert0): New function that simply calls hash_insert_if_absent.
10072         * lib/hash.h (hash_insert_if_absent): Declare it.
10073         (hash_insert0): Add deprecation attribute.
10074         (_GL_ATTRIBUTE_DEPRECATED): Define.
10075         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
10076         not hash_insert0.
10077         * NEWS: Mention it, even though it's not really an incompatible change.
10078
10079 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
10080
10081         openat: avoid compilation failure due to lack of <errno.h> inclusion
10082         * lib/openat.c: Include <errno.h>.
10083
10084 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10085
10086         * modules/getcwd (Depends-on): Add fdopendir.
10087         This fixes one of the two problems reported by Kai Habel in
10088         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10089
10090         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
10091         stdalign problem reported by Ian Beckwith in
10092         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
10093         * modules/crypto/gc-arcfour (Depends-on):
10094         Depend conditionally on crypto/arcfour.
10095         * modules/crypto/gc-arctwo (Depends-on):
10096         Depend conditionally on crypto/arctwo.
10097         * modules/crypto/gc-des (Depends-on):
10098         Depend conditionally on crypto/des.
10099         * modules/crypto/gc-hmac-md5 (Depends-on):
10100         Depend conditionally on crypto/hmac-md5.
10101         * modules/crypto/gc-hmac-sha1 (Depends-on):
10102         Depend conditionally on crypto/hmac-sha1.
10103         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
10104         * modules/crypto/gc-md4 (Depends-on):
10105         Depend conditionally on crypto/md4.
10106         * modules/crypto/gc-md5 (Depends-on):
10107         Depend conditionally on crypto/md5.
10108         * modules/crypto/gc-rijndael (Depends-on):
10109         Depend conditionally on crypto/rijndael.
10110         * modules/crypto/gc-sha1 (Depends-on):
10111         Depend conditionally on crypto/sha1.
10112         * modules/crypto/gc-arcfour:
10113         * modules/crypto/gc-arctwo:
10114         * modules/crypto/gc-des:
10115         * modules/crypto/gc-hmac-md5:
10116         * modules/crypto/gc-hmac-sha1:
10117         * modules/crypto/gc-md2:
10118         * modules/crypto/gc-md4:
10119         * modules/crypto/gc-md5:
10120         * modules/crypto/gc-rijndael:
10121         * modules/crypto/gc-sha1:
10122         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
10123         now that the conditional dependencies do the work for us.
10124
10125 2011-11-17  Jim Meyering  <meyering@redhat.com>
10126
10127         tests: factor st_ctime-comparison out of two headers
10128         * tests/test-utimens-common.h (ctime_compare): Define.
10129         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
10130         * tests/test-lutimens.h (test_lutimens): Likewise.
10131         * tests/test-utimens.h (test_utimens): Likewise.
10132
10133         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
10134         Invoke the test program via an init.sh-using wrapper.
10135         * tests/test-getcwd.sh: New file.
10136         * modules/getcwd-tests (Files): Add it.
10137         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
10138
10139 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
10140
10141         gitlog-to-changelog: support multi-author commits.
10142         The FSF cares about keeping track of all authors of patches to its
10143         projects, but Git doesn't provide obvious support for multi-author
10144         changesets. Consensus seems to be forming around the use of extra
10145         Signed-off-by inspired lines in the log message formatted as
10146         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
10147         multi-author commits between version control systems.
10148         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
10149         log message and output in standard ChangeLog multi-author format.
10150         Reported by Peter Rosin <peda@lysator.liu.se>
10151
10152 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
10153             Bruno Haible  <bruno@clisp.org>
10154
10155         Fix some modules' file list.
10156         * modules/fstatat (Files): Add m4/lstat.m4.
10157         * modules/openat (Files): Likewise.
10158         * modules/unlinkat (Files): Likewise.
10159
10160 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
10161
10162         maint.mk: fix tight-scope.mk generation in VPATH builds.
10163         * top/maint.mk (tight-scope.mk): Make sure to prefix file
10164         reference with $(srcdir) so that the file is found correctly even
10165         when running `make syntax-check' in a VPATH build.
10166
10167 2011-11-13  Bruno Haible  <bruno@clisp.org>
10168             Jim Meyering  <meyering@redhat.com>
10169
10170         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
10171         * tests/init.sh (compare): Remove "No differences encountered" or
10172         synonymous output from the 'diff' program.
10173
10174 2011-11-13  Bruno Haible  <bruno@clisp.org>
10175
10176         Makefile: Tweak indentation.
10177         * Makefile: Use tab as first character in every line that contains rule
10178         commands.
10179
10180 2011-11-13  Bruno Haible  <bruno@clisp.org>
10181
10182         Syntax check for copyright statements.
10183         * check-copyright: New file.
10184         * Makefile (sc_check_copyright): New rule.
10185
10186 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10187
10188         * build-aux/git-version-gen: Add --prefix to configure the tag
10189         match string.
10190
10191 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10192
10193         * build-aux/git-version-gen: Add --help and --version.
10194
10195 2011-11-12  Jim Meyering  <meyering@redhat.com>
10196
10197         revamp the other test-exclude?.sh scripts to use init.sh, too
10198         * tests/test-exclude1.sh: Use init.sh.
10199         * tests/test-exclude2.sh: Likewise.
10200         * tests/test-exclude3.sh: Likewise.
10201         * tests/test-exclude4.sh: Likewise.
10202         * tests/test-exclude5.sh: Likewise.
10203         * tests/test-exclude6.sh: Likewise.
10204         * tests/test-exclude7.sh: Likewise.
10205         * tests/test-exclude8.sh: Likewise.
10206         * modules/exclude-tests (Files): List init.sh.
10207
10208         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
10209         These shell scripts ignored failure of the binary test-exclude,
10210         so making the latter return 77 didn't cause them to be skipped.
10211         * tests/test-exclude5.sh: Exit with test-exclude's error status
10212         when that program fails.  Revamp to use init.sh.
10213         * tests/test-exclude2.sh: Likewise.
10214
10215         test-exclude: fix a typo
10216         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
10217
10218 2011-11-11  Bruno Haible  <bruno@clisp.org>
10219
10220         obstack: Fix compilation error on MSVC 9.
10221         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
10222
10223 2011-11-11  Jim Meyering  <meyering@redhat.com>
10224
10225         test-exclude: skip tests rather than failing on deficient systems
10226         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
10227         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
10228         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
10229         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
10230
10231 2011-11-10  Bruno Haible  <bruno@clisp.org>
10232
10233         ptsname_r test: Avoid gcc warning on glibc systems.
10234         * tests/test-ptsname_r.c (null_ptr): New function.
10235         (test_errors): Use it.
10236
10237 2011-11-10  Bruno Haible  <bruno@clisp.org>
10238
10239         ptsname_r: Avoid compilation error on OSF/1 5.1.
10240         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
10241         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
10242         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
10243         function is not declared or incompatibly declared.
10244         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
10245         * modules/ptsname_r (Depends-on, configure.ac): Update.
10246         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
10247
10248 2011-11-10  Bruno Haible  <bruno@clisp.org>
10249
10250         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
10251         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
10252         When cross-compiling, guess yes on all platforms except AIX.
10253         Reported by Ludovic Courtès <ludo@gnu.org>.
10254
10255 2011-11-09  Bruno Haible  <bruno@clisp.org>
10256
10257         ptsname_r tests: Fix bugs.
10258         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
10259         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
10260
10261 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10262
10263         fstatat: work with cross-compilation
10264         Problem reported by Ludovic Courtès in
10265         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
10266         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
10267         "cross-compiling" and assume the bug is present.  Replace
10268         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
10269         an inverted sense, to be more conservative about our assumptions.
10270         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
10271
10272 2011-11-09  Bruno Haible  <bruno@clisp.org>
10273
10274         Improve MODULES.html output.
10275         * modules/mkfifoat (Description): Use the word "function".
10276         * modules/readlinkat (Description): Likewise.
10277         * modules/symlinkat (Description): Likewise.
10278
10279 2011-11-09  Eric Blake  <eblake@redhat.com>
10280
10281         ptsname_r-tests: new test module
10282         * modules/ptsname_r-tests: New module.
10283         * tests/test-ptsname_r.c: New file.
10284
10285         ptsname_r: new module
10286         * modules/ptsname_r: New module.
10287         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
10288         * lib/ptsname.c (__ptsname_r): Split...
10289         * lib/ptsname_r.c: ...into new file.
10290         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10291         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
10292         * modules/stdlib (Makefile.am): Substitute witnesses.
10293         * lib/stdlib.in.h (ptsname_r): Declare it.
10294         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
10295         * MODULES.html.sh (Misc): Likewise.
10296         * modules/ptsname (Depends-on): Alter dependency.
10297         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
10298
10299 2011-11-09  Jim Meyering  <meyering@redhat.com>
10300
10301         announce-gen: be more concise when there's only one URL+tarball
10302         * build-aux/announce-gen (get_tool_versions): When you distribute
10303         only one type of tarball, combine the first two "Here are..."
10304         sections and make the key-checking grammar independent of
10305         how many tarballs there are.
10306
10307 2011-11-09  Eric Blake  <eblake@redhat.com>
10308
10309         openpty: provide a stub on mingw
10310         * lib/pty.in.h (includes): Provide forward declarations.
10311         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
10312
10313         raise: fix mingw handling of SIGPIPE
10314         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
10315
10316 2011-11-08  Bruno Haible  <bruno@clisp.org>
10317
10318         More conditional dependencies.
10319         * modules/faccessat (Depends-on): Add conditions.
10320         * modules/fchmodat (Depends-on): Likewise.
10321         * modules/fchownat (Depends-on): Likewise.
10322         * modules/fstatat (Depends-on): Likewise.
10323         * modules/mkfifoat (Depends-on): Likewise.
10324         * modules/readlinkat (Depends-on): Likewise.
10325         * modules/symlinkat (Depends-on): Likewise.
10326         * modules/unlinkat (Depends-on): Likewise.
10327         * modules/utimensat (Depends-on): Likewise.
10328         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
10329         * modules/linkat (Depends-on): Refine the conditions.
10330         * modules/renameat (Depends-on): Likewise.
10331
10332 2011-11-08  Bruno Haible  <bruno@clisp.org>
10333
10334         faccessat: Move AC_LIBOBJ invocation to module description.
10335         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
10336         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
10337         invocation from here...
10338         * modules/faccessat (configure.ac): ... to here. Invoke
10339         gl_PREREQ_FACCESSAT.
10340
10341 2011-11-08  Bruno Haible  <bruno@clisp.org>
10342
10343         faccessat: Simplify autoconf macro.
10344         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
10345         gl_FUNC_EUIDACCESS.
10346
10347 2011-11-08  Bruno Haible  <bruno@clisp.org>
10348
10349         renameat: Fix dependencies.
10350         * modules/renameat (Depends-on): Add stdbool.
10351
10352 2011-11-08  Bruno Haible  <bruno@clisp.org>
10353
10354         mkfifoat: Fix module description.
10355         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
10356         not gl_UNISTD_MODULE_INDICATOR.
10357
10358 2011-11-08  Bruno Haible  <bruno@clisp.org>
10359
10360         fstatat: Remove unused dependency.
10361         * modules/fstatat (Depends-on): Remove fstat.
10362
10363 2011-11-08  Simon Josefsson  <simon@josefsson.org>
10364
10365         GNUmakefile: behave when Makefile is missing.
10366         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
10367
10368 2011-11-08  Bruno Haible  <bruno@clisp.org>
10369
10370         openat: Conditionalize dependencies.
10371         * lib/openat.c: Reduce the scope of some #includes.
10372         * modules/openat (Depends-on): Add conditions.
10373
10374 2011-11-07  Jim Meyering  <meyering@redhat.com>
10375
10376         maint.mk: extract GPG key ID without using a temporary file
10377         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
10378         without using a temporary file.  Based on a suggestion from Werner Koch
10379         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
10380
10381 2011-11-07  Eric Blake  <eblake@redhat.com>
10382
10383         grantpt: fix typo
10384         * lib/stdlib.in.h (grantpt): Check correct function.
10385
10386         maint.mk: silence new syntax check
10387         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
10388
10389 2011-11-06  Bruno Haible  <bruno@clisp.org>
10390
10391         Doc about floating-point and math API.
10392         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
10393         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
10394
10395 2011-11-06  Bruno Haible  <bruno@clisp.org>
10396
10397         stdalign tests: Skip the test when compiled by Sun C.
10398         * tests/test-stdalign.c (main): Skip the test on Sun C.
10399
10400 2011-11-06  Bruno Haible  <bruno@clisp.org>
10401
10402         ansi-c++-opt: Complete the 2011-06-05 change.
10403         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
10404         does not support namespaces, set the variable to "no", not to ":".
10405
10406 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10407
10408         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10409
10410 2011-11-06  Bruno Haible  <bruno@clisp.org>
10411
10412         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
10413         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
10414         (minus_zerol) [HP-UX]: New macro.
10415         (unary_minus) [HP-UX]: New function.
10416         (copysignl) [HP-UX]: Use unary_minus function.
10417
10418 2011-11-06  Bruno Haible  <bruno@clisp.org>
10419
10420         ldexp, ldexpf, ldexpl: Enhance tests.
10421         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
10422         and tests/test-ldexpl.c.
10423         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
10424         LDEXP, MIN_EXP, MAX_EXP): New macros.
10425         Include test-ldexp.h.
10426         (main): Just call test_function.
10427         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
10428         infinity.h, nan.h.
10429         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10430         MAX_EXP): New macros.
10431         Include test-ldexp.h.
10432         (x, y): Remove variables.
10433         (main): Just call test_function.
10434         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
10435         infinity.h, nan.h.
10436         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10437         MAX_EXP): New macros.
10438         Include test-ldexp.h.
10439         (x, y): Remove variables.
10440         (main): Just call test_function.
10441         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
10442         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
10443         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10444         (Depends-on): Add isnand-nolibm, signbit, float.
10445         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
10446         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10447         (Depends-on): Add isnanf-nolibm, signbit, float.
10448
10449 2011-11-06  Bruno Haible  <bruno@clisp.org>
10450
10451         math tests: Cosmetics.
10452         * tests/test-math-c++.cc: Reorder declarations.
10453
10454 2011-11-05  Bruno Haible  <bruno@clisp.org>
10455
10456         fma*: Simplify test.
10457         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10458         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
10459
10460         Tests for module 'fmal'.
10461         * modules/fmal-tests: New file.
10462         * tests/test-fmal1.c: New file.
10463         * tests/test-fmal2.c: New file.
10464
10465         New module 'fmal'.
10466         * lib/math.in.h (fmal): New declaration.
10467         * lib/fmal.c: New file.
10468         * m4/fmal.m4: New file.
10469         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
10470         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
10471         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
10472         REPLACE_FMAL.
10473         * modules/fmal: New file.
10474         * doc/posix-functions/fmal.texi: Mention the new module and the various
10475         bugs.
10476
10477         Tests for module 'fmaf'.
10478         * modules/fmaf-tests: New file.
10479         * tests/test-fmaf1.c: New file.
10480         * tests/test-fmaf2.c: New file.
10481
10482         New module 'fmaf'.
10483         * lib/math.in.h (fmaf): New declaration.
10484         * lib/fmaf.c: New file.
10485         * m4/fmaf.m4: New file.
10486         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
10487         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
10488         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
10489         REPLACE_FMAF.
10490         * modules/fmaf: New file.
10491         * doc/posix-functions/fmaf.texi: Mention the new module and the various
10492         bugs.
10493
10494         Tests for module 'fma'.
10495         * modules/fma-tests: New file.
10496         * tests/test-fma1.c: New file.
10497         * tests/test-fma1.h: New file.
10498         * tests/test-fma2.c: New file.
10499         * tests/test-fma2.h: New file.
10500
10501         New module 'fma'.
10502         * lib/math.in.h (fma): New declaration.
10503         * lib/fma.c: New file.
10504         * m4/fma.m4: New file.
10505         * m4/fegetround.m4: New file.
10506         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
10507         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
10508         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
10509         REPLACE_FMA.
10510         * modules/fma: New file.
10511         * doc/posix-functions/fma.texi: Mention the new module and the various
10512         bugs.
10513
10514         Extend gl_MATHFUNC.
10515         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
10516         Support 'void' as argument type.
10517         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
10518
10519 2011-11-05  Jim Meyering  <meyering@redhat.com>
10520
10521         maint.mk: also prohibit inclusion of dirent.h without use
10522         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
10523
10524 2011-11-05  Bruno Haible  <bruno@clisp.org>
10525
10526         ldexpl tests: Avoid test failure on MSVC 9.
10527         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
10528         value. Needed in order to enforce the conversion from a value greater
10529         than LDBL_MAX to Infinity.
10530
10531 2011-11-05  Bruno Haible  <bruno@clisp.org>
10532
10533         New modules 'at-internal', 'openat-h', split off from module 'openat'.
10534         * modules/at-internal: New file, extracted from modules/openat.
10535         * modules/openat-h: New file.
10536         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
10537         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
10538         * modules/openat (Description): Add reference to POSIX function.
10539         (Files): Remove lib/openat.h, lib/openat-proc.c.
10540         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
10541         intprops, unistd.
10542         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
10543         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
10544         gl_FCNTL_MODULE_INDICATOR.
10545         (Include): Remove unistd.h, openat.h.
10546         * modules/areadlinkat (Files): Add lib/at-func.c.
10547         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10548         openat-die, openat-h, save-cwd.
10549         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
10550         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10551         openat-die, openat-h, save-cwd, unistd.
10552         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
10553         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10554         openat-h, save-cwd. Remove fcntl-h, openat.
10555         * modules/fchmodat (Files): Remove lib/openat.h.
10556         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10557         openat, stdbool, unistd.
10558         * modules/fchownat (Files): Remove lib/openat.h.
10559         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10560         openat, stdbool, sys_stat.
10561         * modules/fdopendir (Files): Remove lib/openat-priv.h,
10562         lib/openat-proc.c.
10563         (Depends-on): Add at-internal.
10564         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
10565         * modules/fstatat (Files): Remove lib/openat.h.
10566         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10567         stdbool, unistd.
10568         * modules/fts (Depends-on): Add openat-h.
10569         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
10570         openat.
10571         * modules/mkdirat (Files): Remove lib/openat.h.
10572         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10573         openat, stdbool, sys_stat.
10574         * modules/mkfifoat (Files): Add lib/at-func.c.
10575         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10576         openat-h, save-cwd. Remove fcntl-h, openat.
10577         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
10578         * modules/readlinkat (Files): Add lib/at-func.c.
10579         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10580         openat-h, save-cwd. Remove fcntl-h, openat.
10581         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
10582         openat.
10583         * modules/selinux-at (Files): Add lib/at-func.c.
10584         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10585         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
10586         * modules/symlinkat (Files): Add lib/at-func.c.
10587         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10588         openat-h, save-cwd. Remove fcntl-h, openat.
10589         * modules/unlinkat (Files): Remove lib/openat.h.
10590         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10591         stdbool.
10592         * modules/utimensat (Files): Add lib/at-func.c.
10593         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
10594         openat-die, openat-h, save-cwd.
10595         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
10596         * modules/fdutimensat-tests (Depends-on): Add openat.
10597         * modules/fstatat-tests (Depends-on): Add openat-h.
10598         * modules/readlinkat-tests (Depends-on): Add openat.
10599         * modules/symlinkat-tests (Depends-on): Add openat.
10600
10601 2011-11-05  Bruno Haible  <bruno@clisp.org>
10602
10603         openat: Include <stdbool.h>.
10604         * lib/openat.c: Include <stdbool.h>.
10605
10606 2011-11-04  Bruno Haible  <bruno@clisp.org>
10607
10608         fchownat, renameat, unlinkat: Fix dependencies.
10609         * modules/fchownat (Depends-on): Add fstatat.
10610         * modules/renameat (Depends-on): Likewise.
10611         * modules/unlinkat (Depends-on): Likewise.
10612
10613 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10614
10615         openat: remove direct dependency on dirent
10616         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
10617         and hasn't been needed ever since fdopendir was split into its own
10618         module on 2009-08-31.
10619         * modules/openat (Depends-on): Remove dirent.
10620
10621 2011-11-04  Bruno Haible  <bruno@clisp.org>
10622
10623         renameat: Optimize code size.
10624         * modules/renameat (configure.ac): Don't compile at-func2.c if
10625         REPLACE_RENAMEAT is 1.
10626
10627 2011-11-04  Bruno Haible  <bruno@clisp.org>
10628
10629         openat tests: Fix file list.
10630         * modules/openat-tests (Files): Add tests/test-open.h.
10631
10632 2011-11-04  Bruno Haible  <bruno@clisp.org>
10633
10634         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
10635         * modules/fchmodat (Depends-on): Add openat-die.
10636         * modules/fchownat (Depends-on): Likewise.
10637         * modules/linkat (Depends-on): Likewise.
10638         * modules/renameat (Depends-on): Likewise.
10639         * modules/openat (Depends-on): Add dirent.
10640
10641 2011-11-04  Jim Meyering  <meyering@redhat.com>
10642
10643         at-func*.c: fix comments
10644         * lib/at-func2.c: Correct/improve first-line comment.
10645         * lib/at-func.c: Correct grammar in first-line comment.
10646
10647 2011-11-04  Bruno Haible  <bruno@clisp.org>
10648
10649         New module 'mkdirat', split off from module 'openat'.
10650         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
10651         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
10652         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
10653         * modules/mkdirat: New file, extracted from modules/openat.
10654         * modules/openat (Files): Remove lib/mkdirat.c.
10655         (Depends-on): Remove mkdir.
10656         (configure.ac): Remove AC_LIBOBJ of mkdirat.
10657         (Include): Remove <sys/stat.h>.
10658         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
10659         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
10660         tests/test-mkdir.h.
10661         (Depends-on): Remove ignore-value.
10662         (Makefile.am): Remove rules for test-mkdirat.
10663         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
10664         of module 'openat'.
10665         * NEWS: Mention the change.
10666
10667 2011-11-04  Bruno Haible  <bruno@clisp.org>
10668
10669         closedir: Avoid warning on mingw.
10670         * lib/closedir.c: Include <unistd.h>.
10671
10672 2011-11-04  Bruno Haible  <bruno@clisp.org>
10673
10674         New module 'fstatat', split off from module 'openat'.
10675         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
10676         defined.
10677         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
10678         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
10679         gl_FUNC_FSTATAT.
10680         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
10681         * modules/fstatat: New file, extracted from modules/openat.
10682         * modules/openat (Files): Remove lib/fstatat.c.
10683         (Depends-on): Remove lstat.
10684         (configure.ac): Remove AC_LIBOBJ of fstatat.
10685         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
10686         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
10687         tests/test-lstat.h, tests/test-stat.h.
10688         (Depends-on): Remove getcwd-lgpl.
10689         (Makefile.am): Remove rules for test-fstatat.
10690         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
10691         of module 'openat'.
10692         * NEWS: Mention the change.
10693         * modules/getcwd (Depends-on): Add fstatat.
10694         * modules/linkat (Depends-on): Likewise.
10695         * modules/mkfifoat-tests (Depends-on): Likewise.
10696         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
10697
10698 2011-11-03  Bruno Haible  <bruno@clisp.org>
10699
10700         New module 'unlinkat', split off from module 'openat'.
10701         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
10702         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
10703         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
10704         * modules/unlinkat: New file, extracted from modules/openat. Correct
10705         the dependency conditions.
10706         * modules/openat (Files): Remove lib/unlinkat.c.
10707         (Depends-on): Remove rmdir, unlink.
10708         (configure.ac): Remove AC_LIBOBJ of unlinkat.
10709         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
10710         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
10711         tests/test-rmdir.h, tests/test-unlink.h.
10712         (Depends-on): Remove unlinkdir.
10713         (Makefile.am): Remove rules for test-unlinkat.
10714         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
10715         of module 'openat'.
10716         * NEWS: Mention the change.
10717         * modules/linkat-tests (Depends-on): Add unlinkat.
10718         * modules/mkfifoat-tests (Depends-on): Likewise.
10719         * modules/readlinkat-tests (Depends-on): Likewise.
10720
10721 2011-11-02  Bruno Haible  <bruno@clisp.org>
10722
10723         New module 'fchmodat', split off from module 'openat'.
10724         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
10725         defined.
10726         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
10727         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
10728         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
10729         * modules/fchmodat: New file, extracted from modules/openat.
10730         * modules/openat (Files): Remove lib/fchmodat.c.
10731         (configure.ac): Remove AC_LIBOBJ of fchmodat.
10732         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
10733         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
10734         (Makefile.am): Remove rules for test-fchmodat.
10735         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
10736         of module 'openat'.
10737         * NEWS: Mention the change.
10738
10739 2011-11-02  Jim Meyering  <meyering@redhat.com>
10740
10741         putenv: indent #definition of "environ" to placate cppi
10742         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
10743
10744         gitlog-to-changelog: provide a ChangeLog-repair mechanism
10745         Git logs are often treated as immutable, because editing them
10746         changes the SHA1 checksums of all descendants.  Thus, errors in
10747         git logs tend to stay there forever.  However, when we generate
10748         a ChangeLog file -- typically for distribution -- from that git log,
10749         we can actually make corrections in the generated file.  The key
10750         lies in recording in machine-readable/applicable form the desired
10751         corrections.  See --help for description and an example.
10752         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
10753         (usage): Describe it; alphabetize option descriptions.
10754         (main): Honor the new option, carefully.
10755
10756 2011-11-01  Jim Meyering  <meyering@redhat.com>
10757
10758         gitlog-to-changelog: avoid an infloop
10759         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
10760         that ends up being empty.
10761
10762 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10763
10764         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
10765         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
10766         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
10767         contains (possibly-quoted) backslashes.  This should avoid
10768         all-too-common shell bugs if COMPLICATED contains backslashes in
10769         the "wrong" places.  Reported by David Evans in
10770         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
10771         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
10772         because we want ASCII ranges.  Is there some reason we don't use
10773         the C locale everywhere in this script?
10774         (func_module, top level): Avoid unwanted pathname expansion when
10775         $repo_url_prefix or $repo_url_suffix_repl contain shell
10776         metacharacters like '?' and '*'.
10777
10778 2011-11-01  Bruno Haible  <bruno@clisp.org>
10779
10780         fchownat: Improve description.
10781         * modules/fchownat (Description): Add link to function.
10782
10783 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10784
10785         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
10786         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
10787         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
10788         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
10789
10790 2011-11-01  Bruno Haible  <bruno@clisp.org>
10791
10792         alignof: Avoid collision with stdalign module.
10793         * lib/alignof.h (alignof): Remove macro.
10794         * NEWS: Mention the change.
10795         Reported by Paul Eggert.
10796
10797 2011-11-01  Bruno Haible  <bruno@clisp.org>
10798
10799         New module 'fchownat', split off from module 'openat'.
10800         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
10801         defined.
10802         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
10803         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
10804         invoke gl_FUNC_FCHOWNAT.
10805         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
10806         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
10807         * modules/fchownat: New file, extracted from modules/openat.
10808         * modules/openat (Files): Remove lib/fchownat.c.
10809         (Depends-on): Remove lchown.
10810         (configure.ac): Remove AC_LIBOBJ of fchownat.
10811         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
10812         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
10813         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
10814         (Depends-on): Remove mgetgroups, usleep, stat-time.
10815         (configure.ac): Remove test for getegid.
10816         (Makefile.am): Remove rules for test-fchownat.
10817         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
10818         of module 'openat'.
10819         * NEWS: Mention the change.
10820
10821 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
10822
10823         stdalign: port better to MSVC and to Sun C 5.11
10824         This fixes some of the problems reported by Bruno Haible in
10825         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
10826         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
10827         shortcomings of MSVC and of Sun C 5.11.
10828         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
10829         around __declspec arg.
10830         * modules/stdalign-tests (Files): Add tests/macros.h.
10831         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
10832         Include macros.h, for ASSERT.
10833         (DECLARE_ALIGNED): Remove.
10834         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
10835         to catch bug), and to 1 if not (simplifies the rest of the code).
10836         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
10837         (CHECK_AUTO): Remove.
10838         (CHECK_ALIGNED): Check only the alignment of the static vars,
10839         since auto var alignment isn't supported by Sun C 5.11.
10840         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
10841         ASSERT failures are easier to diagnose.
10842
10843 2011-10-31  Bruno Haible  <bruno@clisp.org>
10844
10845         doc about some IRIX 5.3 problems.
10846         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
10847         on IRIX 5.3.
10848         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
10849         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
10850         5.3.
10851         * doc/posix-functions/grantpt.texi: Likewise.
10852         * doc/posix-functions/unlockpt.texi: Likewise.
10853         * doc/posix-functions/lgamma.texi: Likewise.
10854         * doc/posix-functions/nextafter.texi: Likewise.
10855         * doc/posix-functions/remainder.texi: Likewise.
10856         * doc/posix-functions/select.texi: Mention misplaced declaration on
10857         IRIX 5.3.
10858         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10859
10860 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
10861
10862         gitlog-to-changelog: fix git-log invocation.
10863         git-log mishandles date strings before 1970-01-01 UTC, and there is
10864         no use to specify --since=1970-01-01 by default anyway.
10865         * build-aux/gitlog-to-changelog: By default, when no --since option
10866         was given, do not specify explicit --since option to git-log.
10867
10868 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
10869
10870         gitlog-to-changelog: new option --append-dot.
10871         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
10872         first non-blank line of each commit message terminated with a dot.
10873
10874 2011-10-30  Bruno Haible  <bruno@clisp.org>
10875
10876         ffsl, ffsll: Avoid compilation error due to 'restrict'.
10877         * lib/ffsl.h: Include <config.h>.
10878         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
10879
10880 2011-10-30  Jim Meyering  <meyering@redhat.com>
10881
10882         GNUmakefile: reenable "make syntax-check" for most projects
10883         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
10884         build-aux variable", "syntax-check" would do nothing but succeed with
10885         the "No version control files detected..." diagnostic (unless you
10886         happened to override _build-aux via cfg.mk).
10887         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
10888         to precede inclusion of maint.mk.  Otherwise, these variables would
10889         be used undefined in any project that does not override the default.
10890
10891 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
10892
10893         gitlog-to-changelog: treat a message with only blank lines as empty.
10894         * build-aux/gitlog-to-changelog: Move the code that removes leading and
10895         trailing blank lines before the code that issues a warning about an
10896         empty commit message.
10897
10898 2011-10-30  Jim Meyering  <meyering@redhat.com>
10899
10900         test-parse-datetime.c: avoid new DST-related false positive test failure
10901         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
10902         based on the time/date we'll convert, not the current time.
10903         Otherwise, the moment we cross a DST boundary like today's in
10904         Europe, (CEST to CET), that offset ends up being one hour off.
10905
10906 2011-10-27  Bruno Haible  <bruno@clisp.org>
10907
10908         fstat: Tweak documentation.
10909         * modules/fstat (Description): More precise description.
10910
10911 2011-10-27  Bruno Haible  <bruno@clisp.org>
10912
10913         Update documentation regarding 'largefile' module.
10914         * doc/posix-functions/fstat.texi: Tweak wording.
10915         * doc/posix-functions/opendir.texi: Mention that the module fixes the
10916         problems with huge directories and/or small ino_t types.
10917         * doc/posix-functions/readdir.texi: Likewise.
10918         * doc/posix-functions/rewinddir.texi: Likewise.
10919
10920 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
10921
10922         maint.mk: don't maintain a second build-aux variable.
10923         * maint.mk (build_aux): Removed.  The maintainer-makefile module
10924         depends on GNUmakefile, which already maintains a cfg.mk
10925         overridable $(_build-aux) for projects with a non-standard
10926         build-aux directory location, although without the $(srcdir)
10927         prefix.  Use that variable consistently instead of introducing a
10928         second one.  Adjust all call sites.
10929
10930 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
10931
10932         Add stdalign module and use it in other modules.
10933         This is based on a previous proposal by Bruno Haible
10934         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
10935
10936         stdalign: new module
10937         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
10938         * modules/stdalign: New files.
10939         * MODULES.html.sh (c1x_core_properties): Add stdalign.
10940         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
10941
10942         stdalign-tests: new module
10943         * modules/stdalign-tests, tests/test-stdalign.c: New files.
10944
10945         argp: use stdalign
10946         * lib/argp-parse.c: Include <stdalign.h>.
10947         (alignof): Remove.
10948         * modules/argp (Depends-on): Add stdalign.
10949
10950         crypto libraries: use stdalign
10951         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
10952         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
10953         Do not include <stdlib.h> twice, in md4.c.
10954         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
10955         because we are accessing a pointer's bit-pattern, not a size.
10956         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
10957         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
10958         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
10959         * modules/crypto/sha512: Likewise.
10960
10961         sys_socket: use stdalign, not alignof
10962         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
10963         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
10964
10965 2011-10-27  Bruno Haible  <bruno@clisp.org>
10966
10967         raise test: Avoid a test failure on Linux/MIPS.
10968         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
10969         because 99 is a valid signal on Linux/MIPS.
10970
10971 2011-10-27  Bruno Haible  <bruno@clisp.org>
10972
10973         nonblocking tests: Fix test failure on Linux/MIPS.
10974         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
10975         Set to 270000.
10976
10977 2011-10-27  Bruno Haible  <bruno@clisp.org>
10978
10979         utimensat: Work around problem on Linux/hppa.
10980         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
10981         values.
10982         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
10983
10984 2011-10-25  Jim Meyering  <meyering@redhat.com>
10985
10986         maint.mk: fix a bug in sc_prohibit_stddef_without_use
10987         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
10988         after symbols like NULL, size_t, etc.
10989         Reported by Alfred M. Szmidt.
10990
10991         maint.mk: exempt ENODATA from a syntax-check rule
10992         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
10993         from the sc_prohibit_always-defined_macros syntax-check rule.
10994         Add a comment.  See this for more details:
10995         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
10996
10997 2011-10-23  Jim Meyering  <meyering@redhat.com>
10998
10999         fts: close parent dir FD before returning from post-traversal fts_read
11000         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
11001         unlink A, even though an FD open on A remained.  This is suboptimal
11002         (holding a file descriptor open longer than needed), but otherwise not
11003         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
11004         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
11005         that represents a real problem: it causes the removal of A to fail
11006         with e.g., "rm: cannot remove `A': Device or resource busy"
11007
11008         fts visits each directory twice and keeps a cache (fts_fd_ring) of
11009         directory file descriptors.  After completing the final, FTS_DP,
11010         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
11011         cache, but then proceeded to add a new FD to it via the subsequent
11012         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
11013         final file descriptor would be closed only via fts_close's call to
11014         fd_ring_clear.  Now, it is usually closed earlier, via the final
11015         FTS_DP-returning fts_read call.
11016         * lib/fts.c (restore_initial_cwd): New function, converted from
11017         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
11018         Update callers.
11019         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
11020         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
11021
11022 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
11023             Bruno Haible  <bruno@clisp.org>
11024             Jim Meyering  <jim@meyering.net>
11025
11026         readme-release: improve safety of release prep instructions.
11027         * README-release: Don't git pull all branches when only master
11028         is needed for the release process.
11029         Run make maintainer-clean before changing trees and merging.
11030         Don't try to run ./configure right after git pull in case files
11031         that influence the bootstrap process have changed, move the
11032         ./configure step to after running ./bootstrap.
11033         Don't bootstrap "one last time"... it's the first time!
11034
11035 2011-10-22  Bruno Haible  <bruno@clisp.org>
11036
11037         errno, strerror-override: Support for MSVC 10.
11038         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
11039         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
11040         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
11041         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
11042         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
11043         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
11044         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
11045         Assign values compatible with MSVC 10.
11046         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
11047         New macros.
11048         (GNULIB_defined_EWINSOCK): New macro.
11049         * lib/strerror-override.c (strerror_override): Update accordingly.
11050         * lib/strerror-override.h: Likewise.
11051         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
11052         longer equal to the corresponding errno value.
11053         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11054
11055 2011-10-22  Bruno Haible  <bruno@clisp.org>
11056
11057         perror: Recognize when test program crashes.
11058         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
11059         strerror, set gl_cv_func_perror_works to no.
11060         Reported by Daniel Richard G. <skunk@iskunk.org>.
11061
11062         perror: Fix indentation.
11063         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
11064
11065 2011-10-22  Bruno Haible  <bruno@clisp.org>
11066
11067         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
11068         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
11069         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
11070         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
11071         functions, not as a macro.
11072         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
11073         macros.
11074         (isfinite, isinf, isnan, signbit): Check overloaded functions and
11075         absence of macro.
11076         Suggested by Eric Blake.
11077         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11078
11079 2011-10-21  Bruno Haible  <bruno@clisp.org>
11080
11081         relocatable-prog-wrapper: Don't leave object files behind.
11082         * build-aux/install-reloc: Re-synchronize list of .o files to be
11083         removed with list of compilation units.
11084
11085 2011-10-20  Bruno Haible  <bruno@clisp.org>
11086
11087         openpty, posix_openpt: Remove code duplication.
11088         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
11089         * lib/openpty.c: Include <stdlib.h>.
11090         (openpty): Use posix_openpt on all platforms except IRIX.
11091         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
11092
11093 2011-10-20  Bruno Haible  <bruno@clisp.org>
11094
11095         unlockpt: Detect invalid argument.
11096         * lib/unlockpt.c: Include <fcntl.h>.
11097         (unlockpt): Check whether fd is valid, using fcntl().
11098         * modules/unlockpt (Depends-on): Add fcntl-h.
11099
11100 2011-10-20  Bruno Haible  <bruno@clisp.org>
11101
11102         openpty: Avoid compilation error on AIX 6.1.
11103         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
11104
11105 2011-10-20  Bruno Haible  <bruno@clisp.org>
11106
11107         posix_openpt: Support for OpenBSD.
11108         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
11109         (posix_openpt) [OpenBSD]: New code.
11110         * lib/grantpt.c: Include <fcntl.h>.
11111         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
11112         * modules/grantpt (Depends-on): Add fcntl-h.
11113
11114 2011-10-20  Bruno Haible  <bruno@clisp.org>
11115
11116         posix_openpt test: Coding style.
11117         * tests/test-posix_openpt.c: Use GNU coding style.
11118
11119 2011-10-20  Bruno Haible  <bruno@clisp.org>
11120
11121         grantpt: Support --avoid=pt_chown.
11122         * modules/grantpt (Files): Add lib/pty-private.h.
11123
11124 2011-10-20  Bruno Haible  <bruno@clisp.org>
11125
11126         posix_openpt: Fix autoconf macro.
11127         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
11128         unneeded check for _getpty.
11129
11130 2011-10-20  Bruno Haible  <bruno@clisp.org>
11131
11132         openpty: Update comments.
11133         * lib/openpty.c: Add comments about Minix.
11134
11135 2011-10-19  Eric Blake  <eblake@redhat.com>
11136
11137         openpty: relax license
11138         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
11139
11140         pt_chown: use configmake to simplify build
11141         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
11142
11143         ptsname and others: relax license
11144         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
11145         * modules/unlockpt (License): Likewise.
11146         * modules/pt_chown (License): Likewise.
11147         * modules/ptsname (License): Likewise.
11148         * modules/ttyname_r (License): Likewise.
11149
11150 2011-10-19  Jim Meyering  <meyering@redhat.com>
11151
11152         posix_openpt: remove spurious #endif
11153         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
11154
11155 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
11156
11157         maint.mk: Respect $(build_aux) in web-manual rule.
11158         * top/maint.mk (web-manual): Find gen-announce script in user's
11159         $(build_aux) directory instead of hard-coding 'build-aux'.
11160
11161 2011-10-19  Bruno Haible  <bruno@clisp.org>
11162
11163         posix_openpt: Fix compilation error.
11164         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
11165         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
11166         Mention the openpty module as an alternative.
11167
11168 2011-10-19  Bruno Haible  <bruno@clisp.org>
11169
11170         Support for old NeXTstep 3.3 frexp().
11171         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
11172         execution time of the test to 5 seconds.
11173         Reported by Daniel Richard G. <skunk@iskunk.org>.
11174
11175 2011-10-19  Bruno Haible  <bruno@clisp.org>
11176
11177         Support for old NeXTstep 3.3 sed.
11178         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
11179         part, use /.../, not \|...|. Escape periods in the header file name.
11180         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11181         Reported by Daniel Richard G. <skunk@iskunk.org>.
11182
11183 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11184
11185         Support for old NeXTstep 3.3 gcc.
11186         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
11187         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
11188         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
11189         * lib/spawn.in.h (_Restrict_arr_): Likewise.
11190         * lib/regex.h (_Restrict_arr_): Likewise.
11191         * lib/regex_internal.h (re_token_t): Likewise.
11192         * lib/regexec.c (check_node_accept_bytes): Likewise.
11193         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
11194
11195 2011-10-18  Eric Blake  <eblake@redhat.com>
11196
11197         posix_openpt: new module
11198         * modules/posix_openpt: New module.
11199         * m4/posix_openpt.m4: New file.
11200         * lib/posix_openpt.c: Likewise.
11201         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
11202         (gl_STDLIB_H_DEFAULTS): Set defaults.
11203         * modules/stdlib (Makefile.am): Substitute macros.
11204         * lib/stdlib.in.h (posix_openpt): Declare.
11205         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
11206         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
11207         * modules/posix_openpt-tests: New test module.
11208         * tests/test-posix_openpt.c: New test.
11209
11210 2011-10-15  Bruno Haible  <bruno@clisp.org>
11211
11212         xstrtoll: Fix compilation failure.
11213         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
11214         from lib/strtol.c.
11215         * doc/posix-headers/limits.texi: Mention missing numerical limits on
11216         some platforms.
11217         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11218
11219 2011-10-15  Bruno Haible  <bruno@clisp.org>
11220
11221         vasnprintf: Optimize bit search operation.
11222         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
11223         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
11224         gl_DOUBLE_EXPONENT_LOCATION.
11225         * modules/vasnprintf (Files): Add m4/exponentd.m4.
11226         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11227         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11228         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11229         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11230         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11231         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11232         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11233         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
11234
11235 2011-10-15  Bruno Haible  <bruno@clisp.org>
11236
11237         vasnprintf: Fix comments.
11238         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
11239
11240 2011-10-14  Bruno Haible  <bruno@clisp.org>
11241
11242         Tests for module 'integer_length_ll'.
11243         * modules/integer_length_ll-tests: New file.
11244         * tests/test-integer_length_ll.c: New file.
11245
11246         New module 'integer_length_ll'.
11247         * lib/integer_length_ll.c: New file.
11248         * modules/integer_length_ll: New file.
11249
11250 2011-10-14  Bruno Haible  <bruno@clisp.org>
11251
11252         Tests for module 'integer_length_l'.
11253         * modules/integer_length_l-tests: New file.
11254         * tests/test-integer_length_l.c: New file.
11255
11256         New module 'integer_length_l'.
11257         * lib/integer_length_l.c: New file.
11258         * modules/integer_length_l: New file.
11259
11260 2011-10-14  Bruno Haible  <bruno@clisp.org>
11261
11262         Tests for module 'integer_length'.
11263         * modules/integer_length-tests: New file.
11264         * tests/test-integer_length.c: New file.
11265
11266         New module 'integer_length'.
11267         * lib/integer_length.h: New file.
11268         * lib/integer_length.c: New file.
11269         * modules/integer_length: New file.
11270
11271 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11272
11273         popen: Fix dependency conditions.
11274         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
11275
11276 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11277
11278         perror: Fix autoconf test.
11279         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
11280         <stdlib.h> and <string.h>.
11281
11282 2011-10-14  Bruno Haible  <bruno@clisp.org>
11283
11284         ffsl: Optimize on 64-bit platforms.
11285         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
11286         unrolling.
11287
11288 2011-10-13  Bruno Haible  <bruno@clisp.org>
11289
11290         ffsl: Optimize on 32-bit platforms.
11291         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
11292         use ffs() without a loop.
11293
11294         ffsl, ffsll: Optimize for GCC.
11295         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
11296         * lib/ffsl.c (GCC_BUILTIN): New macro.
11297         * lib/ffsll.c (GCC_BUILTIN): Likewise.
11298
11299 2011-10-13  Bruno Haible  <bruno@clisp.org>
11300
11301         ffs, bcopy, memset: Support symbol renaming via config.h.
11302         * lib/ffs.c: Include <config.h>.
11303         * lib/bcopy.c: Likewise.
11304         * lib/memset.c: Likewise.
11305
11306 2011-10-10  Bruno Haible  <bruno@clisp.org>
11307
11308         atanl: Simplify for platforms where 'long double' == 'double'.
11309         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11310         alternative implementation.
11311         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11312         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11313         * modules/atanl (Depends-on): Add atan. Update conditions.
11314
11315 2011-10-10  Bruno Haible  <bruno@clisp.org>
11316
11317         acosl: Simplify for platforms where 'long double' == 'double'.
11318         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11319         alternative implementation.
11320         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11321         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11322         * modules/acosl (Depends-on): Add acos. Update conditions.
11323
11324 2011-10-10  Bruno Haible  <bruno@clisp.org>
11325
11326         asinl: Simplify for platforms where 'long double' == 'double'.
11327         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11328         alternative implementation.
11329         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11330         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11331         * modules/asinl (Depends-on): Add asin. Update conditions.
11332
11333 2011-10-10  Bruno Haible  <bruno@clisp.org>
11334
11335         tanl: Simplify for platforms where 'long double' == 'double'.
11336         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11337         implementation.
11338         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11339         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11340         * modules/tanl (Depends-on): Add tan. Update conditions.
11341         (configure.ac): Don't compile trigl.c if
11342         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11343
11344 2011-10-10  Bruno Haible  <bruno@clisp.org>
11345
11346         cosl: Simplify for platforms where 'long double' == 'double'.
11347         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11348         implementation.
11349         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11350         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11351         * modules/cosl (Depends-on): Add cos. Update conditions.
11352         (configure.ac): Don't compile sincosl.c and trigl.c if
11353         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11354
11355 2011-10-10  Bruno Haible  <bruno@clisp.org>
11356
11357         sinl: Simplify for platforms where 'long double' == 'double'.
11358         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11359         implementation.
11360         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11361         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11362         * modules/sinl (Depends-on): Add sin. Update conditions.
11363         (configure.ac): Don't compile sincosl.c and trigl.c if
11364         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11365
11366 2011-10-10  Bruno Haible  <bruno@clisp.org>
11367
11368         logl: Simplify for platforms where 'long double' == 'double'.
11369         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11370         implementation.
11371         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11372         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11373         * modules/logl (Depends-on): Add log. Update conditions.
11374
11375 2011-10-10  Bruno Haible  <bruno@clisp.org>
11376
11377         expl: Simplify for platforms where 'long double' == 'double'.
11378         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11379         implementation.
11380         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11381         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11382         * modules/expl (Depends-on): Add exp. Update conditions.
11383
11384 2011-10-10  Bruno Haible  <bruno@clisp.org>
11385
11386         sqrtl: Simplify for platforms where 'long double' == 'double'.
11387         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11388         alternative implementation.
11389         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11390         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11391         * modules/sqrtl (Depends-on): Update conditions.
11392
11393 2011-10-10  Bruno Haible  <bruno@clisp.org>
11394
11395         ldexpl: Simplify for platforms where 'long double' == 'double'.
11396         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11397         alternative implementation.
11398         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11399         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11400         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
11401
11402 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
11403
11404         ffsll: set correct witness
11405         * modules/ffsll (configure.ac): Fix typo.
11406
11407 2011-10-10  Bruno Haible  <bruno@clisp.org>
11408
11409         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
11410         * lib/printf-frexpl.c: Include <config.h>.
11411         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11412         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
11413         second time.
11414         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
11415         gl_LONG_DOUBLE_VS_DOUBLE.
11416         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
11417         conditions.
11418
11419 2011-10-10  Bruno Haible  <bruno@clisp.org>
11420
11421         frexpl: Simplify for platforms where 'long double' == 'double'.
11422         * lib/frexpl.c: Include <config.h>.
11423         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11424         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11425         time.
11426         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11427         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11428         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
11429         * modules/frexpl (Depends-on): Add frexp. Update conditions.
11430         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
11431         conditions.
11432
11433 2011-10-10  Jim Meyering  <meyering@redhat.com>
11434
11435         test-renameat: don't leave behind a temporary file
11436         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
11437           ERROR: files left in build directory after distclean:
11438           ./gltests/test-renameat.too
11439           make[1]: *** [distcleancheck] Error 1
11440         Reported by Tom G. Christensen.
11441
11442 2011-10-09  Bruno Haible  <bruno@clisp.org>
11443
11444         rint: Determine RINT_LIBM correctly on AIX 7.
11445         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
11446         directly, not only through a function pointer. Also accept an optional
11447         4th argument with extra code.
11448         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
11449         rintf() call by gcc when optimizing.
11450
11451         mathfunc.m4: Refactor.
11452         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
11453         m4 variable.
11454
11455 2011-10-09  Bruno Haible  <bruno@clisp.org>
11456
11457         rintl: Simplify for platforms where 'long double' == 'double'.
11458         * lib/rintl.c: Include <config.h>.
11459         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11460         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11461         time.
11462         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11463         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11464         * modules/rintl (Depends-on): Add rint. Update conditions.
11465
11466 2011-10-09  Bruno Haible  <bruno@clisp.org>
11467
11468         roundl: Simplify for platforms where 'long double' == 'double'.
11469         * lib/roundl.c: Include <config.h>.
11470         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11471         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11472         time.
11473         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11474         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11475         * modules/roundl (Depends-on): Add round. Update conditions.
11476
11477 2011-10-09  Bruno Haible  <bruno@clisp.org>
11478
11479         truncl: Simplify for platforms where 'long double' == 'double'.
11480         * lib/truncl.c: Include <config.h>.
11481         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11482         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11483         time.
11484         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11485         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11486         * modules/truncl (Depends-on): Add trunc. Update conditions.
11487
11488 2011-10-09  Bruno Haible  <bruno@clisp.org>
11489
11490         ceill: Simplify for platforms where 'long double' == 'double'.
11491         * lib/ceill.c: Include <config.h>.
11492         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11493         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11494         time.
11495         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11496         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11497         * modules/ceill (Depends-on): Add ceil. Update conditions.
11498
11499 2011-10-09  Bruno Haible  <bruno@clisp.org>
11500
11501         floorl: Simplify for platforms where 'long double' == 'double'.
11502         * lib/floorl.c: Include <config.h>.
11503         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11504         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11505         time.
11506         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11507         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11508         * modules/floorl (Depends-on): Add floor. Update conditions.
11509
11510 2011-10-09  Bruno Haible  <bruno@clisp.org>
11511
11512         rint: Fix ordering constraints.
11513         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
11514         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
11515         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
11516
11517 2011-10-09  Bruno Haible  <bruno@clisp.org>
11518
11519         copysignl: Simplify for platforms where 'long double' == 'double'.
11520         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11521         alternative.
11522         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11523         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11524         * modules/copysignl (Depends-on): Add copysign. Update conditions.
11525
11526 2011-10-09  Bruno Haible  <bruno@clisp.org>
11527
11528         Tests for module 'rintl'.
11529         * modules/rintl-tests: New file.
11530         * tests/test-rintl.c: New file.
11531
11532         New module 'rintl'.
11533         * lib/math.in.h (rintl): New declaration.
11534         * lib/rintl.c: New file.
11535         * m4/rintl.m4: New file.
11536         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
11537         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
11538         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
11539         * modules/rintl: New file.
11540         * tests/test-math-c++.cc: Check the declaration of rintl.
11541         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11542         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
11543         * doc/posix-functions/rintl.texi: Mention the new module.
11544
11545 2011-10-09  Bruno Haible  <bruno@clisp.org>
11546
11547         Tests for module 'rintf'.
11548         * modules/rintf-tests: New file.
11549         * tests/test-rintf.c: New file.
11550
11551         New module 'rintf'.
11552         * lib/math.in.h (rintf): New declaration.
11553         * lib/rintf.c: New file.
11554         * m4/rintf.m4: New file.
11555         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
11556         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
11557         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
11558         * modules/rintf: New file.
11559         * tests/test-math-c++.cc: Check the declaration of rintf.
11560         * doc/posix-functions/rintf.texi: Mention the new module.
11561
11562 2011-10-09  Bruno Haible  <bruno@clisp.org>
11563
11564         rint: Support for MSVC.
11565         * lib/math.in.h (rint): New declaration.
11566         * lib/rint.c: New file.
11567         * m4/rint.m4: New file.
11568         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
11569         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
11570         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
11571         * modules/rint (Description): Fix.
11572         (Files): Add lib/rint.c, m4/rint.m4.
11573         (Depends-on): Add math.
11574         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
11575         gl_MATH_MODULE_INDICATOR.
11576         * tests/test-math-c++.cc: Check the declaration of rint.
11577         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11578         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
11579         * doc/posix-functions/rint.texi: Mention the replacement provided by
11580         the module.
11581
11582         rint tests: More tests.
11583         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
11584         minus-zero.h, infinity.h, nan.h.
11585         (main): Skip the test if the current rounding mode is not standard. Add
11586         tests for negative numbers, minus zero, infinity, NaN.
11587         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
11588         tests/nan.h.
11589         (Depends-on): Add isnand-nolibm.
11590
11591 2011-10-09  Bruno Haible  <bruno@clisp.org>
11592
11593         Tests for module 'copysignl'.
11594         * modules/copysignl-tests: New file.
11595         * tests/test-copysignl.c: New file.
11596
11597         New module 'copysignl'.
11598         * lib/math.in.h (copysignl): New declaration.
11599         * lib/copysignl.c: New file.
11600         * m4/copysignl.m4: New file.
11601         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
11602         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
11603         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
11604         HAVE_COPYSIGNL.
11605         * modules/copysignl: New file.
11606         * tests/test-math-c++.cc: Check the declaration of copysignl.
11607         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11608         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
11609         * doc/posix-functions/copysignl.texi: Mention the new module.
11610
11611 2011-10-09  Bruno Haible  <bruno@clisp.org>
11612
11613         Tests for module 'copysignf'.
11614         * modules/copysignf-tests: New file.
11615         * tests/test-copysignf.c: New file.
11616
11617         New module 'copysignf'.
11618         * lib/math.in.h (copysignf): New declaration.
11619         * lib/copysignf.c: New file.
11620         * m4/copysignf.m4: New file.
11621         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
11622         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
11623         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
11624         HAVE_COPYSIGNF.
11625         * modules/copysignf: New file.
11626         * tests/test-math-c++.cc: Check the declaration of copysignf.
11627         * doc/posix-functions/copysignf.texi: Mention the new module.
11628
11629 2011-10-09  Bruno Haible  <bruno@clisp.org>
11630
11631         Ensure that HAVE_* variables are set to 1 before they are set to 0.
11632         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
11633         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
11634         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11635         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
11636         gl_SIGNAL_H_DEFAULTS.
11637
11638 2011-10-09  Bruno Haible  <bruno@clisp.org>
11639
11640         poll: Make macro safer.
11641         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
11642         ac_cv_header_poll_h is not set.
11643
11644 2011-10-09  Bruno Haible  <bruno@clisp.org>
11645
11646         copysign: Provide replacement.
11647         * lib/math.in.h (copysign): New declaration.
11648         * lib/copysign.c: New file.
11649         * m4/copysign.m4: New file.
11650         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
11651         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
11652         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
11653         HAVE_COPYSIGN.
11654         * modules/copysign (Description): Clarify.
11655         (Files): Add lib/copysign.c, m4/copysign.m4.
11656         (Depends-on): Add math, signbit.
11657         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
11658         gl_MATH_MODULE_INDICATOR.
11659         * tests/test-math-c++.cc: Check the declaration of copysign.
11660         * doc/posix-functions/copysign.texi: Mention the effects of the module
11661         on Minix and MSVC.
11662
11663 2011-10-09  Bruno Haible  <bruno@clisp.org>
11664
11665         isinf: Ensure macro on AIX 5.1.
11666         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
11667         macro.
11668         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
11669
11670 2011-10-09  Bruno Haible  <bruno@clisp.org>
11671
11672         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
11673         * modules/snprintf-posix-tests (configure.ac): Require
11674         gl_LONG_DOUBLE_VS_DOUBLE.
11675         * modules/sprintf-posix-tests (configure.ac): Likewise.
11676         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
11677         * modules/vasprintf-posix-tests (configure.ac): Likewise.
11678         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
11679         * modules/vsprintf-posix-tests (configure.ac): Likewise.
11680         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
11681         tests on platforms where 'long double' is the same as 'double'.
11682         * tests/test-sprintf-posix.h (test_function): Likewise.
11683         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11684         * tests/test-vasprintf-posix.c (test_function): Likewise.
11685
11686         *printf: Fix for platforms where 'long double' == 'double'.
11687         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
11688         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
11689         * modules/dprintf-posix (Files): Add m4/math_h.m4.
11690         * modules/fprintf-posix (Files): Likewise.
11691         * modules/obstack-printf-posix (Files): Likewise.
11692         * modules/snprintf-posix (Files): Likewise.
11693         * modules/sprintf-posix (Files): Likewise.
11694         * modules/vasnprintf (Files): Likewise.
11695         * modules/vasnprintf-posix (Files): Likewise.
11696         * modules/vasprintf-posix (Files): Likewise.
11697         * modules/vdprintf-posix (Files): Likewise.
11698         * modules/vfprintf-posix (Files): Likewise.
11699         * modules/vsnprintf-posix (Files): Likewise.
11700         * modules/vsprintf-posix (Files): Likewise.
11701         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11702         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11703         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11704         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11705         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11706         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11707         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11708
11709         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
11710         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
11711         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11712         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
11713         'long double'.
11714         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
11715
11716         isinf: Fix for platforms where 'long double' == 'double'.
11717         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11718         Don't blindly assume 80-bit 'long double'.
11719
11720         isfinite: Fix for platforms where 'long double' == 'double'.
11721         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11722         Don't blindly assume 80-bit 'long double'.
11723
11724         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
11725         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
11726         * modules/isfinite-tests (configure.ac): Require
11727         gl_LONG_DOUBLE_VS_DOUBLE.
11728         * modules/isinf-tests (configure.ac): Likewise.
11729         * modules/isnan-tests (configure.ac): Likewise.
11730         * modules/isnanl-tests (configure.ac): Likewise.
11731         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
11732         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
11733         tests on platforms where 'long double' is the same as 'double'.
11734         * tests/test-isinf.c (test_isinfl): Likewise.
11735         * tests/test-isnan.c (test_long_double): Likewise.
11736         * tests/test-isnanl.h (main): Likewise.
11737
11738 2011-10-08  Bruno Haible  <bruno@clisp.org>
11739
11740         Tests for module 'tanhf'.
11741         * modules/tanhf-tests: New file.
11742         * tests/test-tanhf.c: New file.
11743
11744         New module 'tanhf'.
11745         * lib/math.in.h (tanhf): New declaration.
11746         * lib/tanhf.c: New file.
11747         * m4/tanhf.m4: New file.
11748         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
11749         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
11750         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
11751         * modules/tanhf: New file.
11752         * tests/test-math-c++.cc: Check the declaration of tanhf.
11753         * doc/posix-functions/tanhf.texi: Mention the new module.
11754
11755         tanh: Use a .m4 file.
11756         * m4/tanh.m4: New file.
11757         * modules/tanh (Files): Add it.
11758         (configure.ac): Just invoke gl_FUNC_TANH.
11759
11760 2011-10-08  Bruno Haible  <bruno@clisp.org>
11761
11762         Tests for module 'coshf'.
11763         * modules/coshf-tests: New file.
11764         * tests/test-coshf.c: New file.
11765
11766         New module 'coshf'.
11767         * lib/math.in.h (coshf): New declaration.
11768         * lib/coshf.c: New file.
11769         * m4/coshf.m4: New file.
11770         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
11771         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
11772         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
11773         * modules/coshf: New file.
11774         * tests/test-math-c++.cc: Check the declaration of coshf.
11775         * doc/posix-functions/coshf.texi: Mention the new module.
11776
11777         cosh: Use a .m4 file.
11778         * m4/cosh.m4: New file.
11779         * modules/cosh (Files): Add it.
11780         (configure.ac): Just invoke gl_FUNC_COSH.
11781
11782 2011-10-08  Bruno Haible  <bruno@clisp.org>
11783
11784         Tests for module 'sinhf'.
11785         * modules/sinhf-tests: New file.
11786         * tests/test-sinhf.c: New file.
11787
11788         New module 'sinhf'.
11789         * lib/math.in.h (sinhf): New declaration.
11790         * lib/sinhf.c: New file.
11791         * m4/sinhf.m4: New file.
11792         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
11793         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
11794         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
11795         * modules/sinhf: New file.
11796         * tests/test-math-c++.cc: Check the declaration of sinhf.
11797         * doc/posix-functions/sinhf.texi: Mention the new module.
11798
11799         sinh: Use a .m4 file.
11800         * m4/sinh.m4: New file.
11801         * modules/sinh (Files): Add it.
11802         (configure.ac): Just invoke gl_FUNC_SINH.
11803
11804 2011-10-08  Bruno Haible  <bruno@clisp.org>
11805
11806         Tests for module 'atan2f'.
11807         * modules/atan2f-tests: New file.
11808         * tests/test-atan2f.c: New file.
11809
11810         New module 'atan2f'.
11811         * lib/math.in.h (atan2f): New declaration.
11812         * lib/atan2f.c: New file.
11813         * m4/atan2f.m4: New file.
11814         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
11815         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
11816         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
11817         * modules/atan2f: New file.
11818         * tests/test-math-c++.cc: Check the declaration of atan2f.
11819         * doc/posix-functions/atan2f.texi: Mention the new module.
11820
11821         atan2: Use a .m4 file.
11822         * m4/atan2.m4: New file.
11823         * modules/atan2 (Files): Add it.
11824         (configure.ac): Just invoke gl_FUNC_ATAN2.
11825
11826 2011-10-08  Bruno Haible  <bruno@clisp.org>
11827
11828         Tests for module 'atanf'.
11829         * modules/atanf-tests: New file.
11830         * tests/test-atanf.c: New file.
11831
11832         New module 'atanf'.
11833         * lib/math.in.h (atanf): New declaration.
11834         * lib/atanf.c: New file.
11835         * m4/atanf.m4: New file.
11836         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
11837         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
11838         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
11839         * modules/atanf: New file.
11840         * tests/test-math-c++.cc: Check the declaration of atanf.
11841         * doc/posix-functions/atanf.texi: Mention the new module.
11842
11843         atan: Use a .m4 file.
11844         * m4/atan.m4: New file.
11845         * modules/atan (Files): Add it.
11846         (configure.ac): Just invoke gl_FUNC_ATAN.
11847
11848 2011-10-08  Bruno Haible  <bruno@clisp.org>
11849
11850         Tests for module 'acosf'.
11851         * modules/acosf-tests: New file.
11852         * tests/test-acosf.c: New file.
11853
11854         New module 'acosf'.
11855         * lib/math.in.h (acosf): New declaration.
11856         * lib/acosf.c: New file.
11857         * m4/acosf.m4: New file.
11858         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
11859         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
11860         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
11861         * modules/acosf: New file.
11862         * tests/test-math-c++.cc: Check the declaration of acosf.
11863         * doc/posix-functions/acosf.texi: Mention the new module.
11864
11865         acos: Use a .m4 file.
11866         * m4/acos.m4: New file.
11867         * modules/acos (Files): Add it.
11868         (configure.ac): Just invoke gl_FUNC_ACOS.
11869
11870 2011-10-08  Bruno Haible  <bruno@clisp.org>
11871
11872         Tests for module 'asinf'.
11873         * modules/asinf-tests: New file.
11874         * tests/test-asinf.c: New file.
11875
11876         New module 'asinf'.
11877         * lib/math.in.h (asinf): New declaration.
11878         * lib/asinf.c: New file.
11879         * m4/asinf.m4: New file.
11880         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
11881         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
11882         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
11883         * modules/asinf: New file.
11884         * tests/test-math-c++.cc: Check the declaration of asinf.
11885         * doc/posix-functions/asinf.texi: Mention the new module.
11886
11887         asin: Use a .m4 file.
11888         * m4/asin.m4: New file.
11889         * modules/asin (Files): Add it.
11890         (configure.ac): Just invoke gl_FUNC_ASIN.
11891
11892 2011-10-08  Bruno Haible  <bruno@clisp.org>
11893
11894         Tests for module 'tanf'.
11895         * modules/tanf-tests: New file.
11896         * tests/test-tanf.c: New file.
11897
11898         New module 'tanf'.
11899         * lib/math.in.h (tanf): New declaration.
11900         * lib/tanf.c: New file.
11901         * m4/tanf.m4: New file.
11902         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
11903         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
11904         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
11905         * modules/tanf: New file.
11906         * tests/test-math-c++.cc: Check the declaration of tanf.
11907         * doc/posix-functions/tanf.texi: Mention the new module.
11908
11909         tan: Use a .m4 file.
11910         * m4/tan.m4: New file.
11911         * modules/tan (Files): Add it.
11912         (configure.ac): Just invoke gl_FUNC_TAN.
11913
11914 2011-10-08  Bruno Haible  <bruno@clisp.org>
11915
11916         Tests for module 'cosf'.
11917         * modules/cosf-tests: New file.
11918         * tests/test-cosf.c: New file.
11919
11920         New module 'cosf'.
11921         * lib/math.in.h (cosf): New declaration.
11922         * lib/cosf.c: New file.
11923         * m4/cosf.m4: New file.
11924         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
11925         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
11926         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
11927         * modules/cosf: New file.
11928         * tests/test-math-c++.cc: Check the declaration of cosf.
11929         * doc/posix-functions/cosf.texi: Mention the new module.
11930
11931         cos: Use a .m4 file.
11932         * m4/cos.m4: New file.
11933         * modules/cos (Files): Add it.
11934         (configure.ac): Just invoke gl_FUNC_COS.
11935
11936 2011-10-08  Bruno Haible  <bruno@clisp.org>
11937
11938         Tests for module 'sinf'.
11939         * modules/sinf-tests: New file.
11940         * tests/test-sinf.c: New file.
11941
11942         New module 'sinf'.
11943         * lib/math.in.h (sinf): New declaration.
11944         * lib/sinf.c: New file.
11945         * m4/sinf.m4: New file.
11946         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
11947         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
11948         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
11949         * modules/sinf: New file.
11950         * tests/test-math-c++.cc: Check the declaration of sinf.
11951         * doc/posix-functions/sinf.texi: Mention the new module.
11952
11953         sin: Use a .m4 file.
11954         * m4/sin.m4: New file.
11955         * modules/sin (Files): Add it.
11956         (configure.ac): Just invoke gl_FUNC_SIN.
11957
11958 2011-10-08  Bruno Haible  <bruno@clisp.org>
11959
11960         Tests for module 'powf'.
11961         * modules/powf-tests: New file.
11962         * tests/test-powf.c: New file.
11963
11964         New module 'powf'.
11965         * lib/math.in.h (powf): New declaration.
11966         * lib/powf.c: New file.
11967         * m4/powf.m4: New file.
11968         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
11969         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
11970         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
11971         * modules/powf: New file.
11972         * tests/test-math-c++.cc: Check the declaration of powf.
11973         * doc/posix-functions/powf.texi: Mention the new module.
11974
11975         pow: Use a .m4 file.
11976         * m4/pow.m4: New file.
11977         * modules/pow (Files): Add it.
11978         (configure.ac): Just invoke gl_FUNC_POW.
11979
11980 2011-10-08  Bruno Haible  <bruno@clisp.org>
11981
11982         Tests for module 'log10f'.
11983         * modules/log10f-tests: New file.
11984         * tests/test-log10f.c: New file.
11985
11986         New module 'log10f'.
11987         * lib/math.in.h (log10f): New declaration.
11988         * lib/log10f.c: New file.
11989         * m4/log10f.m4: New file.
11990         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
11991         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
11992         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
11993         * modules/log10f: New file.
11994         * tests/test-math-c++.cc: Check the declaration of log10f.
11995         * doc/posix-functions/log10f.texi: Mention the new module.
11996
11997         log10: Use a .m4 file.
11998         * m4/log10.m4: New file.
11999         * modules/log10 (Files): Add it.
12000         (configure.ac): Just invoke gl_FUNC_LOG10.
12001
12002 2011-10-08  Bruno Haible  <bruno@clisp.org>
12003
12004         Tests for module 'logf'.
12005         * modules/logf-tests: New file.
12006         * tests/test-logf.c: New file.
12007
12008         New module 'logf'.
12009         * lib/math.in.h (logf): New declaration.
12010         * lib/logf.c: New file.
12011         * m4/logf.m4: New file.
12012         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
12013         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
12014         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
12015         * modules/logf: New file.
12016         * tests/test-math-c++.cc: Check the declaration of logf.
12017         * doc/posix-functions/logf.texi: Mention the new module.
12018
12019         log: Use a .m4 file.
12020         * m4/log.m4: New file.
12021         * modules/log (Files): Add it.
12022         (configure.ac): Just invoke gl_FUNC_LOG.
12023
12024 2011-10-08  Bruno Haible  <bruno@clisp.org>
12025
12026         Tests for module 'expf'.
12027         * modules/expf-tests: New file.
12028         * tests/test-expf.c: New file.
12029
12030         New module 'expf'.
12031         * lib/math.in.h (expf): New declaration.
12032         * lib/expf.c: New file.
12033         * m4/expf.m4: New file.
12034         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
12035         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
12036         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
12037         * modules/expf: New file.
12038         * tests/test-math-c++.cc: Check the declaration of expf.
12039         * doc/posix-functions/expf.texi: Mention the new module.
12040
12041         exp: Use a .m4 file.
12042         * m4/exp.m4: New file.
12043         * modules/exp (Files): Add it.
12044         (configure.ac): Just invoke gl_FUNC_EXP.
12045
12046 2011-10-08  Bruno Haible  <bruno@clisp.org>
12047
12048         Tests for module 'sqrtf'.
12049         * modules/sqrtf-tests: New file.
12050         * tests/test-sqrtf.c: New file.
12051
12052         New module 'sqrtf'.
12053         * lib/math.in.h (sqrtf): New declaration.
12054         * lib/sqrtf.c: New file.
12055         * m4/sqrtf.m4: New file.
12056         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
12057         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
12058         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
12059         * modules/sqrtf: New file.
12060         * tests/test-math-c++.cc: Check the declaration of sqrtf.
12061         * doc/posix-functions/sqrtf.texi: Mention the new module.
12062
12063 2011-10-08  Bruno Haible  <bruno@clisp.org>
12064
12065         Tests: Avoid link failures w.r.t. libintl.
12066         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
12067         $(LIBINTL).
12068         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
12069         $(LIBINTL).
12070         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
12071         against $(LIBINTL).
12072         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
12073         $(LIBINTL).
12074         * modules/openat-tests (Makefile.am): Link test-fchmodat against
12075         $(LIBINTL).
12076         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
12077
12078 2011-10-08  Bruno Haible  <bruno@clisp.org>
12079
12080         pow tests: Defeat compiler optimizations.
12081         * tests/test-pow.c (main): Assign arguments to x and y before use.
12082
12083 2011-10-08  Bruno Haible  <bruno@clisp.org>
12084
12085         gnulib-tool: Improve last commit.
12086         * gnulib-tool (func_modules_transitive_closure): Simplify code.
12087         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
12088         ignore dependencies that are not among the modules list.
12089
12090 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
12091
12092         gnulib-tool: don't follow dependencies to avoided modules
12093         This fixes a bug that is related to the previous one.
12094         * gnulib-tool (func_modules_transitive_closure)
12095         (func_emit_autoconf_snippets):
12096         Check whether a dependency is acceptable before using it.
12097         (--extract-dependencies): Report an error if --avoid is also used,
12098         since this combination of options is not yet supported.
12099
12100         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
12101         Problem reported by Peter Dyballa in
12102         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
12103         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
12104         when echoing "$condition".
12105
12106 2011-10-07  Bruno Haible  <bruno@clisp.org>
12107
12108         Fix documentation about math functions on MacOS X.
12109         * doc/posix-functions/exp2.texi: Don't say the function is missing on
12110         MacOS X 10.5.
12111         * doc/posix-functions/fdim.texi: Likewise.
12112         * doc/posix-functions/feclearexcept.texi: Likewise.
12113         * doc/posix-functions/fegetenv.texi: Likewise.
12114         * doc/posix-functions/fegetround.texi: Likewise.
12115         * doc/posix-functions/feholdexcept.texi: Likewise.
12116         * doc/posix-functions/feraiseexcept.texi: Likewise.
12117         * doc/posix-functions/fesetenv.texi: Likewise.
12118         * doc/posix-functions/fesetround.texi: Likewise.
12119         * doc/posix-functions/fetestexcept.texi: Likewise.
12120         * doc/posix-functions/feupdateenv.texi: Likewise.
12121         * doc/posix-functions/fmax.texi: Likewise.
12122         * doc/posix-functions/fmin.texi: Likewise.
12123         * doc/posix-functions/log2.texi: Likewise.
12124         * doc/posix-functions/modff.texi: Likewise.
12125         * doc/posix-functions/nan.texi: Likewise.
12126         * doc/posix-functions/nanf.texi: Likewise.
12127         * doc/posix-functions/nextafterf.texi: Likewise.
12128         * doc/posix-functions/remquo.texi: Likewise.
12129
12130 2011-10-07  Bruno Haible  <bruno@clisp.org>
12131
12132         modff: Drop assumption about library that defines modff.
12133         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
12134         AC_CHECK_FUNCS.
12135         * modules/modff (Files): Add m4/mathfunc.m4.
12136
12137 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
12138
12139         raise tests: Avoid a GCC warning.
12140         * tests/test-raise.c (handler): Use _Noreturn.
12141
12142 2011-10-07  Bruno Haible  <bruno@clisp.org>
12143
12144         Tests for module 'ldexpf'.
12145         * modules/ldexpf-tests: New file.
12146         * tests/test-ldexpf.c: New file.
12147
12148         New module 'ldexpf'.
12149         * lib/math.in.h (ldexpf): New declaration.
12150         * lib/ldexpf.c: New file.
12151         * m4/ldexpf.m4: New file.
12152         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
12153         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
12154         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
12155         * modules/ldexpf: New file.
12156         * tests/test-math-c++.cc: Check the declaration of ldexpf.
12157         * doc/posix-functions/ldexpf.texi: Mention the new module.
12158
12159 2011-10-06  Bruno Haible  <bruno@clisp.org>
12160
12161         frexpf: Work around problems on IRIX and mingw.
12162         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
12163         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
12164         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
12165         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
12166         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
12167         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
12168         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
12169
12170 2011-10-06  Bruno Haible  <bruno@clisp.org>
12171
12172         fabsf: Drop assumption about library that defines fabsf.
12173         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
12174         AC_CHECK_FUNCS.
12175         * modules/fabsf (Files): Add m4/mathfunc.m4.
12176
12177 2011-10-06  Bruno Haible  <bruno@clisp.org>
12178
12179         frexpf: Drop assumption about library that defines frexpf.
12180         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
12181         'int *', 'float *', 'long double *', 'float', 'long double'.
12182         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
12183         AC_CHECK_FUNCS.
12184         * modules/frexpf (Files): Add m4/mathfunc.m4.
12185
12186         Tests for module 'frexpf'.
12187         * modules/frexpf-tests: New file.
12188         * tests/test-frexpf.c: New file.
12189
12190         New module 'frexpf'.
12191         * lib/math.in.h (frexpf): New declaration.
12192         * lib/frexpf.c: New file.
12193         * m4/frexpf.m4: New file.
12194         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
12195         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
12196         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
12197         * modules/frexpf: New file.
12198         * tests/test-math-c++.cc: Check the declaration of frexpf.
12199         * doc/posix-functions/frexpf.texi: Mention the new module.
12200
12201 2011-10-06  Bruno Haible  <bruno@clisp.org>
12202
12203         math: Sort function declarations of math.in.h.
12204         * lib/math.in.h (frexp, logb): Move declarations.
12205
12206 2011-10-05  Bruno Haible  <bruno@clisp.org>
12207
12208         Tests for module 'modff'.
12209         * modules/modff-tests: New file.
12210         * tests/test-modff.c: New file.
12211
12212         New module 'modff'.
12213         * lib/math.in.h (modff): New declaration.
12214         * lib/modff.c: New file.
12215         * m4/modff.m4: New file.
12216         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
12217         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
12218         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
12219         * modules/modff: New file.
12220         * tests/test-math-c++.cc: Check the declaration of modff.
12221         * doc/posix-functions/modff.texi: Mention the new module.
12222
12223         modf tests: Make test sharper.
12224         * tests/test-modf.c (main): Strengthen upper bound.
12225
12226         modf: Use a .m4 file.
12227         * m4/modf.m4: New file.
12228         * modules/modf (Files): Add it.
12229         (configure.ac): Just invoke gl_FUNC_MODF.
12230
12231 2011-10-05  Bruno Haible  <bruno@clisp.org>
12232
12233         Tests for module 'fmodf'.
12234         * modules/fmodf-tests: New file.
12235         * tests/test-fmodf.c: New file.
12236
12237         New module 'fmodf'.
12238         * lib/math.in.h (fmodf): New declaration.
12239         * lib/fmodf.c: New file.
12240         * m4/fmodf.m4: New file.
12241         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
12242         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
12243         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
12244         * modules/fmodf: New file.
12245         * tests/test-math-c++.cc: Check the declaration of fmodf.
12246         * doc/posix-functions/fmodf.texi: Mention the new module.
12247
12248         fmod: Use a .m4 file.
12249         * m4/fmod.m4: New file.
12250         * modules/fmod (Files): Add it.
12251         (configure.ac): Just invoke gl_FUNC_FMOD.
12252
12253 2011-10-05  Bruno Haible  <bruno@clisp.org>
12254
12255         Tests for module 'fabsf'.
12256         * modules/fabsf-tests: New file.
12257         * tests/test-fabsf.c: New file.
12258
12259         New module 'fabsf'.
12260         * lib/math.in.h (fabsf): New declaration.
12261         * lib/fabsf.c: New file.
12262         * m4/fabsf.m4: New file.
12263         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
12264         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
12265         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
12266         * modules/fabsf: New file.
12267         * tests/test-math-c++.cc: Check the declaration of fabsf.
12268         * doc/posix-functions/fabsf.texi: Mention the new module.
12269
12270         fabs: Use a .m4 file.
12271         * m4/fabs.m4: New file.
12272         * modules/fabs (Files): Add it.
12273         (configure.ac): Just invoke gl_FUNC_FABS.
12274
12275 2011-10-05  Jim Meyering  <meyering@redhat.com>
12276
12277         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
12278         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
12279         ls -lL regression introduced in coreutils-8.12, it does so at the
12280         cost of an additional stat call in the common case.  Besides, now
12281         that the kernel change that prompted commit 95f7c57f has been reverted
12282         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
12283         we have no use for commit 95f7c57f, "file-has-acl: use
12284         acl_extended_file_nofollow if available".
12285
12286 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
12287
12288         file-has-acl: revert unintended change in behavior of ls -L
12289         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
12290         derived from...
12291         (file_has_acl): ...code here.  Call it.
12292         This problem was introduced with 2011-07-22 commit 95f7c57f,
12293         "file-has-acl: use acl_extended_file_nofollow if available".
12294         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
12295
12296 2011-10-03  Bruno Haible  <bruno@clisp.org>
12297
12298         poll: Avoid link errors on MSVC.
12299         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
12300         * modules/poll (Depends-on): Add sockets.
12301         (Link): New section.
12302         * NEWS: Mention the change.
12303         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
12304         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
12305         $(LIB_POLL) instead of $(LIBSOCKET).
12306
12307 2011-10-03  Bruno Haible  <bruno@clisp.org>
12308
12309         sys_select tests: Fix link error on MSVC 9.
12310         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
12311         with $(LIB_SELECT) instead of $(LIBSOCKET).
12312
12313 2011-10-03  Bruno Haible  <bruno@clisp.org>
12314
12315         sys_select: Fix compilation error on mingw.
12316         * lib/sys_select.in.h: On native Windows, include <io.h>.
12317
12318 2011-10-03  Bruno Haible  <bruno@clisp.org>
12319
12320         wmemset: Support for MSVC.
12321         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
12322         whether wmemset() exists.
12323
12324 2011-10-03  Bruno Haible  <bruno@clisp.org>
12325
12326         wmemmove: Support for MSVC.
12327         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
12328         whether wmemmove() exists.
12329
12330 2011-10-03  Bruno Haible  <bruno@clisp.org>
12331
12332         wmemcpy: Support for MSVC.
12333         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
12334         whether wmemcpy() exists.
12335
12336 2011-10-03  Bruno Haible  <bruno@clisp.org>
12337
12338         wmemcmp: Support for MSVC.
12339         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
12340         whether wmemcmp() exists.
12341
12342 2011-10-03  Bruno Haible  <bruno@clisp.org>
12343
12344         wmemchr: Support for MSVC.
12345         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
12346         whether wmemchr() exists.
12347
12348 2011-10-03  Bruno Haible  <bruno@clisp.org>
12349
12350         glthread/*, strsignal: Support for MSVC.
12351         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
12352         including <winsock.h> on MSVC 9.
12353         * lib/glthread/lock.h: Likewise.
12354         * lib/glthread/thread.h: Likewise.
12355         * lib/glthread/tls.h: Likewise.
12356         * lib/glthread/yield.h: Likewise.
12357         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
12358         if HAVE_UNISTD_H is false.
12359         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
12360
12361 2011-10-03  Bruno Haible  <bruno@clisp.org>
12362
12363         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
12364         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
12365         Set to 100000.
12366
12367 2011-10-03  Bruno Haible  <bruno@clisp.org>
12368
12369         acl: Fix specification.
12370         * lib/file-has-acl.c (file_has_acl): Fix specification.
12371
12372 2011-10-03  Bruno Haible  <bruno@clisp.org>
12373
12374         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
12375         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
12376         (compute_curr_prefix, shared_library_fullname,
12377         find_shared_library_fullname, get_shared_library_fullname, relocate):
12378         Use it together with PIC && INSTALLDIR.
12379         Reported by <jojelino@gmail.com>
12380         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
12381
12382 2011-10-01  Jim Meyering  <meyering@redhat.com>
12383
12384         maint.mk: adjust a release-related rule not to require use of gzip
12385         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
12386         Instead, check each file in $(DIST_ARCHIVES).  This is better for
12387         projects that build only .tar.xz files.  Also fix an erroneous test.
12388
12389         test-linkat: don't leave behind a temporary file
12390         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
12391         Otherwise, coreutils' "make distcheck" would fail with this:
12392           Only in /c/cu/tests/torture/coreutils/test/\
12393             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
12394           make[2]: *** [my-distcheck] Error 1
12395
12396         float, math: add omitted file
12397         * lib/itold.c: Add file, required for yesterday's float change.
12398
12399 2011-10-01  Bruno Haible  <bruno@clisp.org>
12400
12401         isinf: Fix for OpenBSD/x86.
12402         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
12403         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
12404         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
12405
12406 2011-10-01  Bruno Haible  <bruno@clisp.org>
12407
12408         isfinite: Fix syntax error in configure test.
12409         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
12410
12411         isfinite: Fix typo.
12412         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
12413         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
12414
12415 2011-10-01  Bruno Haible  <bruno@clisp.org>
12416
12417         nonblocking tests: Fix test failure on Linux/IA-64.
12418         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
12419         Set to 270000.
12420
12421 2011-10-01  Bruno Haible  <bruno@clisp.org>
12422
12423         mkfifoat tests: Fix a test failure on mingw.
12424         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
12425         with error ENOSYS.
12426
12427 2011-09-30  Bruno Haible  <bruno@clisp.org>
12428
12429         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
12430         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
12431         'long double'. Set REPLACE_ITOLD.
12432         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
12433         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
12434         * lib/itold.c: New file.
12435         * modules/float (Files): Add lib/itold.c.
12436         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
12437         (Makefile.am): Substitute REPLACE_ITOLD.
12438         * modules/math (Depends-on): Add float.
12439         (Makefile.am): Substitute REPLACE_ITOLD.
12440         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
12441         * doc/posix-headers/math.texi: Likewise.
12442         * doc/posix-functions/logl.texi: Likewise.
12443
12444 2011-09-30  Bruno Haible  <bruno@clisp.org>
12445
12446         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
12447         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
12448         Set to 140000.
12449
12450 2011-09-30  Bruno Haible  <bruno@clisp.org>
12451
12452         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
12453         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
12454         invocation, say "right after AC_PROG_CC_STDC", not "right after
12455         AC_PROG_CC".
12456         Reported by Gary V. Vaughan <gary@gnu.org>.
12457
12458 2011-09-30  Bruno Haible  <bruno@clisp.org>
12459
12460         Centralize C99 requirement.
12461         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
12462         * modules/stdarg (configure.ac-early): Invoke it instead of
12463         AC_PROG_CC_STDC.
12464         Reported by Gary V. Vaughan and Paul Eggert.
12465
12466 2011-09-29  Bruno Haible  <bruno@clisp.org>
12467
12468         float: Fix LDBL_MAX value on Linux/PowerPC.
12469         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
12470         on Linux/PowerPC.
12471         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
12472         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
12473         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
12474         platform.
12475         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
12476
12477 2011-09-29  Bruno Haible  <bruno@clisp.org>
12478
12479         doc: Improve doc about gl_EARLY.
12480         * doc/gnulib-tool.texi (Initial import): Mention where to place an
12481         AC_PROG_CC_STDC invocation.
12482         Reported by Gary V. Vaughan <gary@gnu.org>.
12483
12484 2011-09-28  Bruno Haible  <bruno@clisp.org>
12485
12486         fgetc, fputc, fread, fwrite tests: Fix link error.
12487         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12488         on non-MSVC platforms.
12489         * tests/test-fputc.c (main): Likewise.
12490         * tests/test-fread.c (main): Likewise.
12491         * tests/test-fwrite.c (main): Likewise.
12492         Reported by Jim Meyering.
12493
12494 2011-09-27  Bruno Haible  <bruno@clisp.org>
12495
12496         fputc, fwrite tests: Avoid test failure on MSVC.
12497         * tests/test-fgetc.c: Include msvc-inval.h.
12498         (main): Invoke gl_msvc_inval_ensure_handler.
12499         * tests/test-fputc.c: Include msvc-inval.h.
12500         (main): Invoke gl_msvc_inval_ensure_handler.
12501         * tests/test-fread.c: Include msvc-inval.h.
12502         (main): Invoke gl_msvc_inval_ensure_handler.
12503         * tests/test-fwrite.c: Include msvc-inval.h.
12504         (main): Invoke gl_msvc_inval_ensure_handler.
12505         * modules/fgetc-tests (Depends-on): Add msvc-inval.
12506         * modules/fputc-tests (Depends-on): Likewise.
12507         * modules/fread-tests (Depends-on): Likewise.
12508         * modules/fwrite-tests (Depends-on): Likewise.
12509
12510 2011-09-27  Bruno Haible  <bruno@clisp.org>
12511
12512         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
12513         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
12514         (raise): Remove older, duplicated declaration.
12515         (_gl_raise_SIGPIPE): New declaration.
12516         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
12517         (rpl_raise): Remove function.
12518         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
12519         a gnulib-defined SIGPIPE here.
12520         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
12521         'sigprocmask' has detected missing signal-blocking and the module
12522         'sigpipe' is enabled.
12523         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12524
12525 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
12526
12527         base64-tests: avoid memory leak
12528         * tests/test-base64.c (main): Plug memory leak.
12529
12530         base32: new module
12531         * modules/base32: New module.
12532         * lib/base32.c: New file.
12533         * lib/base32.h: Likewise.
12534         * m4/base32.m4: Likewise.
12535         * modules/base32-tests: New test.
12536         * tests/test-base32.c: Likewise.
12537         * MODULES.html.sh (Misc): Mention it.
12538
12539 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12540
12541         gnulib: use more-standard license notice wording
12542         * gnulib-tool (func_emit_copyright_notice): When emitting a
12543         license notice into a file, use the standard wording as suggested
12544         by the current information for GNU maintainers, except say "file"
12545         rather than "program".  The new wording gives a license version
12546         number, which addresses an issue raised by Glenn Morris in
12547         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
12548         * m4/onceonly.m4: Use that same wording here, too.
12549
12550         dup2: minor simplification
12551         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
12552         as lib/dup2.c no longer uses 'inline'.
12553
12554 2011-09-25  Bruno Haible  <bruno@clisp.org>
12555
12556         strings: Fix compilation error on MSVC.
12557         * lib/strings.in.h: Include <stddef.h> for size_t.
12558
12559 2011-09-25  Bruno Haible  <bruno@clisp.org>
12560
12561         fflush et al.: Document limitation on MSVC.
12562         * doc/posix-functions/fflush.texi: Document possible crash in handling
12563         mode other than DEFAULT_HANDLING.
12564         * doc/posix-functions/fgetc.texi: Likewise.
12565         * doc/posix-functions/fputc.texi: Likewise.
12566         * doc/posix-functions/fread.texi: Likewise.
12567         * doc/posix-functions/fwrite.texi: Likewise.
12568
12569 2011-09-25  Bruno Haible  <bruno@clisp.org>
12570
12571         msvc-inval: Allow three invalid parameter handling modes.
12572         * lib/msvc-inval.h: Don't include <stdlib.h> here.
12573         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
12574         macros.
12575         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
12576         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
12577         SANE_LIBRARY_HANDLING as a no-op.
12578         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
12579         <stdlib.h>.
12580         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
12581
12582 2011-09-25  Bruno Haible  <bruno@clisp.org>
12583
12584         msvc-inval: Make handler multithread-safe.
12585         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
12586         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
12587         declarations.
12588         (gl_msvc_inval_current): New declaration.
12589         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12590         Operate on the structure returned by gl_msvc_inval_current().
12591         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
12592         Remove varaiables.
12593         (tls_index, tls_initialized): New variables.
12594         (not_per_thread): New variable.
12595         (gl_msvc_inval_current): New function.
12596         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
12597         returned by gl_msvc_inval_current().
12598
12599 2011-09-25  Bruno Haible  <bruno@clisp.org>
12600
12601         msvc-inval: Install handler globally.
12602         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
12603         !_MSC_VER.
12604         (gl_msvc_invalid_parameter_handler): Remove declaration.
12605         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
12606         declarations.
12607         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12608         Install the handler globally, don't uninstall it.
12609         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
12610         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
12611         currently valid, call RaiseException instead.
12612         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
12613         for !_MSC_VER.
12614
12615 2011-09-25  Bruno Haible  <bruno@clisp.org>
12616
12617         strerror_r-posix: Fix for MSVC 9.
12618         * lib/strerror_r.c (local_snprintf): New function.
12619         (snprintf): Define to local_snprintf, not to _snprintf.
12620
12621 2011-09-25  Bruno Haible  <bruno@clisp.org>
12622
12623         ftruncate: Support for MSVC 9.
12624         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
12625         (chsize_nothrow): New function.
12626         (chsize): Redefine as a macro.
12627         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
12628         * modules/ftruncate (Depends-on): Add msvc-inval.
12629
12630 2011-09-25  Bruno Haible  <bruno@clisp.org>
12631
12632         New module 'fstat'.
12633         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
12634         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
12635         * lib/fchdir.c (rpl_fstat): Remove function.
12636         * m4/fstat.m4: New file.
12637         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
12638         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
12639         declared.
12640         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
12641         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
12642         * modules/fstat: New file.
12643         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
12644         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
12645         is set.
12646         * doc/posix-functions/fstat.texi: Mention the new module and the
12647         problem on MSVC.
12648         * NEWS: Mention the change.
12649         * modules/acl (Depends-on): Add fstat.
12650         * modules/chdir-safer (Depends-on): Likewise.
12651         * modules/chown (Depends-on): Likewise.
12652         * modules/copy-file (Depends-on): Likewise.
12653         * modules/fchdir (Depends-on): Likewise.
12654         * modules/fdopendir (Depends-on): Likewise.
12655         * modules/fopen (Depends-on): Likewise.
12656         * modules/fts (Depends-on): Likewise.
12657         * modules/getcwd (Depends-on): Likewise.
12658         * modules/isapipe (Depends-on): Likewise.
12659         * modules/linkat (Depends-on): Likewise.
12660         * modules/lseek (Depends-on): Likewise.
12661         * modules/mkdir-p (Depends-on): Likewise.
12662         * modules/open (Depends-on): Likewise.
12663         * modules/openat (Depends-on): Likewise.
12664         * modules/read-file (Depends-on): Likewise.
12665         * modules/renameat (Depends-on): Likewise.
12666         * modules/utimens (Depends-on): Likewise.
12667
12668 2011-09-25  Bruno Haible  <bruno@clisp.org>
12669
12670         linkat: Fix compilation on MSVC 9.
12671         * lib/linkat.c: Don't include <stdint.h>.
12672
12673 2011-09-25  Bruno Haible  <bruno@clisp.org>
12674
12675         fclose: Support for MSVC 9.
12676         * lib/fclose.c: Include msvc-inval.h.
12677         (fclose_nothrow): New function.
12678         (rpl_fclose): Use it.
12679         * modules/fclose (Depends-on): Add msvc-inval.
12680         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
12681
12682 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12683
12684         dup2: minor simplifications
12685         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
12686         that it's a performance win.
12687         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
12688         ! defined __CYGWIN__)" to "ifdef F_GETFL".
12689
12690 2011-09-24  Jim Meyering  <meyering@redhat.com>
12691
12692         test-futimens: avoid a warning from gcc -Wshadow
12693         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
12694         to avoid a shadowing warning.
12695
12696 2011-09-24  Bruno Haible  <bruno@clisp.org>
12697
12698         fdopen: Support for MSVC 9.
12699         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
12700         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
12701         * lib/fdopen.c: Include msvc-inval.h.
12702         (fdopen_nothrow): New function.
12703         (rpl_fdopen): Use it.
12704         * modules/fdopen (Depends-on): Add msvc-inval.
12705         * modules/fclose-tests (Depends-on): Add fdopen.
12706         * modules/fflush-tests (Depends-on): Likewise.
12707         * modules/fgetc-tests (Depends-on): Likewise.
12708         * modules/fputc-tests (Depends-on): Likewise.
12709         * modules/fread-tests (Depends-on): Likewise.
12710         * modules/freopen-tests (Depends-on): Likewise.
12711         * modules/fseeko-tests (Depends-on): Likewise.
12712         * modules/ftello-tests (Depends-on): Likewise.
12713         * modules/fwrite-tests  (Depends-on): Likewise.
12714         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
12715
12716 2011-09-24  Bruno Haible  <bruno@clisp.org>
12717
12718         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
12719         * modules/fgetc-tests (Depends-on): Add unistd.
12720         * modules/fputc-tests (Depends-on): Likewise.
12721         * modules/fread-tests (Depends-on): Likewise.
12722         * modules/fwrite-tests (Depends-on): Likewise.
12723
12724 2011-09-24  Bruno Haible  <bruno@clisp.org>
12725
12726         dup: Simplify autoconf test.
12727         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
12728         on gl_MSVC_INVAL's result.
12729
12730 2011-09-24  Bruno Haible  <bruno@clisp.org>
12731
12732         Tests for function fwrite().
12733         * modules/fwrite-tests: New file.
12734         * tests/test-fwrite.c: New file.
12735         * modules/stdio-tests (Depends-on): Add fwrite-tests.
12736
12737         Tests for function fread().
12738         * modules/fread-tests: New file.
12739         * tests/test-fread.c: New file.
12740         * modules/stdio-tests (Depends-on): Add fread-tests.
12741
12742         Activate fputc tests.
12743         * modules/stdio-tests (Depends-on): Add fputc-tests.
12744
12745         Enhance fgetc, fputc tests.
12746         * tests/test-fgetc.c (main): Also test the stream's error indicator.
12747         * tests/test-fputc.c (main): Likewise.
12748
12749 2011-09-24  Bruno Haible  <bruno@clisp.org>
12750
12751         write: Support for MSVC 9.
12752         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12753         is not 1.
12754         * lib/write.c (write_nothrow): New function.
12755         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
12756         not 1. Use write_nothrow.
12757         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
12758         invalid parameter handler.
12759         (gl_PREREQ_WRITE): New macro.
12760         * modules/write (Depends-on): Add msvc-inval.
12761         (configure.ac): Invoke gl_PREREQ_WRITE.
12762         * doc/posix-functions/write.texi: Mention the problem on MSVC.
12763
12764 2011-09-24  Bruno Haible  <bruno@clisp.org>
12765
12766         read: Fix last commit.
12767         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
12768
12769 2011-09-24  Bruno Haible  <bruno@clisp.org>
12770
12771         dup2: Fix last commit.
12772         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
12773         (rpl_dup2): Disable fcntl workaround on native Windows.
12774
12775         sigprocmask: Make code safer.
12776         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
12777         section that changes macro definitions for this compilation unit.
12778
12779 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12780
12781         dup2: clarify by coalescing Windows-specific material
12782         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
12783         "msvc-nothrow.h"' to the Windows-specific section, so that the
12784         Emacs source need not contain these include files.
12785         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
12786         Windows-specific fixes into this function rather than just the
12787         nothrow fix, as this shortens and clarifies the code.  Always
12788         define as a function, as that's a bit cleaner than having it be
12789         sometimes a function and sometimes a macro.
12790         (rpl_dup2): Move the Windows-specific stuff out of here and into
12791         ms_windows_dup2.  Don't protect the Haiku-related fix with
12792         "#if !defined __linux__", as the same code also works around
12793         a Linux kernel bug, and it doesn't add any system calls on any
12794         platform.  Add comment about FreeBSD 6.1.
12795
12796         sigprocmask: move #include directive
12797         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
12798         Windows-specific section, so that the Emacs source need not
12799         contain msvc-inval.h.
12800
12801 2011-09-23  Bruno Haible  <bruno@clisp.org>
12802
12803         read: Support for MSVC 9.
12804         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12805         is not 1.
12806         * lib/read.c (read_nothrow): New function.
12807         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
12808         read_nothrow.
12809         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
12810         invalid parameter handler.
12811         (gl_PREREQ_READ): New macro.
12812         * modules/read (Depends-on): Add msvc-inval.
12813         (configure.ac): Invoke gl_PREREQ_READ.
12814         * doc/posix-functions/read.texi: Mention the problem on MSVC.
12815
12816 2011-09-23  Bruno Haible  <bruno@clisp.org>
12817
12818         close: Support for MSVC 9.
12819         * lib/close.c: Include <errno.h>, msvc-inval.h.
12820         (close_nothrow): New function.
12821         (rpl_close): Use it.
12822         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
12823         invalid parameter handler.
12824         * modules/close (Depends-on): Add msvc-inval.
12825         * modules/dup2-tests (Depends-on): Add close.
12826         * modules/dup3-tests (Depends-on): Likewise.
12827         * modules/fcntl-tests (Depends-on): Likewise.
12828         * modules/spawn-pipe-tests (Depends-on): Likewise.
12829         * modules/unistd-safer-tests (Depends-on): Likewise.
12830         * doc/posix-functions/close.texi: Mention the problem on MSVC.
12831
12832 2011-09-23  Bruno Haible  <bruno@clisp.org>
12833
12834         New module 'dup'.
12835         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
12836         Allow replacement.
12837         * lib/dup.c: New file.
12838         * lib/fchdir.c (rpl_dup): Remove function.
12839         * m4/dup.m4: New file.
12840         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
12841         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
12842         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
12843         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
12844         * modules/dup: New file.
12845         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
12846         'dup' module is in use.
12847         * modules/fdopendir (Depends-on): Add dup.
12848         * modules/fdutimensat-tests (Depends-on): Likewise.
12849         * modules/fts (Depends-on): Likewise.
12850         * modules/futimens-tests (Depends-on): Likewise.
12851         * modules/posix_spawnp-tests (Depends-on): Likewise.
12852         * modules/unistd-safer-tests (Depends-on): Likewise.
12853         * modules/utimens-tests (Depends-on): Likewise.
12854         * doc/posix-functions/dup.texi: Mention the new module and the problem
12855         on MSVC.
12856
12857 2011-09-23  Bruno Haible  <bruno@clisp.org>
12858
12859         getdtablesize: Support for MSVC 9.
12860         * lib/getdtablesize.c: Include msvc-inval.h.
12861         (_setmaxstdio_nothrow): New function.
12862         (_setmaxstdio): Redefine it.
12863         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
12864         * modules/getdtablesize (Depends-on): Add msvc-inval.
12865         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
12866
12867 2011-09-23  Bruno Haible  <bruno@clisp.org>
12868
12869         signal-h: Rename from signal.
12870         * modules/signal-h: Renamed from modules/signal.
12871         * modules/pthread_sigmask (Depends-on): Update.
12872         * modules/raise (Depends-on): Likewise.
12873         * modules/sigaction (Depends-on): Likewise.
12874         * modules/sigpipe (Depends-on): Likewise.
12875         * modules/sigprocmask (Depends-on): Likewise.
12876         * modules/sys_select (Depends-on): Likewise.
12877         * modules/signal-h-tests: Renamed from modules/signal-tests.
12878         (Files, Depends-on, Makefile.am): Update.
12879         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
12880         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
12881         (Files, Makefile.am): Update.
12882         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
12883         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
12884         * modules/signal: New placeholder file.
12885         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
12886         * doc/posix-headers/signal.texi: Update.
12887         * NEWS: Mention the change.
12888
12889 2011-09-23  Bruno Haible  <bruno@clisp.org>
12890
12891         sigprocmask: Avoid crashes through signal() on MSVC 9.
12892         * lib/sigprocmask.c: Include msvc-inval.h.
12893         (signal_nothrow): New function.
12894         (signal): Redefine it.
12895         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
12896         * modules/sigprocmask (Depends-on): Add msvc-inval.
12897         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
12898
12899 2011-09-23  Bruno Haible  <bruno@clisp.org>
12900
12901         Tests for module 'raise'.
12902         * modules/raise-tests: New file.
12903         * tests/test-raise.c: New file.
12904
12905         raise: Support for MSVC.
12906         * lib/signal.in.h (raise): New declaration.
12907         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
12908         for native Windows platforms.
12909         * m4/raise.m4: New file.
12910         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
12911         HAVE_RAISE, REPLACE_RAISE.
12912         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
12913         REPLACE_RAISE.
12914         * modules/raise (Status, Notice): Remove fields.
12915         (Files): Add m4/raise.m4.
12916         (Depends-on): Add signal, msvc-inval.
12917         (configure.ac): Use the common idioms.
12918         (Maintainer): Add me.
12919         * tests/test-signal-c++.cc: Check the signature of raise.
12920         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
12921
12922 2011-09-23  Bruno Haible  <bruno@clisp.org>
12923
12924         pipe2: Fix compilation on pre-C99 compilers.
12925         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
12926
12927 2011-09-23  Bruno Haible  <bruno@clisp.org>
12928
12929         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
12930         * lib/msvc-nothrow.h: New file.
12931         * lib/msvc-nothrow.c: New file.
12932         * m4/msvc-nothrow.m4: New file.
12933         * modules/msvc-nothrow: New file.
12934         * lib/dup2.c: Include msvc-nothrow.h.
12935         (rpl_dup2): No need to protect _get_osfhandle call here.
12936         * lib/accept4.c: Include msvc-nothrow.h.
12937         * lib/error.c: Likewise.
12938         * lib/fcntl.c: Likewise.
12939         * lib/lseek.c: Likewise.
12940         * lib/nonblocking.c: Likewise.
12941         * lib/poll.c: Likewise.
12942         * lib/read.c: Likewise.
12943         * lib/select.c: Likewise.
12944         * lib/sockets.h: Likewise.
12945         * lib/sockets.c: Likewise.
12946         * lib/stdio-read.c: Likewise.
12947         * lib/stdio-write.c: Likewise.
12948         * lib/write.c: Likewise.
12949         * lib/w32sock.h: Likewise.
12950         * lib/w32spawn.h: Likewise.
12951         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
12952         * lib/fsync.c: Likewise.
12953         * lib/isapipe.c: Likewise.
12954         * modules/dup2 (Depends-on): Add msvc-nothrow.
12955         * modules/accept4 (Depends-on): Likewise.
12956         * modules/error (Depends-on): Likewise.
12957         * modules/fcntl (Depends-on): Likewise.
12958         * modules/lseek (Depends-on): Likewise.
12959         * modules/nonblocking (Depends-on): Likewise.
12960         * modules/poll (Depends-on): Likewise.
12961         * modules/read (Depends-on): Likewise.
12962         * modules/select (Depends-on): Likewise.
12963         * modules/sockets (Depends-on): Likewise.
12964         * modules/sigpipe (Depends-on): Likewise.
12965         * modules/write (Depends-on): Likewise.
12966         * modules/accept (Depends-on): Likewise.
12967         * modules/bind (Depends-on): Likewise.
12968         * modules/connect (Depends-on): Likewise.
12969         * modules/gethostname (Depends-on): Likewise.
12970         * modules/getpeername (Depends-on): Likewise.
12971         * modules/getsockname (Depends-on): Likewise.
12972         * modules/getsockopt (Depends-on): Likewise.
12973         * modules/ioctl (Depends-on): Likewise.
12974         * modules/listen (Depends-on): Likewise.
12975         * modules/recv (Depends-on): Likewise.
12976         * modules/recvfrom (Depends-on): Likewise.
12977         * modules/send (Depends-on): Likewise.
12978         * modules/sendto (Depends-on): Likewise.
12979         * modules/setsockopt (Depends-on): Likewise.
12980         * modules/shutdown (Depends-on): Likewise.
12981         * modules/socket (Depends-on): Likewise.
12982         * modules/execute (Depends-on): Likewise.
12983         * modules/spawn-pipe (Depends-on): Likewise.
12984         * modules/flock (Depends-on): Likewise.
12985         * modules/fsync (Depends-on): Likewise.
12986         * modules/isapipe (Depends-on): Likewise.
12987         * tests/test-cloexec.c: Include msvc-nothrow.h.
12988         * tests/test-dup-safer.c: Likewise.
12989         * tests/test-dup2.c: Likewise.
12990         * tests/test-dup3.c: Likewise.
12991         * tests/test-fcntl.c: Likewise.
12992         * tests/test-pipe.c: Likewise.
12993         * tests/test-pipe2.c: Likewise.
12994         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
12995         * modules/unistd-safer-tests (Depends-on): Likewise.
12996         * modules/dup2-tests (Depends-on): Likewise.
12997         * modules/dup3-tests (Depends-on): Likewise.
12998         * modules/fcntl-tests (Depends-on): Likewise.
12999         * modules/pipe-posix-tests (Depends-on): Likewise.
13000         * modules/pipe2-tests (Depends-on): Likewise.
13001
13002 2011-09-23  Bruno Haible  <bruno@clisp.org>
13003
13004         dup2: Make code more maintainable.
13005         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
13006         (rpl_dup2): Use it.
13007         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
13008         * modules/dup2 (configure.ac): Invoke it.
13009         Reported by Paul Eggert.
13010
13011 2011-09-23  Bruno Haible  <bruno@clisp.org>
13012
13013         msvc-inval: Fix compilation error.
13014         * lib/msvc-inval.h: Include <excpt.h>.
13015
13016 2011-09-23  Bruno Haible  <bruno@clisp.org>
13017
13018         mkdir: Tweak for MSVC 9.
13019         * lib/sys_stat.in.h: Update comments.
13020         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
13021
13022         Tests for module 'chdir'.
13023         * modules/chdir-tests: New file.
13024         * tests/test-chdir.c: New file.
13025
13026         New module 'chdir'.
13027         * modules/chdir: New file.
13028         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
13029         (chdir): New declaration.
13030         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
13031         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
13032         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
13033         * tests/test-unistd-c++.cc: Check signature of chdir.
13034         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
13035         * modules/chdir-long (Depends-on): Add chdir.
13036         * modules/fchdir (Depends-on): Likewise.
13037         * modules/rename (Depends-on): Likewise.
13038         * modules/savewd (Depends-on): Likewise.
13039
13040         rmdir: Support for mingw, MSVC 9.
13041         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
13042         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
13043
13044         getcwd: Tweak for MSVC 9.
13045         * lib/unistd.in.h: Update comments.
13046         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
13047
13048 2011-09-22  Bruno Haible  <bruno@clisp.org>
13049
13050         strerror_r-posix: Avoid a link error on MSVC.
13051         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
13052         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
13053
13054 2011-09-22  Bruno Haible  <bruno@clisp.org>
13055
13056         select: Avoid link errors on MSVC.
13057         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
13058         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
13059         * modules/pselect (Link): Likewise.
13060         * NEWS: Mention the change.
13061         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
13062         test-select-stdin against $(LIB_SELECT).
13063         * modules/pselect-tests (Makefile.am): Link test-pselect against
13064         $(LIB_SELECT).
13065
13066 2011-09-22  Bruno Haible  <bruno@clisp.org>
13067
13068         select: Avoid compilation error on MSVC.
13069         * lib/select.c: Don't include <stdbool.h>.
13070
13071 2011-09-21  Bruno Haible  <bruno@clisp.org>
13072
13073         Consolidate all uses of PATH_MAX in *.m4 files.
13074         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
13075         macros.
13076         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
13077         and gl_PATHMAX_SNIPPET.
13078         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13079         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13080         * modules/chdir-long (Files): Add m4/pathmax.m4.
13081         * modules/getcwd (Files): Likewise.
13082
13083 2011-09-21  Bruno Haible  <bruno@clisp.org>
13084
13085         ftruncate: Un-deprecate, concentrate on Win32 support.
13086         * modules/ftruncate (Status, Notice): Remove sections.
13087         (Depends-on): Add largefile.
13088         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
13089         non-mingw platforms.
13090         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
13091         include <io.h>.
13092         * modules/perror-tests (Depends-on): Add ftruncate.
13093         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
13094         'ftruncate' module.
13095
13096 2011-09-21  Bruno Haible  <bruno@clisp.org>
13097
13098         Add dependencies to new dirent related modules.
13099         * modules/opendir (Depends-on): Add closedir.
13100         * modules/getcwd (Depends-on): Add opendir, closedir.
13101         * modules/dirent-safer-tests (Depends-on): Likewise.
13102         * modules/fdopendir-tests (Depends-on): Likewise.
13103         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
13104         * modules/renameat-tests (Depends-on): Likewise.
13105
13106 2011-09-21  Bruno Haible  <bruno@clisp.org>
13107
13108         opendir: Avoid compilation error on mingw.
13109         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
13110         * modules/opendir (Depends-on): Add unistd.
13111
13112 2011-09-21  Bruno Haible  <bruno@clisp.org>
13113
13114         ftruncate tests: Avoid a test failure on mingw.
13115         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
13116
13117 2011-09-21  Bruno Haible  <bruno@clisp.org>
13118
13119         select tests: Avoid test failures on OSF/1 5.1 and mingw.
13120         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
13121         native Windows.
13122
13123 2011-09-21  Bruno Haible  <bruno@clisp.org>
13124
13125         New module 'fdopen'.
13126         * lib/stdio.in.h (fdopen): New declaration.
13127         * lib/fdopen.c: New file.
13128         * m4/fdopen.m4: New file.
13129         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
13130         REPLACE_FDOPEN.
13131         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
13132         REPLACE_FDOPEN.
13133         * modules/fdopen: New file.
13134         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
13135         * tests/test-stdio-c++.cc: Check signature of fdopen.
13136         * doc/posix-functions/fdopen.texi: Mention the new module.
13137
13138 2011-09-21  Bruno Haible  <bruno@clisp.org>
13139
13140         unlockpt tests: Avoid test failure on NetBSD 5.1.
13141         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
13142         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
13143
13144 2011-09-21  Bruno Haible  <bruno@clisp.org>
13145
13146         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
13147         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
13148         * tests/test-getlogin_r.c (main): Likewise.
13149
13150 2011-09-20  Bruno Haible  <bruno@clisp.org>
13151
13152         time tests: Don't require pid_t.
13153         * doc/posix-headers/time.texi: Revert last change.
13154         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
13155         * tests/test-time.c: Comment out the check for pid_t.
13156
13157 2011-09-20  Bruno Haible  <bruno@clisp.org>
13158
13159         fsync tests: Avoid a test failure on mingw.
13160         * tests/test-fsync.c (main): Allow a failure with EIO.
13161
13162 2011-09-20  Bruno Haible  <bruno@clisp.org>
13163
13164         euidaccess: Update comments.
13165         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
13166
13167 2011-09-20  Bruno Haible  <bruno@clisp.org>
13168
13169         Ensure EBADF returns for socket functions on mingw.
13170         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
13171         descriptor is invalid.
13172         * lib/bind.c (rpl_bind): Likewise.
13173         * lib/connect.c (rpl_connect): Likewise.
13174         * lib/getpeername.c (rpl_getpeername): Likewise.
13175         * lib/getsockname.c (rpl_getsockname): Likewise.
13176         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13177         * lib/listen.c (rpl_listen): Likewise.
13178         * lib/recv.c (rpl_recv): Likewise.
13179         * lib/recvfrom.c (rpl_recvfrom): Likewise.
13180         * lib/send.c (rpl_send): Likewise.
13181         * lib/sendto.c (rpl_sendto): Likewise.
13182         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13183         * lib/shutdown.c (rpl_shutdown): Likewise.
13184
13185 2011-09-20  Bruno Haible  <bruno@clisp.org>
13186
13187         select tests: EBADF tests.
13188         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
13189         test_bad_fd): New functions.
13190         (test_function): Invoke also test_bad_fd.
13191
13192 2011-09-20  Bruno Haible  <bruno@clisp.org>
13193
13194         Tests for module 'posix_spawn_file_actions_addopen.
13195         * modules/posix_spawn_file_actions_addopen-tests: New file.
13196         * tests/test-posix_spawn_file_actions_addopen.c: New file.
13197
13198         Tests for module 'posix_spawn_file_actions_adddup2'.
13199         * modules/posix_spawn_file_actions_adddup2-tests: New file.
13200         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
13201
13202         Tests for module 'posix_spawn_file_actions_addclose'.
13203         * modules/posix_spawn_file_actions_addclose-tests: New file.
13204         * tests/test-posix_spawn_file_actions_addclose.c: New file.
13205
13206 2011-09-20  Bruno Haible  <bruno@clisp.org>
13207
13208         Tests for module 'unlockpt'.
13209         * modules/unlockpt-tests: New file.
13210         * tests/test-unlockpt.c: New file.
13211         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
13212
13213         Tests for module 'grantpt'.
13214         * modules/grantpt-tests: New file.
13215         * tests/test-grantpt.c: New file.
13216         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
13217
13218 2011-09-20  Bruno Haible  <bruno@clisp.org>
13219
13220         freopen tests: EBADF tests.
13221         * tests/test-freopen.c: Include errno.h, unistd.h.
13222         (main): Add tests for EBADF, commented out for the moment.
13223
13224         fclose tests: EBADF tests.
13225         * tests/test-fclose.c (main): Add tests for EBADF.
13226
13227         fflush tests: EBADF tests.
13228         * tests/test-fflush.c: Include errno.h, macros.h.
13229         (main): Add tests for EBADF.
13230
13231         ftello tests: EBADF tests.
13232         * tests/test-ftello4.sh: New file.
13233         * tests/test-ftello4.c: New file.
13234         * modules/ftello-tests (Files): Add them.
13235         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
13236
13237         fseeko tests: EBADF tests.
13238         * tests/test-fseeko4.sh: New file.
13239         * tests/test-fseeko4.c: New file.
13240         * modules/fseeko-tests (Files): Add them.
13241         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
13242
13243         Tests for function fputc().
13244         * modules/fputc-tests: New file.
13245         * tests/test-fputc.c: New file.
13246         * modules/stdio-tests (Depends-on): Add fputc-tests.
13247
13248         Tests for function fgetc().
13249         * modules/fgetc-tests: New file.
13250         * tests/test-fgetc.c: New file.
13251         * modules/stdio-tests (Depends-on): Add fgetc-tests.
13252
13253         Tests for function fdopen().
13254         * modules/fdopen-tests: New file.
13255         * tests/test-fdopen.c: New file.
13256         * modules/stdio-tests (Depends-on): Add fdopen-tests.
13257
13258         Tests for module 'vdprintf'.
13259         * modules/vdprintf-tests: New file.
13260         * tests/test-vdprintf.c: New file.
13261
13262         Tests for module 'dprintf'.
13263         * modules/dprintf-tests: New file.
13264         * tests/test-dprintf.c: New file.
13265
13266 2011-09-20  Bruno Haible  <bruno@clisp.org>
13267
13268         Tests for module 'ioctl'.
13269         * modules/ioctl-tests: New file.
13270         * tests/test-ioctl.c: New file.
13271
13272 2011-09-20  Bruno Haible  <bruno@clisp.org>
13273
13274         fcntl tests: EBADF tests.
13275         * tests/test-fcntl.c (main): Add more tests for EBADF.
13276
13277 2011-09-20  Bruno Haible  <bruno@clisp.org>
13278
13279         utimensat tests: EBADF tests.
13280         * tests/test-utimensat.c (main): Add tests for EBADF.
13281
13282         renameat tests: EBADF tests.
13283         * tests/test-renameat.c (main): Add tests for EBADF.
13284
13285         mkfifoat tests: EBADF tests.
13286         * tests/test-mkfifoat.c (main): Add tests for EBADF.
13287
13288         readlinkat tests: EBADF tests.
13289         * tests/test-readlinkat.c (main): Add tests for EBADF.
13290
13291         symlinkat tests: EBADF tests.
13292         * tests/test-symlinkat.c (main): Add tests for EBADF.
13293
13294         linkat tests: EBADF tests.
13295         * tests/test-linkat.c (main): Add tests for EBADF.
13296
13297         Tests for module 'faccessat'.
13298         * modules/faccessat-tests: New file.
13299         * tests/test-faccessat.c: New file.
13300
13301         fdopendir tests: EBADF tests.
13302         * tests/test-fdopendir.c (main): Add more tests for EBADF.
13303
13304         openat tests: EBADF tests.
13305         * tests/test-fchownat.c (main): Add tests for EBADF.
13306         * tests/test-fstatat.c (main): Likewise.
13307         * tests/test-mkdirat.c (main): Likewise.
13308         * tests/test-openat.c (main): Likewise.
13309         * tests/test-unlinkat.c (main): Likewise.
13310         * tests/test-fchmodat.c: New file.
13311         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
13312         (Makefile.am): Also run 'test-fchmodat'.
13313
13314 2011-09-20  Bruno Haible  <bruno@clisp.org>
13315
13316         utimens, futimens, fdutimensat tests: EBADF tests.
13317         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
13318
13319         Tests for function fstat().
13320         * modules/fstat-tests: New file.
13321         * tests/test-fstat.c: New file.
13322         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
13323
13324 2011-09-20  Bruno Haible  <bruno@clisp.org>
13325
13326         test-ttyname_r tests: EBADF tests.
13327         * tests/test-ttyname_r.c (main): Add tests for EBADF.
13328
13329         Tests for module 'isatty'.
13330         * modules/isatty-tests: New file.
13331         * tests/test-isatty.c: New file.
13332
13333         Tests for module 'write'.
13334         * modules/write-tests: New file.
13335         * tests/test-write.c: New file.
13336
13337         Tests for module 'read'.
13338         * modules/read-tests: New file.
13339         * tests/test-read.c: New file.
13340
13341         pwrite tests: EBADF tests.
13342         * tests/test-pwrite.c (main): Add tests for EBADF.
13343
13344         pread tests: EBADF tests.
13345         * tests/test-pread.c (main): Add tests for EBADF.
13346
13347         lseek tests: EBADF tests.
13348         * tests/test-lseek.c (main): Add more tests for EBADF.
13349
13350         Tests for module 'ftruncate'.
13351         * modules/ftruncate-tests: New file.
13352         * tests/test-ftruncate.sh: New file.
13353         * tests/test-ftruncate.c: New file.
13354
13355         fsync tests: EBADF tests.
13356         * tests/test-fsync.c (main): Add more tests for EBADF.
13357
13358         fdatasync tests: EBADF tests.
13359         * tests/test-fdatasync.c (main): Add more tests for EBADF.
13360
13361         Tests for module 'fchown'.
13362         * modules/fchown-tests: New file.
13363         * tests/test-fchown.c: New file.
13364
13365         Tests for module 'fchmod'.
13366         * modules/fchmod-tests: New file.
13367         * tests/test-fchmod.c: New file.
13368
13369         fchdir tests: EBADF tests.
13370         * tests/test-fchdir.c (main): Add more tests for EBADF.
13371
13372         dup2 tests: EBADF tests.
13373         * tests/test-dup2.c (main): Add more tests for EBADF.
13374
13375         Tests for module 'dup'.
13376         * modules/dup-tests: New file.
13377         * tests/test-dup.c: New file.
13378
13379         Tests for module 'close'.
13380         * modules/close-tests: New file.
13381         * tests/test-close.c: New file.
13382
13383 2011-09-20  Bruno Haible  <bruno@clisp.org>
13384
13385         Tests for module 'shutdown'.
13386         * modules/shutdown-tests: New file.
13387         * tests/test-shutdown.c: New file.
13388
13389         Tests for module 'setsockopt'.
13390         * modules/setsockopt-tests: New file.
13391         * tests/test-setsockopt.c: New file.
13392
13393         Tests for module 'sendto'.
13394         * modules/sendto-tests: New file.
13395         * tests/test-sendto.c: New file.
13396
13397         Tests for module 'send'.
13398         * modules/send-tests: New file.
13399         * tests/test-send.c: New file.
13400
13401         Tests for module 'recvfrom'.
13402         * modules/recvfrom-tests: New file.
13403         * tests/test-recvfrom.c: New file.
13404
13405         Tests for module 'recv'.
13406         * modules/recv-tests: New file.
13407         * tests/test-recv.c: New file.
13408
13409         Tests for module 'listen'.
13410         * modules/listen-tests: New file.
13411         * tests/test-listen.c: New file.
13412
13413         Tests for module 'getsockopt'.
13414         * modules/getsockopt-tests: New file.
13415         * tests/test-getsockopt.c: New file.
13416
13417         Tests for module 'getsockname'.
13418         * modules/getsockname-tests: New file.
13419         * tests/test-getsockname.c: New file.
13420
13421         Tests for module 'getpeername'.
13422         * modules/getpeername-tests: New file.
13423         * tests/test-getpeername.c: New file.
13424
13425         Tests for module 'connect'.
13426         * modules/connect-tests: New file.
13427         * tests/test-connect.c: New file.
13428
13429         Tests for module 'bind'.
13430         * modules/bind-tests: New file.
13431         * tests/test-bind.c: New file.
13432
13433         accept4 tests: Fix for native Windows.
13434         * tests/test-accept4.c: Include sockets.h.
13435         (main): Invoke gl_sockets_startup.
13436         * modules/accept4-tests (Depends-on): Add sockets.
13437
13438         accept tests: Fix for native Windows.
13439         * tests/test-accept.c: Include sockets.h.
13440         (main): Invoke gl_sockets_startup.
13441         * modules/accept-tests (Depends-on): Add sockets.
13442
13443 2011-09-19  Bruno Haible  <bruno@clisp.org>
13444
13445         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
13446         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
13447         do...while(0).
13448         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
13449         Suggested by Paul Eggert.
13450
13451 2011-09-19  Bruno Haible  <bruno@clisp.org>
13452
13453         sched: Ensure pid_t is defined.
13454         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
13455         not define pid_t.
13456         * lib/sched.in.h: Include <sys/types.h>.
13457         * doc/posix-headers/sched.texi: Mention the pid_t problem.
13458         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13459
13460 2011-09-19  Bruno Haible  <bruno@clisp.org>
13461
13462         msvc-inval: Ensure the entire expansion is a single statement.
13463         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
13464         of braces.
13465
13466 2011-09-19  Jim Meyering  <meyering@redhat.com>
13467
13468         tests: use printf, not echo in init.sh's warn_ function
13469         * tests/init.sh (warn_): Use printf, not echo.  The latter would
13470         misbehave when given strings containing a backslash or starting
13471         with e.g., -n.  James Youngman suggested setting IFS.
13472
13473 2011-09-19  Eric Blake  <eblake@redhat.com>
13474
13475         futimens: enhance test
13476         * tests/test-futimens.h (test_futimens): Also check for EBADF on
13477         closed non-negative fd.
13478
13479         date: accept 'hence' as opposite of 'ago'
13480         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
13481         * tests/test-parse-datetime.c (main): Enhance test.
13482         Suggested by Jesse Wilson.
13483
13484 2011-09-19  Jim Meyering  <meyering@redhat.com>
13485
13486         getcwd: don't fail in a deep directory on a system without openat
13487         Before this change, getcwd would fail when called from a directory
13488         of depth PATH_MAX / 3 or greater.  That was due to the fact that
13489         the non-openat implementation used "..", "../..", "../../..", etc.
13490         to access ancestor directories.  With too many, that string would
13491         be longer than PATH_MAX.
13492         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
13493         using gnulib's openat replacement.
13494         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
13495         we're using the replacement function.
13496
13497 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
13498
13499         maint.mk: avoid warnings from perl about missing files
13500         * top/maint.mk (def_sym_regex): Ignore files listed in
13501         $(gl_other_headers_) that do not exist, say because a project
13502         does not use a corresponding module.
13503
13504 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13505
13506         stat: use pathmax.h only if needed
13507         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
13508         This is better for Emacs, which does not have a mingw port and
13509         therefore can avoid the pathmax module.
13510
13511         utimens: remove dependency on dup2
13512         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
13513         to work around the Linux kernel bug.
13514         * modules/utimens (Depends-on): Remove dup2.
13515
13516 2011-09-18  Bruno Haible  <bruno@clisp.org>
13517
13518         inet_ntop, inet_pton: Look for it also in libresolv.
13519         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
13520         libnsl, search for it in libresolv.
13521         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13522         Needed on Solaris 7.
13523
13524 2011-09-18  Bruno Haible  <bruno@clisp.org>
13525
13526         accept, accept4 tests: Avoid link error on Solaris.
13527         * modules/accept-tests (Makefile.am): Link test-accept against
13528         $(LIBSOCKET).
13529         * modules/accept4-tests (Makefile.am): Link test-accept4 against
13530         $(LIBSOCKET).
13531
13532         accept4: Avoid link error on Solaris.
13533         * modules/accept4 (Link): New section.
13534
13535         socket functions: Avoid link errors on Solaris.
13536         * modules/accept (Depends-on): Add socketlib.
13537         (Link): New section.
13538         * modules/bind (Depends-on): Add socketlib.
13539         (Link): New section.
13540         * modules/connect (Depends-on): Add socketlib.
13541         (Link): New section.
13542         * modules/getpeername (Depends-on): Add socketlib.
13543         (Link): New section.
13544         * modules/getsockname (Depends-on): Add socketlib.
13545         (Link): New section.
13546         * modules/getsockopt (Depends-on): Add socketlib.
13547         (Link): New section.
13548         * modules/listen (Depends-on): Add socketlib.
13549         (Link): New section.
13550         * modules/recv (Depends-on): Add socketlib.
13551         (Link): New section.
13552         * modules/recvfrom (Depends-on): Add socketlib.
13553         (Link): New section.
13554         * modules/send (Depends-on): Add socketlib.
13555         (Link): New section.
13556         * modules/sendto (Depends-on): Add socketlib.
13557         (Link): New section.
13558         * modules/setsockopt (Depends-on): Add socketlib.
13559         (Link): New section.
13560         * modules/shutdown (Depends-on): Add socketlib.
13561         (Link): New section.
13562         * modules/socket (Depends-on): Add socketlib.
13563         (Link): New section.
13564
13565 2011-09-18  Bruno Haible  <bruno@clisp.org>
13566
13567         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
13568         * tests/test-ptsname.c (main): Terminate the test if it takes longer
13569         than 5 seconds.
13570         * modules/ptsname-tests (configure.ac): Test for alarm.
13571
13572 2011-09-18  Bruno Haible  <bruno@clisp.org>
13573
13574         posix_spawn_file_actions_add*: Fix module dependencies.
13575         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
13576         posix_spawn_file_actions_init.
13577         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
13578         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
13579
13580 2011-09-18  Bruno Haible  <bruno@clisp.org>
13581
13582         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
13583         * tests/test-rename.h (test_rename): Allow error code EEXIST.
13584         * tests/test-renameat.c (main): Likewise.
13585
13586 2011-09-18  Bruno Haible  <bruno@clisp.org>
13587
13588         Tests for module 'accept4'.
13589         * modules/accept4-tests: New file.
13590         * tests/test-accept4.c: New file.
13591
13592 2011-09-18  Bruno Haible  <bruno@clisp.org>
13593
13594         Tests for module 'accept'.
13595         * modules/accept-tests: New file.
13596         * tests/test-accept.c: New file.
13597
13598 2011-09-18  Bruno Haible  <bruno@clisp.org>
13599
13600         dup2: Support for MSVC.
13601         * lib/dup2.c: Include msvc-inval.h.
13602         (rpl_dup2): Handle invalid parameter notifications during dup2 and
13603         _get_osfhandle calls.
13604         * modules/dup2 (Depends-on): Add msvc-inval.
13605         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
13606
13607         New module 'msvc-inval'.
13608         * lib/msvc-inval.h: New file.
13609         * lib/msvc-inval.c: New file.
13610         * m4/msvc-inval.m4: New file.
13611         * modules/msvc-inval: New file.
13612
13613 2011-09-17  Bruno Haible  <bruno@clisp.org>
13614
13615         Tests for module 'pclose'.
13616         * modules/pclose-tests: New file.
13617
13618         New module 'pclose'.
13619         * lib/stdio.in.h (pclose): New declaration.
13620         * lib/pclose.c: New file.
13621         * m4/pclose.m4: New file.
13622         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
13623         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
13624         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
13625         * modules/pclose: New file.
13626         * modules/popen-tests (Depends-on): Add pclose.
13627         * modules/popen-safer-tests (Depends-on): Likewise.
13628         * doc/posix-functions/pclose.texi: Mention the new module.
13629
13630 2011-09-17  Bruno Haible  <bruno@clisp.org>
13631
13632         popen: Support for MSVC.
13633         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
13634         * lib/popen.c (popen): Provide alternate definition for native Windows.
13635         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
13636         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
13637         * modules/popen (Depends-on, configure.ac): Update condition.
13638         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
13639         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
13640         fixed.
13641
13642 2011-09-17  Bruno Haible  <bruno@clisp.org>
13643
13644         isnanl, isnand, isnanf: Work around MSVC bug.
13645         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
13646
13647 2011-09-17  Bruno Haible  <bruno@clisp.org>
13648
13649         sys_socket tests: Fix recent mistake.
13650         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
13651
13652 2011-09-17  Bruno Haible  <bruno@clisp.org>
13653
13654         putenv: Support for MSVC.
13655         * modules/putenv (Depends-on): Add environ.
13656         * lib/putenv.c (environ): Disable declaration.
13657         * lib/unistd.in.h: Update comment.
13658
13659 2011-09-17  Bruno Haible  <bruno@clisp.org>
13660
13661         math: Avoid macro redefinition warnings on MSVC.
13662         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
13663         Undefine before redefining.
13664
13665 2011-09-17  Bruno Haible  <bruno@clisp.org>
13666
13667         doc: Mention functions which are declared as macros.
13668         * doc/posix-functions/*[fl].texi: Mention that some functions are
13669         defined as macros with arguments only.
13670
13671 2011-09-17  Bruno Haible  <bruno@clisp.org>
13672
13673         Add dependencies to new dirent related modules.
13674         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
13675         * modules/fts (Depends-on): Likewise.
13676         * modules/glob (Depends-on): Likewise.
13677         * modules/savedir (Depends-on): Likewise.
13678         * modules/scandir (Depends-on): Likewise.
13679         * modules/dirent-safer (Depends-on): Add opendir, closedir.
13680         * modules/fdopendir (Depends-on): Add opendir.
13681
13682 2011-09-17  Bruno Haible  <bruno@clisp.org>
13683
13684         inet_pton: Support for MSVC on Windows Vista or newer.
13685         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
13686         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
13687         HAVE_DECL_INET_PTON is defined.
13688         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13689         On platforms with <winsock2.h>, test whether inet_pton is declared in
13690         <ws2tcpip.h>. If so, arrange to replace it.
13691         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13692         REPLACE_INET_PTON.
13693         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
13694         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
13695         (Depends-on, configure.ac): Update condition.
13696         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
13697
13698 2011-09-17  Bruno Haible  <bruno@clisp.org>
13699
13700         inet_ntop: Support for MSVC on Windows Vista or newer.
13701         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
13702         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
13703         HAVE_DECL_INET_NTOP is defined.
13704         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13705         On platforms with <winsock2.h>, test whether inet_ntop is declared in
13706         <ws2tcpip.h>. If so, arrange to replace it.
13707         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13708         REPLACE_INET_NTOP.
13709         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
13710         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
13711         (Depends-on, configure.ac): Update condition.
13712         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
13713
13714 2011-09-16  Eric Blake  <eblake@redhat.com>
13715
13716         test-fsync: yet another enhancement
13717         * tests/test-fsync.c (main): Also test behavior on read-only text
13718         file.
13719
13720 2011-09-16  Bruno Haible  <bruno@clisp.org>
13721
13722         Enhance fsync, fdatasync tests.
13723         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
13724         * tests/test-fdatasync.c (main): Likewise.
13725
13726 2011-09-16  Bruno Haible  <bruno@clisp.org>
13727
13728         Support for MSVC compiler: Ensure mode_t gets defined.
13729         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
13730         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13731         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
13732         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
13733         * tests/test-fcntl-h.c: Check that mode_t is defined.
13734         * tests/test-sys_stat.c: Likewise.
13735         * tests/test-sys_types.c: Likewise.
13736         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
13737         * doc/posix-headers/sys_stat.texi: Likewise.
13738         * doc/posix-headers/sys_types.texi: Likewise.
13739
13740 2011-09-16  Bruno Haible  <bruno@clisp.org>
13741
13742         sys_stat: Support for MSVC.
13743         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
13744         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
13745         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
13746         MSVC.
13747
13748 2011-09-16  Bruno Haible  <bruno@clisp.org>
13749
13750         Support for MSVC compiler: Ensure off_t gets defined.
13751         * lib/unistd.in.h: Include <sys/types.h>.
13752         * tests/test-fcntl-h.c: Check that off_t is defined.
13753         * tests/test-sys_stat.c: Likewise.
13754         * tests/test-sys_types.c: Likewise.
13755
13756 2011-09-16  Eric Blake  <eblake@redhat.com>
13757
13758         fdatasync: port to Solaris
13759         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
13760         * modules/fdatasync (Link): Document it.
13761         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
13762
13763         fdatasync: port to MacOS X 10.7
13764         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
13765         declared.
13766         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
13767         * modules/unistd (Makefile.am): Substitute it.
13768         * lib/unistd.in.h (fdatasync): Declare on MacOS.
13769         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
13770
13771         fdatasync: minor improvements
13772         * modules/fdatasync (Depends-on): Add condition for fsync.
13773         * lib/fdatasync.c (fdatasync): Add comment.
13774         * tests/test-unistd-c++.cc: Test fdatasync.
13775
13776         unistd: update refs to newer POSIX
13777         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
13778         Suggested by Bruno Haible.
13779
13780         fdatasync: new module
13781         * modules/fsync (Description): Document difference to fdatasync.
13782         * modules/fdatasync: New module.
13783         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
13784         * lib/fdatasync.c (fdatasync): Likewise.
13785         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
13786         defaults.
13787         * modules/unistd (Makefile.am): Set witnesses.
13788         * lib/unistd.in.h (fdatasync): Declare.
13789         * MODULES.html.sh: Document it.
13790         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
13791         * modules/fdatasync-tests: New test.
13792         * tests/test-fdatasync.c: Likewise.
13793
13794 2011-09-16  Eric Blake  <eblake@redhat.com>
13795
13796         test-fsync: enhance tests
13797         * modules/fsync-tests (Depends-on): Add errno, for mingw.
13798         * tests/test-fsync.c (main): Enhance test.
13799
13800 2011-09-15  Bruno Haible  <bruno@clisp.org>
13801
13802         Support for MSVC compiler: Ensure ssize_t gets defined.
13803         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
13804         * doc/posix-headers/stdio.texi: Likewise.
13805         * modules/stdio (Depends-on): Add ssize_t.
13806         * modules/sys_socket (Depends-on): Likewise.
13807         * modules/sys_types (Depends-on): Likewise.
13808         * modules/sys_uio (Depends-on): Likewise.
13809         * modules/unistd (Depends-on): Likewise.
13810         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
13811         * tests/test-sys_types.c: Check that ssize_t is defined.
13812
13813 2011-09-14  Bruno Haible  <bruno@clisp.org>
13814
13815         Avoid using #, the m4 comment starter character, near brackets.
13816         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
13817         delimiter character in sed expressions.
13818         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
13819         Suggested by Eric Blake.
13820
13821         Properly quote AC_CHECK_DECLS' 4th argument.
13822         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
13823         argument.
13824         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13825         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13826         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13827         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13828         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13829         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
13830         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
13831         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
13832         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
13833         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
13834         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
13835         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13836         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13837         * m4/isinf.m4 (gl_ISINF): Likewise.
13838         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13839         * m4/readutmp.m4 (gl_READUTMP): Likewise.
13840         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
13841         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13842         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13843         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13844         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13845         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13846         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
13847         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13848         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13849         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13850         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
13851         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13852         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13853         Reported by Eric Blake.
13854
13855         Properly quote AC_CHECK_DECL's 4th argument.
13856         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
13857         argument.
13858         * m4/argp.m4 (gl_ARGP): Likewise.
13859         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13860         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13861         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13862         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13863         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
13864         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
13865         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
13866         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13867         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13868         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13869         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13870         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13871         Reported by Eric Blake.
13872
13873 2011-09-14  Eric Blake  <eblake@redhat.com>
13874
13875         opendir: avoid compile warning
13876         * lib/opendir.c (includes): Always include errno.h.
13877         Reported by Tatsuro MATSUOKA.
13878
13879 2011-09-14  Jim Meyering  <meyering@redhat.com>
13880
13881         maint.mk: sc_tight_scope: propagate failure from sub-make
13882         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
13883         Reported by Martin von Gagern.
13884
13885 2011-09-13  Bruno Haible  <bruno@clisp.org>
13886
13887         tempname: Support for MSVC.
13888         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
13889         MSVC.
13890         * modules/tempname (Depends-on): Add fcntl-h.
13891
13892 2011-09-13  Bruno Haible  <bruno@clisp.org>
13893
13894         sys_time: Support for MSVC.
13895         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
13896         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
13897         include <winsock2.h>.
13898         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
13899         function declarations that collide with POSIX.
13900         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
13901         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13902
13903 2011-09-13  Bruno Haible  <bruno@clisp.org>
13904
13905         stat: Support for MSVC.
13906         * lib/stat.c: Include pathmax.h.
13907         * modules/stat (Depends-on): Add pathmax.
13908
13909         pathmax: Support for native Windows.
13910         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
13911
13912 2011-09-12  Bruno Haible  <bruno@clisp.org>
13913
13914         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
13915         * lib/dirent.in.h (struct dirent): New type.
13916         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
13917         DT_WHT): New macros.
13918         (DIR): New type.
13919         (opendir, closedir): Declare only if the module 'opendir' is enabled.
13920         (readdir, rewinddir): New declarations.
13921         * lib/dirent-private.h: New file.
13922         * lib/opendir.c: New file.
13923         * lib/readdir.c: New file.
13924         * lib/rewinddir.c: New file.
13925         * lib/closedir.c: New file.
13926         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
13927         * m4/opendir.m4: New file.
13928         * m4/readdir.m4: New file.
13929         * m4/rewinddir.m4: New file.
13930         * m4/closedir.m4: New file.
13931         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
13932         REPLACE_CLOSEDIR here.
13933         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
13934         readdir, rewinddir are declared.
13935         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
13936         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
13937         HAVE_REWINDDIR, HAVE_CLOSEDIR.
13938         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
13939         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
13940         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
13941         * modules/opendir: New file.
13942         * modules/readdir: New file.
13943         * modules/rewinddir: New file.
13944         * modules/closedir: New file.
13945         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
13946         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
13947         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
13948         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
13949         * NEWS: Mention the 'fchdir' change.
13950
13951 2011-09-11  Bruno Haible  <bruno@clisp.org>
13952
13953         asm-underscore.m4: Support for MSVC.
13954         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
13955         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
13956
13957 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
13958
13959         Doc about crypt functions.
13960         * doc/posix-functions/crypt.texi: Expand range of glibc versions
13961         needing for _GNU_SOURCE to get crypt.
13962         * doc/posix-functions/encrypt.texi: Likewise.
13963         * doc/posix-functions/setkey.texi: Likewise.
13964
13965 2011-09-11  Bruno Haible  <bruno@clisp.org>
13966
13967         doc: Update regarding MSVC 9.
13968         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
13969         tested".
13970         * doc/posix-functions/*.texi: Update with info about MSVC 9.
13971         * doc/posix-headers/*.texi: Likewise.
13972         * doc/pastposix-functions/*.texi: Likewise.
13973         * doc/glibc-functions/*.texi: Likewise.
13974         * doc/glibc-headers/*.texi: Likewise.
13975
13976 2011-09-11  Bruno Haible  <bruno@clisp.org>
13977
13978         unistd et al.: Don't assume <unistd.h> exists.
13979         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
13980         does not exist.
13981         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
13982         exist. But include <stdlib.h>.
13983         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
13984         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
13985         symlink() does not exist.
13986         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
13987         include <io.h> instead.
13988         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
13989         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
13990         include <direct.h> instead.
13991         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13992         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13993         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
13994         <io.h> instead.
13995         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
13996         correctly if the system does not have hard links.
13997         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
13998         <direct.h> instead.
13999         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
14000         it when looking for function declarations.
14001         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
14002         <direct.h> and <io.h> instead.
14003         * doc/posix-headers/unistd.texi: More details about MSVC problem.
14004
14005 2011-09-11  Bruno Haible  <bruno@clisp.org>
14006
14007         strcase: Support for MSVC.
14008         * modules/strcase (Status, Notice): Remove obsoletion mark.
14009         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
14010         * doc/posix-functions/strncasecmp.texi: Likewise.
14011
14012         strings: Don't assume <strings.h> exists.
14013         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
14014         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
14015         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
14016         * doc/posix-headers/strings.texi: Mention the MSVC problem.
14017
14018 2011-09-11  Bruno Haible  <bruno@clisp.org>
14019
14020         dirent: Don't assume <dirent.h> exists.
14021         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
14022         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
14023         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
14024         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
14025
14026 2011-09-11  Bruno Haible  <bruno@clisp.org>
14027
14028         Fix wint_t on MSVC.
14029         * lib/wchar.in.h (wint_t): On MSVC, override it.
14030         * lib/wctype.in.h (wint_t): Likewise.
14031         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
14032         MSVC.
14033         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
14034         * doc/posix-headers/wctype.texi: Likewise.
14035
14036 2011-09-11  Bruno Haible  <bruno@clisp.org>
14037
14038         sys_types: Fix typo.
14039         * lib/sys_types.in.h: Fix typo in comment.
14040         Reported by Paul Eggert.
14041
14042         Support for MSVC compiler: Ensure size_t gets defined.
14043         * modules/strings (Depends-on): Add 'sys_types'.
14044         * modules/sys_uio (Depends-on): Likewise.
14045         * lib/sys_uio.in.h: Update comment.
14046
14047         C++ tests for module 'sys_types'.
14048         * modules/sys_types-c++-tests: New file.
14049         * tests/test-sys_types-c++.cc: New file.
14050
14051         Tests for module 'sys_types'.
14052         * modules/sys_types-tests: New file.
14053         * tests/test-sys_types.c: New file.
14054
14055         New module 'sys_types'.
14056         * lib/sys_types.in.h: New file.
14057         * m4/sys_types_h.m4: New file.
14058         * modules/sys_types: New file.
14059         * doc/posix-headers/sys_types.texi: Mention the new module and the
14060         size_t problem on MSVC 9.
14061
14062 2011-09-11  Bruno Haible  <bruno@clisp.org>
14063
14064         Support for MSVC compiler: Avoid division by a literal 0.
14065         * lib/math.in.h (NAN): Define through a function call also on MSVC.
14066         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
14067         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
14068         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
14069         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
14070         * tests/infinity.h: New file.
14071         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
14072         on MSVC.
14073         * tests/test-ceilf1.c: Include infinity.h.
14074         (main): Use Infinityf.
14075         * tests/test-ceil1.c: Include infinity.h.
14076         (main): Use Infinityd.
14077         * tests/test-ceill.c: Include infinity.h.
14078         (main): Use Infinityl.
14079         * tests/test-dprintf-posix.c: Include infinity.h.
14080         (test_function): Use Infinityd.
14081         * tests/test-floorf1.c: Include infinity.h.
14082         (main): Use Infinityf.
14083         * tests/test-floor1.c: Include infinity.h.
14084         (main): Use Infinityd.
14085         * tests/test-floorl.c: Include infinity.h.
14086         (main): Use Infinityl.
14087         * tests/test-fprintf-posix.c: Include infinity.h.
14088         (test_function): Use Infinityd.
14089         * tests/test-frexp.c: Include infinity.h.
14090         (main): Use Infinityd.
14091         * tests/test-frexpl.c: Include infinity.h.
14092         (main): Use Infinityl.
14093         * tests/test-isfinite.c: Include infinity.h.
14094         (test_isfinitef): Use Infinityf.
14095         (test_isfinited): Use Infinityd.
14096         (test_isfinitel): Use Infinityl.
14097         * tests/test-isinf.c: Include infinity.h.
14098         (test_isinff): Use Infinityf.
14099         (test_isinfd): Use Infinityd.
14100         (test_isinfl): Use Infinityl.
14101         * tests/test-isnan.c: Include infinity.h.
14102         (test_float): Use Infinityf.
14103         (test_double): Use Infinityd.
14104         (test_long_double): Use Infinityl.
14105         * tests/test-isnanf.h: Include infinity.h.
14106         (main): Use Infinityf.
14107         * tests/test-isnand.h: Include infinity.h.
14108         (main): Use Infinityd.
14109         * tests/test-isnanl.h: Include infinity.h.
14110         (main): Use Infinityl.
14111         * tests/test-ldexpl.c: Include infinity.h.
14112         (main): Use Infinityl.
14113         * tests/test-printf-posix.h: Include infinity.h.
14114         (test_function): Use Infinityd.
14115         * tests/test-roundf1.c: Include infinity.h.
14116         (main): Use Infinityf.
14117         * tests/test-round1.c: Include infinity.h.
14118         (main): Use Infinityd.
14119         * tests/test-roundl.c: Include infinity.h.
14120         (main): Use Infinityl.
14121         * tests/test-signbit.c: Include infinity.h.
14122         (test_signbitf): Use Infinityf.
14123         (test_signbitd): Use Infinityd.
14124         (test_signbitl): Use Infinityl.
14125         * tests/test-snprintf-posix.h: Include infinity.h.
14126         (test_function): Use Infinityd, Infinityl.
14127         * tests/test-sprintf-posix.h: Include infinity.h.
14128         (test_function): Use Infinityd, Infinityl.
14129         * tests/test-truncf1.c: Include infinity.h.
14130         (main): Use Infinityf.
14131         * tests/test-trunc1.c: Include infinity.h.
14132         (main): Use Infinityd.
14133         * tests/test-truncl.c: Include infinity.h.
14134         (main): Use Infinityl.
14135         * tests/test-vasnprintf-posix.c: Include infinity.h.
14136         (test_function): Use Infinityd, Infinityl.
14137         * tests/test-vasprintf-posix.c: Include infinity.h.
14138         (test_function): Use Infinityd, Infinityl.
14139         * modules/ceilf-tests (Files): Add tests/infinity.h.
14140         * modules/ceil-tests (Files): Likewise.
14141         * modules/ceill-tests (Files): Likewise.
14142         * modules/dprintf-posix-tests (Files): Likewise.
14143         * modules/floorf-tests (Files): Likewise.
14144         * modules/floor-tests (Files): Likewise.
14145         * modules/floorl-tests (Files): Likewise.
14146         * modules/fprintf-posix-tests (Files): Likewise.
14147         * modules/frexp-tests (Files): Likewise.
14148         * modules/frexp-nolibm-tests (Files): Likewise.
14149         * modules/frexpl-tests (Files): Likewise.
14150         * modules/frexpl-nolibm-tests (Files): Likewise.
14151         * modules/isfinite-tests (Files): Likewise.
14152         * modules/isinf-tests (Files): Likewise.
14153         * modules/isnan-tests (Files): Likewise.
14154         * modules/isnanf-tests (Files): Likewise.
14155         * modules/isnanf-nolibm-tests (Files): Likewise.
14156         * modules/isnand-tests (Files): Likewise.
14157         * modules/isnand-nolibm-tests (Files): Likewise.
14158         * modules/isnanl-tests (Files): Likewise.
14159         * modules/isnanl-nolibm-tests (Files): Likewise.
14160         * modules/ldexpl-tests (Files): Likewise.
14161         * modules/printf-posix-tests (Files): Likewise.
14162         * modules/roundf-tests (Files): Likewise.
14163         * modules/round-tests (Files): Likewise.
14164         * modules/roundl-tests (Files): Likewise.
14165         * modules/signbit-tests (Files): Likewise.
14166         * modules/snprintf-posix-tests (Files): Likewise.
14167         * modules/sprintf-posix-tests (Files): Likewise.
14168         * modules/truncf-tests (Files): Likewise.
14169         * modules/trunc-tests (Files): Likewise.
14170         * modules/truncl-tests (Files): Likewise.
14171         * modules/vasnprintf-posix-tests (Files): Likewise.
14172         * modules/vasprintf-posix-tests (Files): Likewise.
14173         * modules/vdprintf-posix-tests (Files): Likewise.
14174         * modules/vfprintf-posix-tests (Files): Likewise.
14175         * modules/vprintf-posix-tests (Files): Likewise.
14176         * modules/vsnprintf-posix-tests (Files): Likewise.
14177         * modules/vsprintf-posix-tests (Files): Likewise.
14178         * modules/xprintf-posix-tests (Files): Likewise.
14179
14180 2011-09-11  Bruno Haible  <bruno@clisp.org>
14181
14182         Ensure pid_t gets defined.
14183         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
14184         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14185         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
14186         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14187         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14188         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14189         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
14190         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14191         * tests/test-fcntl-h.c: Check that pid_t is defined.
14192         * tests/test-sched.c: Likewise.
14193         * tests/test-termios.c: Likewise.
14194         * tests/test-time.c: Likewise.
14195         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
14196         * doc/posix-headers/signal.texi: Likewise.
14197         * doc/posix-headers/sys_types.texi: Likewise.
14198         * doc/posix-headers/time.texi: Likewise.
14199
14200 2011-09-11  Bruno Haible  <bruno@clisp.org>
14201
14202         acl: Fix compilation on Solaris 10 (older version).
14203         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
14204         of ACE_EVERYONE.
14205         * lib/set-mode-acl.c (qset_acl): Likewise.
14206         Reported by Christian Jullien <eligis@orange.fr>.
14207
14208 2011-09-10  Bruno Haible  <bruno@clisp.org>
14209
14210         iconv, unsetenv: Add support for MSVC compiler.
14211         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
14212         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
14213
14214 2011-09-10  Bruno Haible  <bruno@clisp.org>
14215
14216         *printf: Add support for MSVC compiler.
14217         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
14218         handles the exception caused by the %n directive. When cross-compiling,
14219         guess no on native Windows.
14220         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
14221         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
14222         emulate it through vsnprintf.
14223         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
14224         * doc/posix-functions/dprintf.texi: Update documentation regarding
14225         MSVC 9.
14226         * doc/posix-functions/fprintf.texi: Likewise.
14227         * doc/posix-functions/printf.texi: Likewise.
14228         * doc/posix-functions/snprintf.texi: Likewise.
14229         * doc/posix-functions/sprintf.texi: Likewise.
14230         * doc/posix-functions/swprintf.texi: Likewise.
14231         * doc/posix-functions/vdprintf.texi: Likewise.
14232         * doc/posix-functions/vfprintf.texi: Likewise.
14233         * doc/posix-functions/vprintf.texi: Likewise.
14234         * doc/posix-functions/vsnprintf.texi: Likewise.
14235         * doc/posix-functions/vsprintf.texi: Likewise.
14236         * doc/glibc-functions/asprintf.texi: Likewise.
14237         * doc/glibc-functions/obstack_printf.texi: Likewise.
14238         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14239         * doc/glibc-functions/vasprintf.texi: Likewise.
14240
14241 2011-09-10  Bruno Haible  <bruno@clisp.org>
14242
14243         nocrash: Add support for native Windows.
14244         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
14245
14246 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
14247             Bruno Haible  <bruno@clisp.org>
14248
14249         absolute-header, include-next: Add support for MSVC compiler.
14250         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
14251         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
14252         directory separator in #line directives.
14253         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
14254         recognize also backslash as directory separator in #line directives.
14255
14256 2011-09-08  Jim Meyering  <meyering@redhat.com>
14257
14258         maint.mk: mark the post-release commit log with "maint: " prefix
14259         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
14260         one-line commit-log summary.
14261
14262 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
14263             Bruno Haible  <bruno@clisp.org>
14264
14265         Doc about crypt functions.
14266         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
14267         systems.
14268         * doc/posix-functions/encrypt.texi: Likewise.
14269         * doc/posix-functions/setkey.texi: Likewise.
14270
14271 2011-09-08  Simon Josefsson  <simon@josefsson.org>
14272
14273         * lib/gc.h: Fix copyright header.
14274
14275 2011-09-07  Bruno Haible  <bruno@clisp.org>
14276
14277         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
14278         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
14279         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
14280
14281 2011-09-07  Bruno Haible  <bruno@clisp.org>
14282
14283         openat: Work around compilation error with OSF/1 5.1 DTK cc.
14284         * lib/fopen.c: Use different syntax for include of <stdio.h>.
14285         * lib/freopen.c: Likewise.
14286         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
14287         * lib/lstat.c: Likewise.
14288         * lib/stat.c: Likewise.
14289         * lib/open.c: Use different syntax for include of <fcntl.h>.
14290         * lib/openat.c: Include fcntl.h again, explicitly.
14291
14292 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
14293
14294         parse-datetime: document the newly accepted format
14295         * doc/parse-datetime.texi (Combined date and time of day items):
14296         New section.
14297
14298 2011-09-06  Bruno Haible  <bruno@clisp.org>
14299
14300         acl: Fix a test failure on newer Solaris 10 with ZFS.
14301         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
14302         ENOSYS as no ACL.
14303         Reported by Jim Meyering.
14304
14305 2011-09-06  Bruno Haible  <bruno@clisp.org>
14306
14307         acl: Update for AIX >= 5.3 with NFS.
14308         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
14309         ENOSYS as no ACL.
14310
14311         acl: Fix a test failure on AIX >= 5.3 with NFS.
14312         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
14313         as no ACL.
14314
14315 2011-09-06  Bruno Haible  <bruno@clisp.org>
14316
14317         acl: Fix a test failure on IRIX 6.5 with NFS.
14318         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
14319         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
14320         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
14321         * lib/copy-acl.c (qcopy_acl): Likewise.
14322
14323 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14324
14325         openat: port to AIX 7.1 with large files
14326         AIX 7.1 does a "#define openat open64at" if large files are in use,
14327         so we can't simply #undef openat.  Use the orig_openat trick (similar
14328         to orig_open in lib/open.c) to work around the problem.  Problem
14329         reported by Kevin Brott for GNU tar, in the thread containing
14330         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
14331         * lib/openat.c (__need_system_fcntl_h): Define first.
14332         Include <fcntl.h> and <sys/types.h> before undefining.
14333         (orig_openat) [HAVE_OPENAT]: New inline function.
14334         (openat) [HAVE_OPENAT]: Do not undef.
14335         (rpl_openat): Use orig_openat, not openat.
14336
14337 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14338             Bruno Haible  <bruno@clisp.org>
14339
14340         acl: Avoid errors on NonStop Kernel.
14341         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
14342         ENOTSUP errors.
14343
14344 2011-09-05  Bruno Haible  <bruno@clisp.org>
14345
14346         acl: Clean up Solaris code.
14347         * lib/acl-internal.h: Remove no-op #if.
14348         * lib/file-has-acl.c: Likewise.
14349         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
14350         * lib/copy-acl.c (qcopy_acl): Likewise.
14351
14352 2011-09-05  Bruno Haible  <bruno@clisp.org>
14353
14354         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
14355         binaries built on the original Solaris 10.
14356         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
14357         trivial.
14358
14359 2011-09-05  Bruno Haible  <bruno@clisp.org>
14360
14361         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14362         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
14363         10.
14364         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
14365         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
14366         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
14367         instead of acl_get, facl_get, acl_set, facl_set.
14368
14369 2011-09-05  Bruno Haible  <bruno@clisp.org>
14370
14371         copy-file: Try unit tests on more file systems.
14372         * tests/test-copy-file-1.sh: New file.
14373         * tests/test-copy-file-2.sh: New file.
14374         * modules/copy-file-tests (Files): Add them.
14375         (Makefile.am): Add them to TESTS.
14376
14377         acl: Try unit tests on more file systems.
14378         * tests/test-file-has-acl-1.sh: New file.
14379         * tests/test-file-has-acl-2.sh: New file.
14380         * tests/test-set-mode-acl-1.sh: New file.
14381         * tests/test-set-mode-acl-2.sh: New file.
14382         * tests/test-copy-acl-1.sh: New file.
14383         * tests/test-copy-acl-2.sh: New file.
14384         * modules/acl-tests (Files): Add them.
14385         (Makefile.am): Add them to TESTS.
14386
14387 2011-09-04  Bruno Haible  <bruno@clisp.org>
14388
14389         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14390         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
14391         10.
14392         (OLD_ALLOW, OLD_DENY): New macros.
14393         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
14394         ACE_ACCESS_ALLOWED_ACE_TYPE.
14395         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
14396         ACE_ACCESS_DENIED_ACE_TYPE.
14397         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
14398         (NEW_ACE_EXECUTE): Fix value.
14399         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
14400         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
14401         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
14402         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
14403         NEW_ACE_SYNCHRONIZE): New macros.
14404         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
14405         instead of acl_fromtext, acl_set, facl_set.
14406         Fixes a coreutils/tests/cp/perm failure.
14407
14408 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14409
14410         openat: test for fstatat (..., 0) bug
14411         Further testing with tar suggests that fstatat (..., 0)
14412         does not work in general, on AIX 7.1; see
14413         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
14414         So, give up entirely on AIX 7.1's fstatat, and fall back on our
14415         replacement fstatat (which is what older AIX releases were using
14416         anyway).
14417         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
14418         use is now changed to orig_fstatat.  This was probably the right
14419         thing to do anyway.
14420         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
14421         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
14422         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
14423         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
14424         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
14425         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
14426         if the bug is found.
14427
14428         openat: test for fstatat (AT_FDCWD, ..., 0) bug
14429         This tests for another fstatat bug on AIX 7.1:
14430         fstatat (AT_FDCWD, ..., 0) does not work.  See
14431         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
14432         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
14433         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
14434         (rpl_fstatat): Adjust so that it works around either (or both)
14435         bugs if present.
14436         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
14437
14438 2011-09-03  Karl Berry  <karl@gnu.org>
14439
14440         * doc/regex.texi (Character Class Operators): Avoid literal ":"
14441         in index entries.
14442
14443 2011-09-02  Bruno Haible  <bruno@clisp.org>
14444
14445         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
14446         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
14447         values of AR, ARFLAGS, RANLIB.
14448         Reported by John W. Eaton <jwe@gnu.org> for Octave.
14449
14450 2011-09-02  Bruno Haible  <bruno@clisp.org>
14451
14452         Find 'ar' program that fits with --host argument.
14453         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
14454
14455 2011-09-02  Bruno Haible  <bruno@clisp.org>
14456
14457         tests: init.sh: Support any non-GNU diff.
14458         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
14459         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
14460         Solaris 8.
14461
14462 2011-09-02  Bruno Haible  <bruno@clisp.org>
14463
14464         tests: init.sh: work also with any non-GNU diff that supports -u
14465         * tests/init.sh: Relax check for diff -u support.
14466         Rather than checking for GNU diff via --version, simply check
14467         for support for -u itself.  Useful at least on OpenBSD 4.9,
14468         AIX 7.1, IRIX 6.5, and Solaris 10.
14469
14470 2011-09-01  Bruno Haible  <bruno@clisp.org>
14471
14472         strtoimax, strtoumax: Document problem on HP-UX 11.
14473         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
14474         * doc/posix-functions/strtoumax.texi: Likewise.
14475
14476 2011-09-01  Bruno Haible  <bruno@clisp.org>
14477
14478         strtoumax: Avoid link error on OSF/1 with DTK cc.
14479         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
14480         defined as a function.
14481         * modules/strtoumax (Depends-on, configure.ac): Test only whether
14482         strtoumax is defined, not whether it is declared.
14483
14484 2011-09-01  Bruno Haible  <bruno@clisp.org>
14485
14486         strtoimax: Avoid link error on OSF/1 with DTK cc.
14487         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
14488         defined as a function.
14489         * modules/strtoimax (Depends-on, configure.ac): Test only whether
14490         strtoimax is defined, not whether it is declared.
14491
14492 2011-09-01  Bruno Haible  <bruno@clisp.org>
14493
14494         imaxdiv: Avoid link error on OSF/1 with DTK cc.
14495         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
14496         as a function.
14497         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
14498         whether it is declared.
14499
14500 2011-09-01  Bruno Haible  <bruno@clisp.org>
14501
14502         imaxabs: Avoid link error on OSF/1 with DTK cc.
14503         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
14504         as a function.
14505         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
14506         whether it is declared.
14507
14508 2011-09-01  Bruno Haible  <bruno@clisp.org>
14509
14510         Tests for module 'strtoumax'.
14511         * modules/strtoumax-tests: New file.
14512         * tests/test-strtoumax.c: New file.
14513
14514         Tests for module 'strtoimax'.
14515         * modules/strtoimax-tests: New file.
14516         * tests/test-strtoimax.c: New file.
14517
14518         Tests for module 'imaxdiv'.
14519         * modules/imaxdiv-tests: New file.
14520         * tests/test-imaxdiv.c: New file.
14521
14522         Tests for module 'imaxabs'.
14523         * modules/imaxabs-tests: New file.
14524         * tests/test-imaxabs.c: New file.
14525
14526 2011-09-01  Bruno Haible  <bruno@clisp.org>
14527
14528         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
14529         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
14530         pthread_create.
14531
14532 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14533
14534         openat: work around AIX 7.1 fstatat issue
14535         This should fix the problem that was not properly fixed
14536         in the previous change, dated 2011-08-30.
14537         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
14538         __need_system_stat_h defined.
14539         (orig_fstatat) [HAVE_FSTATAT]: New function.
14540         (rpl_fstatat): Go back to the old way of doing things,
14541         except call orig_fstatat instead of fstatat.
14542         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
14543         Remove unnecessary check whether fstatat fills in st_size etc.
14544
14545 2011-09-01  Bruno Haible  <bruno@clisp.org>
14546
14547         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
14548         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
14549         just include the system's header.
14550
14551 2011-08-31  Jim Meyering  <meyering@redhat.com>
14552
14553         tests: avoid spurious assertion failure in test-float.c on ppc64
14554         * tests/test-float.c (test_long_double): Comment out an assertion,
14555         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
14556         with gcc-4.4.4.
14557
14558         maint: indent with spaces, not TABs
14559         I need to get in the habit of running gnulib's "make check".
14560         Both of these would have been caught.
14561         * m4/largefile.m4: Indent with spaces, not TABs.
14562         * lib/parse-datetime.y (iso_8601_time): Likewise.
14563         Spotted by Pádraig Brady.
14564
14565         test-parse-datetime.c: accommodate a relatively strict gcc warning
14566         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
14567         to avoid a warning from gcc's -Werror=missing-declarations.
14568         Insert a few spaces-before-funcall-parenthesis.
14569
14570 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
14571
14572         parse-datetime: accept ISO 8601 date and time rep with "T" separator
14573         The parser now accepts ISO 8601 date-time strings with "T" as the
14574         separator.  It has long parsed dates like "2004-02-29 16:21:42"
14575         with a space between the date and time strings.  Now it also parses
14576         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
14577         variants like "2004-02-29T16:21:42.333-07:00"
14578         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
14579         of day representation using the 'T' separator character.
14580         * doc/parse-datetime.texi (General date syntax): replace use of
14581         deprecated --iso-8601 option with --rfc-3339 in example of date
14582         command output formats that can be parsed.
14583         * tests/test-parse-datetime.c (tm_diff): New function, taken from
14584         lib/parse-datetime.y.
14585         (gmt_offset): New function.
14586         (main): Add additional test cases to validate ISO8601 extended
14587         date and time of day parsing.
14588
14589 2011-08-31  Bruno Haible  <bruno@clisp.org>
14590
14591         freopen: Documentation.
14592         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
14593         name.
14594         Reported by Claudio Bley <claudio.bley@gmail.com>.
14595
14596 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
14597
14598         freopen: Don't crash if the filename argument is NULL.
14599         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
14600         NULL.
14601
14602 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14603
14604         openat: work around AIX 7.1 fstatat bug
14605         Problem reported by Kevin Brott for GNU tar, in the thread containing
14606         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
14607         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
14608         FSTATAT_ST_SIZE_ETC_BROKEN.
14609         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
14610         rpl_fstatat.
14611         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
14612         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
14613         AC_CHECK_FUNCS_ONCE for fstatat.
14614         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
14615         fchmodat, mkdirat, openat and unlinkat.
14616
14617 2011-08-30  Bruno Haible  <bruno@clisp.org>
14618
14619         Avoid endless recursions if config.h includes some header files.
14620         * lib/fopen.c (__need_FILE): Define already before including config.h.
14621         * lib/freopen.c (__need_FILE): Likewise.
14622         * lib/open.c (__need_system_fcntl_h): Likewise.
14623         * lib/stat.c (__need_system_sys_stat_h): Likewise.
14624         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
14625         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
14626
14627 2011-08-25  Karl Berry  <karl@gnu.org>
14628
14629         * config/srclist.txt (ylwrap): new try.
14630         * build-aux/ylwrap: new file.
14631
14632 2011-08-23  Bruno Haible  <bruno@clisp.org>
14633
14634         tmpdir: Use a good default directory on native Windows.
14635         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
14636         (P_tmpdir): Default to _P_tmpdir on native Windows.
14637         (path_search): On native Windows, try the value returned by GetTempPath
14638         before trying P_tmpdir.
14639         * modules/tmpdir (Depends-on): Add pathmax.
14640         Suggested by John Darrington <john@darrington.wattle.id.au>.
14641
14642 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
14643
14644         doc: fix typo in README-release
14645         * top/README-release: Capitalize first word of a sentence.
14646
14647 2011-08-19  Jim Meyering  <meyering@redhat.com>
14648
14649         fts: do not exhaust memory when processing million-entry directories
14650         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
14651         directory would require about 256*N bytes of memory.  Thus, it was
14652         easy to construct a directory too large to be processed by any of
14653         those tools.  With this change, fts' maximum memory utilization is
14654         now limited to around 30MB.
14655         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
14656         (fts_read): When we've processed the final entry (i.e., when
14657         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
14658         using the parent entry to read any remaining entries.  Dispatch
14659         depending on what fts_build returns:
14660         - NULL+stop, aka failure: stop
14661         - NULL otherwise: move up in the dir hierarchy
14662         - non-NULL: handle this new entry
14663         (fts_build): Declare and use new local, continue_readdir.
14664         Prepare to be called from fts_read, when the entries
14665         from a partially-read directory have just been exhausted.
14666         In that case, we'll skip the opendir and instead use the parent's
14667         fts_dirp and derive dir_fd from that.
14668         Finally, in the readdir loop, if we read max_entries entries,
14669         exit the loop ensuring *not* to call closedir.  This is required
14670         so that fts_dirp can be reused on a subsequent call.
14671         Prompted by Ben England's report of memory exhaustion in find
14672         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
14673
14674         maint: fts: move decl of `dp' down into while loop; split a long line
14675         * lib/fts.c (fts_build): No semantic change.
14676
14677         fts: add/use new struct member, fts_dirp
14678         We are about to use this to manage any directory with
14679         too many entries to read all of them into memory at once.
14680         To do that, we'll need to save the DIR* pointer in each
14681         affected FTSENT struct.
14682         * lib/fts_.h: Include <dirent.h>.
14683         (struct FTSENT) [fts_dirp]: New member.
14684         * lib/fts.c (closedir_and_clear): Define.
14685         Use it in place of closedir so that we are sure to
14686         clear the new fts_dirp member when done with it.
14687         (fts_alloc): Initialize the new member.
14688         (fts_lfree): Free, if needed.
14689
14690         maint: fts: give __opendir2 a new parameter and rename
14691         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
14692         than surreptitiously using sole caller's "dir_fd".
14693         (fts_opendir): Rename from __opendir2.
14694
14695         maint: fts.c: remove __opendir2's now-unused parameter, oflag
14696         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
14697
14698         maint: fts.c: correct off-by-one indentation
14699         * lib/fts.c (fts_build): Correct indentation, change style
14700         of a couple of block comments, and bracing style.
14701
14702         maint: fts.c: move __opendir2 #define "up" out of function body
14703         * lib/fts.c (__opendir2): Move "up".  No semantic change.
14704
14705         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
14706         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
14707         out for a long time and besides was useful only on BSD systems.
14708
14709 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
14710
14711         regex: port to Stratus OpenVOS
14712         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
14713         define to empty, rather than attempting nonportable optimizations.
14714         Problem reported by Paul Green in:
14715         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
14716         and fix suggested by Eric Blake in:
14717         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
14718
14719 2011-08-17  Eric Blake  <eblake@redhat.com>
14720
14721         getcwd: fix test failures on mingw
14722         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
14723         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
14724         test if long directory cannot be created, and allow mingw errno.
14725
14726         getcwd-lgpl: fix m4 to match relaxed test for BSD
14727         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
14728         (gl_FUNC_GETCWD_SIGNATURE): New macro.
14729         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
14730         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
14731         signature problem.
14732
14733         getcwd: fix compilation on mingw64
14734         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
14735         getcwd.
14736         Reported by Marc-André Lureau.
14737
14738         pipe2: silence compiler warning
14739         * lib/pipe2.c (pipe2): Hide label if it is not used.
14740
14741 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
14742
14743         relocatable-prog: fix link error
14744         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
14745         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
14746         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
14747         into modules/relocatable-lib without noticing that
14748         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
14749         also needs to build relocatable.c.
14750
14751 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14752
14753         getaddrinfo: fix sh typo in gai_strerrorA decl checking
14754         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
14755         shell code: it contained a 'break' that was not in a loop.
14756         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
14757         via a shell-language loop; this may have been true in old Autoconf
14758         versions, but it's not true in Autoconf 2.68.  I found this bug
14759         when testing coreutils git on Solaris 8, whose shell complains
14760         about the syntax error.
14761
14762 2011-08-12  Simon Josefsson  <simon@josefsson.org>
14763
14764         * lib/base64.c: Fix comment to reference RFC 4648.
14765         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
14766         <gvtulder@gmail.com>.
14767
14768 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14769
14770         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
14771
14772         po/Makefile.in.in: fix make -q problem
14773         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
14774         rule, since there's no file named 'check-macro-version' and its
14775         use as a file breaks make -q.
14776         (all): Don't depend on check-macro-version.
14777         (CHECK_MACRO_VERSION): New macro.
14778         (stamp-po): Use it.
14779
14780         configmake: fix make -q problem
14781         * modules/configmake (configmake.h): Update configmake.h's time stamp
14782         even if the file does not change.  Otherwise, 'make -q' fails.
14783         Problem reported by Simon Josefsson in
14784         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
14785
14786 2011-08-11  Jim Meyering  <meyering@redhat.com>
14787
14788         git-version-gen: correct the advice in a comment
14789         * build-aux/git-version-gen: Correct comment.
14790         Don't recommend to list .tarball-version in .gitignore.
14791
14792 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14793
14794         base64: fix off-by-one buffer size bug
14795         Problem and (trivial) fix reported by Gijs van Tulder in
14796         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
14797         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
14798         * tests/test-base64.c (main): Catch the bug.
14799
14800 2011-08-10  Eric Blake  <eblake@redhat.com>
14801
14802         closein: correct comments
14803         * lib/closein.c (close_stdin): Improve comments.
14804
14805 2011-08-09  Bruno Haible  <bruno@clisp.org>
14806
14807         More tests for 'fseeko'.
14808         * tests/test-fseeko3.c: New file, from Eric Blake.
14809         * tests/test-fseeko3.sh: New file.
14810         * modules/fseeko-tests (Files): Add them.
14811         (TESTS): Add test-fseeko3.sh.
14812         (check_PROGRAMS): Add test-fseeko3.
14813
14814 2011-08-09  Eric Blake  <eblake@redhat.com>
14815
14816         fseeko: remove unneeded hack
14817         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
14818
14819         fseeko: fix bug on glibc
14820         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
14821         Reported by John W. Eaton.
14822
14823 2011-08-08  Bruno Haible  <bruno@clisp.org>
14824
14825         unictype/base: Fix interoperability with preinstalled libunistring.
14826         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
14827         Reported by Simon Josefsson.
14828
14829 2011-08-08  Bruno Haible  <bruno@clisp.org>
14830
14831         iswblank: Detect declaration correctly.
14832         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
14833         AC_CHECK_DECLS invocation.
14834
14835 2011-08-08  Bruno Haible  <bruno@clisp.org>
14836
14837         tcgetsid: Detect declaration correctly.
14838         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
14839         AC_CHECK_DECLS invocation.
14840         Reported by Simon Josefsson.
14841
14842 2011-08-08  Eric Blake  <eblake@redhat.com>
14843
14844         largefile: fix typo that regressed large file support
14845         * modules/largefile (configure.ac-early): Fix section name.
14846
14847 2011-08-06  Karl Berry  <karl@gnu.org>
14848
14849         * MODULES.html.sh (func_all_files): _Noreturn is no longer
14850         a separate module.
14851
14852 2011-08-05  Simon Josefsson  <simon@josefsson.org>
14853
14854         openat: Fix warnings and commens when building unlinkat.c on Hurd.
14855         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
14856         get prototype for free.
14857
14858 2011-08-04  Bruno Haible  <bruno@clisp.org>
14859
14860         Tests for module 'pathmax'.
14861         * modules/pathmax-tests: New file.
14862         * tests/test-pathmax.c: New file.
14863
14864         canonicalize-lgpl: Support larger filenames on the Hurd.
14865         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
14866         Reported by Paul Eggert.
14867
14868         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
14869         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
14870         * lib/chdir-long.h: Include pathmax.h.
14871         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
14872         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
14873         (PATH_MAX): Remove code that is done by pathmax.h.
14874         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
14875         * lib/tmpfile.c: Add a comment.
14876         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
14877         * modules/chdir-long (Depends-on): Add pathmax.
14878         * modules/getcwd (Depends-on): Add pathmax.
14879         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
14880         is not defined.
14881         * doc/posix-headers/limits.texi: Mention the pathmax module.
14882         * NEWS: Mention the change.
14883
14884 2011-08-02  Bruno Haible  <bruno@clisp.org>
14885
14886         pthread_sigmask: Actually use results of gl_THREADLIB.
14887         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
14888         gl_THREADLIB, not gl_[]THREADLIB.
14889         Reported by Eric Blake.
14890
14891 2011-08-02  Jim Meyering  <meyering@redhat.com>
14892
14893         maint.mk: relax the default _gl_TS_function_match regexp
14894         * top/maint.mk (_gl_TS_function_match): Don't require at least one
14895         space between function name and "(" in an "extern" declaration.
14896         That would fail to match a decl with no space there: extern void foo();
14897
14898 2011-07-31  Iain Nicol  <iain@thenicols.net>
14899
14900         git-version-gen: document that EXTRA_DIST must include .version
14901         * build-aux/git-version-gen: In the how-to-use comment, document
14902         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
14903         will fail when run from an unpacked distribution tarball.
14904
14905 2011-08-01  Bruno Haible  <bruno@clisp.org>
14906
14907         wctype-h: Fix last change.
14908         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
14909         REPLACE_TOWLOWER to 0.
14910         Reported by Sam Steingold <sds@gnu.org>.
14911
14912 2011-07-31  Bruno Haible  <bruno@clisp.org>
14913
14914         frexpl: Update autoconf test.
14915         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
14916         according to changes of 2011-06-20.
14917
14918 2011-07-31  Bruno Haible  <bruno@clisp.org>
14919
14920         sys_utsname: Add support for Minix.
14921         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
14922         <sys/utsname.h>.
14923         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14924         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
14925
14926 2011-07-31  Bruno Haible  <bruno@clisp.org>
14927
14928         strings: Add support for Minix.
14929         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
14930         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
14931         * doc/posix-headers/strings.texi: Document the Minix problem.
14932
14933 2011-07-31  Bruno Haible  <bruno@clisp.org>
14934
14935         wctype-h: Add support for Minix.
14936         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
14937         REPLACE_TOWLOWER.
14938         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
14939         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
14940         REPLACE_ISWCNTRL.
14941
14942 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
14943
14944         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
14945         This is a performance improvement for 64-bit hosts: it causes the
14946         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
14947
14948 2011-07-31  Bruno Haible  <bruno@clisp.org>
14949
14950         stdioext: Add support for Minix.
14951         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
14952         * lib/fpurge.c (fpurge): Likewise.
14953         * lib/freadahead.c (freadahead): Likewise.
14954         * lib/freadable.c (freadable): Likewise.
14955         * lib/freading.c (freading): Likewise.
14956         * lib/freadptr.c (freadptr): Likewise.
14957         * lib/freadseek.c (freadptrinc): Likewise.
14958         * lib/fseeko.c (rpl_fseeko): Likewise.
14959         * lib/fseterr.c (fseterr): Likewise.
14960         * lib/fwritable.c (fwritable): Likewise.
14961         * lib/fwriting.c (fwriting): Likewise.
14962         * lib/fflush.c (clear_ungetc_buffer): Update comment.
14963         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
14964
14965 2011-07-31  Bruno Haible  <bruno@clisp.org>
14966
14967         errno: Port to Minix.
14968         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
14969         ECONNABORTED are defined.
14970         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
14971         GNULIB_defined_ECONNABORTED): New macros.
14972         * lib/strerror-override.h (strerror_override): Test also
14973         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
14974         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
14975         ECONNABORTED.
14976         * doc/posix-headers/errno.texi: Mention the Minix problem.
14977
14978 2011-07-31  Bruno Haible  <bruno@clisp.org>
14979
14980         Work around declaration collisions on Minix.
14981         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
14982         defined, set REPLACE_MBSINIT.
14983         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
14984         defined, set REPLACE_MBRTOWC.
14985         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
14986         set REPLACE_MBRLEN.
14987         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
14988         defined, set REPLACE_MBSRTOWCS.
14989         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
14990         defined, set REPLACE_WCRTOMB.
14991         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
14992         defined, set REPLACE_WCSRTOMBS.
14993
14994 2011-07-31  Bruno Haible  <bruno@clisp.org>
14995
14996         Add support for Minix with ACK compiler.
14997         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
14998         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
14999         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
15000
15001 2011-07-31  Bruno Haible  <bruno@clisp.org>
15002
15003         Documentation about Minix.
15004         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
15005         * doc/glibc-headers/*.texi: Likewise.
15006         * doc/posix-functions/*.texi: Likewise.
15007         * doc/glibc-functions/*.texi: Likewise.
15008
15009 2011-07-31  Bruno Haible  <bruno@clisp.org>
15010
15011         snippet/warn-on-use: Fix indentation.
15012         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
15013
15014 2011-07-25  Jim Meyering  <meyering@redhat.com>
15015
15016         tests: test-update-copyright.sh: remove unnecessary "rm" commands
15017         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
15018         commands.
15019
15020 2011-07-27  Jim Meyering  <meyering@redhat.com>
15021
15022         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
15023         * top/maint.mk (gl_extract_significant_defines_): Now that
15024         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
15025         gnulib/lib/signal.in.h, and now that we recommend to
15026         define-if-undefined those two symbols in application code,
15027         we must filter them out of the "significant" list.
15028         This avoids a "make syntax-check" failure in coreutils.
15029
15030 2011-07-26  Eric Blake  <eblake@redhat.com>
15031
15032         warnings: add comments about previous patch
15033         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
15034         * m4/include_next.m4: Likewise.
15035         * m4/warn-on-use.m4: Likewise.
15036         * m4/warnings.m4: Likewise, and simplify use.
15037         Suggested by Stefano Lattarini.
15038
15039         include-next, warnings: support older autoconf
15040         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
15041         AS_VAR_PUSHDEF in a way that works with older autoconf.
15042         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
15043         Reported by Daniel P. Berrange.
15044
15045 2011-07-25  Bruno Haible  <bruno@clisp.org>
15046
15047         fseek, ftell: Fix doc.
15048         * doc/posix-functions/fseek.texi: Reword statement about
15049         AC_SYS_LARGEFILE.
15050         * doc/posix-functions/ftell.texi: Likewise.
15051
15052 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15053             Bruno Haible  <bruno@clisp.org>
15054
15055         Add dependencies to the 'largefile' module.
15056         * modules/fopen (Depends-on): Add 'largefile'.
15057         * modules/freopen (Depends-on): Likewise.
15058         * modules/fseeko (Depends-on): Likewise.
15059         * modules/ftello (Depends-on): Likewise.
15060         * modules/glob (Depends-on): Likewise.
15061         * modules/lseek (Depends-on): Likewise.
15062         * modules/lstat (Depends-on): Likewise.
15063         * modules/mkostemp (Depends-on): Likewise.
15064         * modules/mkostemps (Depends-on): Likewise.
15065         * modules/mkstemp (Depends-on): Likewise.
15066         * modules/mkstemps (Depends-on): Likewise.
15067         * modules/open (Depends-on): Likewise.
15068         * modules/openat (Depends-on): Likewise.
15069         * modules/pread (Depends-on): Likewise.
15070         * modules/pwrite (Depends-on): Likewise.
15071         * modules/scandir (Depends-on): Likewise.
15072         * modules/stat (Depends-on): Likewise.
15073         * modules/tmpfile (Depends-on): Likewise.
15074         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
15075         since the containing module now depends on the largefile module.
15076         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
15077         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
15078         off_t is fixed by gnulib.
15079         * doc/posix-functions/freopen.texi: Likewise.
15080         * doc/posix-functions/fseeko.texi: Likewise.
15081         * doc/posix-functions/fstatat.texi: Likewise.
15082         * doc/posix-functions/ftello.texi: Likewise.
15083         * doc/posix-functions/glob.texi: Likewise.
15084         * doc/posix-functions/lseek.texi: Likewise.
15085         * doc/posix-functions/lstat.texi: Likewise.
15086         * doc/posix-functions/mkstemp.texi: Likewise.
15087         * doc/posix-functions/open.texi: Likewise.
15088         * doc/posix-functions/openat.texi: Likewise.
15089         * doc/posix-functions/pread.texi: Likewise.
15090         * doc/posix-functions/pwrite.texi: Likewise.
15091         * doc/posix-functions/scandir.texi: Likewise.
15092         * doc/posix-functions/stat.texi: Likewise.
15093         * doc/posix-functions/tmpfile.texi: Likewise.
15094         * doc/glibc-functions/mkostemp.texi: Likewise.
15095         * doc/glibc-functions/mkostemps.texi: Likewise.
15096         * doc/glibc-functions/mkstemps.texi: Likewise.
15097
15098 2011-07-25  Bruno Haible  <bruno@clisp.org>
15099
15100         fcntl: Move AC_LIBOBJ invocation to module description.
15101         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
15102         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
15103
15104         fcntl: Remove call-in from fchdir.m4.
15105         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
15106         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
15107
15108         dup3: Remove potential call-in from fchdir.m4.
15109         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
15110         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
15111
15112         dup2: Move AC_LIBOBJ invocation to module description.
15113         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
15114         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
15115         Don't invoke AC_LIBOBJ.
15116         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
15117
15118         dup2: Remove call-in from fchdir.m4.
15119         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
15120         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
15121
15122         fclose: Move AC_LIBOBJ invocation to module description.
15123         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
15124         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
15125         to 1.
15126         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
15127
15128         fclose: Remove call-in from close.m4.
15129         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
15130         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
15131
15132         close: Move AC_LIBOBJ invocation to module description.
15133         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
15134         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
15135         1.
15136         * modules/close (configure.ac): Invoke AC_LIBOBJ.
15137
15138         close: Remove call-in from fchdir.m4.
15139         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
15140         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
15141
15142         open: Move AC_LIBOBJ invocation to module description.
15143         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
15144         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
15145         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
15146
15147         open: Remove call-in from fchdir.m4.
15148         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
15149         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
15150
15151         fchdir: Start to remove gl_REPLACE_* idiom.
15152         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
15153         (gl_FUNC_FCHDIR): Invoke it.
15154
15155 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15156
15157         * lib/ftell.c (ftell): Comment out cast.
15158
15159         close: use gl_REPLACE_FCLOSE only if defined
15160         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
15161         is defined.  The close module doesn't depend on the fclose module
15162         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
15163         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
15164         I reproduced the problem with "./gnulib-tool --test close sys_socket".
15165
15166 2011-07-24  Jim Meyering  <meyering@redhat.com>
15167
15168         test-select.h: avoid warning when using gcc's -Wmissing-declarations
15169         * tests/test-select.h (test_function): Declare as "static".
15170
15171 2011-07-24  Bruno Haible  <bruno@clisp.org>
15172
15173         doc: Mention the effects of AC_SYS_LARGEFILE.
15174         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
15175         on this function.
15176         * doc/posix-functions/aio_error.texi: Likewise.
15177         * doc/posix-functions/aio_fsync.texi: Likewise.
15178         * doc/posix-functions/aio_read.texi: Likewise.
15179         * doc/posix-functions/aio_return.texi: Likewise.
15180         * doc/posix-functions/aio_suspend.texi: Likewise.
15181         * doc/posix-functions/aio_write.texi: Likewise.
15182         * doc/posix-functions/fgetpos.texi: Likewise.
15183         * doc/posix-functions/fopen.texi: Likewise.
15184         * doc/posix-functions/freopen.texi: Likewise.
15185         * doc/posix-functions/fsetpos.texi: Likewise.
15186         * doc/posix-functions/fstatvfs.texi: Likewise.
15187         * doc/posix-functions/ftruncate.texi: Likewise.
15188         * doc/posix-functions/ftw.texi: Likewise.
15189         * doc/posix-functions/getrlimit.texi: Likewise.
15190         * doc/posix-functions/glob.texi: Likewise.
15191         * doc/posix-functions/lio_listio.texi: Likewise.
15192         * doc/posix-functions/lockf.texi: Likewise.
15193         * doc/posix-functions/mkstemp.texi: Likewise.
15194         * doc/posix-functions/mmap.texi: Likewise.
15195         * doc/posix-functions/nftw.texi: Likewise.
15196         * doc/posix-functions/openat.texi: Likewise.
15197         * doc/posix-functions/opendir.texi: Likewise.
15198         * doc/posix-functions/posix_fadvise.texi: Likewise.
15199         * doc/posix-functions/posix_fallocate.texi: Likewise.
15200         * doc/posix-functions/pread.texi: Likewise.
15201         * doc/posix-functions/pwrite.texi: Likewise.
15202         * doc/posix-functions/readdir.texi: Likewise.
15203         * doc/posix-functions/readdir_r.texi: Likewise.
15204         * doc/posix-functions/rewinddir.texi: Likewise.
15205         * doc/posix-functions/scandir.texi: Likewise.
15206         * doc/posix-functions/seekdir.texi: Likewise.
15207         * doc/posix-functions/setrlimit.texi: Likewise.
15208         * doc/posix-functions/statvfs.texi: Likewise.
15209         * doc/posix-functions/telldir.texi: Likewise.
15210         * doc/posix-functions/tmpfile.texi: Likewise.
15211         * doc/posix-functions/truncate.texi: Likewise.
15212         * doc/glibc-functions/fallocate.texi: Likewise.
15213         * doc/glibc-functions/fstatfs.texi: Likewise.
15214         * doc/glibc-functions/fts_children.texi: Likewise.
15215         * doc/glibc-functions/fts_read.texi: Likewise.
15216         * doc/glibc-functions/getdirentries.texi: Likewise.
15217         * doc/glibc-functions/mkostemp.texi: Likewise.
15218         * doc/glibc-functions/mkostemps.texi: Likewise.
15219         * doc/glibc-functions/mkstemps.texi: Likewise.
15220         * doc/glibc-functions/preadv.texi: Likewise.
15221         * doc/glibc-functions/pwritev.texi: Likewise.
15222         * doc/glibc-functions/sendfile.texi: Likewise.
15223         * doc/glibc-functions/statfs.texi: Likewise.
15224
15225 2011-07-24  Bruno Haible  <bruno@clisp.org>
15226
15227         doc: Fix typo.
15228         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
15229
15230 2011-07-24  Bruno Haible  <bruno@clisp.org>
15231
15232         doc: Mention fsusage.
15233         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
15234
15235 2011-07-24  Bruno Haible  <bruno@clisp.org>
15236
15237         doc: Mention new glibc headers and functions.
15238         * doc/glibc-headers/gshadow.texi: New file.
15239         * doc/glibc-functions/endsgent.texi: New file.
15240         * doc/glibc-functions/fgetsgent.texi: New file.
15241         * doc/glibc-functions/fgetsgent_r.texi: New file.
15242         * doc/glibc-functions/getsgent.texi: New file.
15243         * doc/glibc-functions/getsgent_r.texi: New file.
15244         * doc/glibc-functions/getsgnam.texi: New file.
15245         * doc/glibc-functions/getsgnam_r.texi: New file.
15246         * doc/glibc-functions/putsgent.texi: New file.
15247         * doc/glibc-functions/setsgent.texi: New file.
15248         * doc/glibc-functions/sgetsgent.texi: New file.
15249         * doc/glibc-functions/sgetsgent_r.texi: New file.
15250         * doc/glibc-functions/malloc_info.texi: New file.
15251         * doc/glibc-functions/preadv.texi: New file.
15252         * doc/glibc-functions/pwritev.texi: New file.
15253         * doc/glibc-functions/register_printf_modifier.texi: New file.
15254         * doc/glibc-functions/register_printf_specifier.texi: New file.
15255         * doc/glibc-functions/register_printf_type.texi: New file.
15256         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
15257         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
15258         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
15259         * doc/glibc-functions/pthread_getname_np.texi: New file.
15260         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
15261         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
15262         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
15263         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
15264         * doc/glibc-functions/pthread_setname_np.texi: New file.
15265         * doc/glibc-functions/pthread_sigqueue.texi: New file.
15266         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
15267         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
15268         * doc/glibc-functions/qsort_r.texi: New file.
15269         * doc/glibc-functions/quick_exit.texi: New file.
15270         * doc/glibc-functions/syncfs.texi: New file.
15271         * doc/gnulib.texi: Include them.
15272         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
15273         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
15274         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
15275         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
15276         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
15277         * doc/glibc-functions/execvpe.texi: Likewise.
15278
15279 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15280
15281         ftell: don't include <unistd.h>
15282         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
15283         guaranteed to define off_t, and the ftell module depends on the
15284         stdio module.
15285
15286         ftell: do not assume wraparound signed arithmetic
15287         * lib/ftell.c: Include <limits.h>.
15288         (ftell): Don't assume wraparound signed arithmetic.
15289
15290 2011-07-24  Bruno Haible  <bruno@clisp.org>
15291
15292         close: No longer depend on module 'fclose'.
15293         * modules/close (Depends-on): Remove fclose.
15294         * NEWS: Mention the change.
15295         Suggested by Sam Steingold <sds@gnu.org>.
15296
15297 2011-07-24  Bruno Haible  <bruno@clisp.org>
15298
15299         fsusage: Enable large volume support on AIX >= 5.2.
15300         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
15301         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
15302         instead of STAT_STATVFS.
15303         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
15304
15305         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
15306         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
15307         f_blocks field only on MacOS X.
15308
15309         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
15310         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
15311         * modules/fsusage (Depends-on): Add largefile.
15312
15313 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15314
15315         * README: Modernize discussion of signed integers.
15316         Assuming overflow wraparound is no longer safe.
15317         Mention ones' complement and signed magnitude.
15318
15319 2011-07-22  Bruno Haible  <bruno@clisp.org>
15320
15321         select tests, pselect tests: Refactor.
15322         * tests/test-select.h: New file, extracted from tests/test-select.c.
15323         (select_fn): New type.
15324         (test, do_select, do_select_nowait, do_select_wait, test_tty,
15325         test_connect_first, test_accept_first, test_pair, test_socket_pair,
15326         test_pipe): Add my_select argument.
15327         (test_function): Renamed from main. Add my_select argument.
15328         * tests/test-select.c: Move most code to tests/test-select.h. Include
15329         test-select.h.
15330         * modules/select-tests (Files): Add tests/test-select.h.
15331         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
15332         (my_select, main): New functions.
15333         * modules/pselect-tests (Files): Add tests/test-select.h,
15334         tests/macros.h, tests/signature.h.
15335         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
15336         (configure.ac): Check for <sys/wait.h>.
15337
15338 2011-07-22  Bruno Haible  <bruno@clisp.org>
15339
15340         sys_select tests: Check the signature of FD_*.
15341         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
15342         signature tests from here...
15343         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
15344         here.
15345         * modules/sys_select-tests (Files): Add tests/signature.h.
15346
15347 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15348
15349         largefile: new module, replacing large-inode
15350         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
15351         * MODULES.html.sh: Add largefile, remove large-inode.
15352         * modules/largefile, m4/largefile.m4: New files.
15353         * modules/large-inode, m4/large-inode.m4: Remove.
15354
15355         fsusage: port to MacOS X 10.7 with 4 TiB file systems
15356         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
15357         implementations that use only 32 bits to count blocks.
15358         On typical hosts with 1024-byte blocks, this fails with file
15359         systems as small as 4 TiB.  Problem reported by Herb Wartens
15360         <http://debbugs.gnu.org/9140> and this should also fix a similar
15361         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
15362
15363         large-inode: New module
15364         * MODULES.html.sh: Add it.
15365         * modules/large-inode, m4/large-inode.m4: New files.
15366
15367         extensions: Enable extensions on MacOS X 10.5 and later.
15368         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
15369
15370 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
15371
15372         file-has-acl: use acl_extended_file_nofollow if available
15373         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
15374         (acl_extended_file): New macro.
15375         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
15376         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
15377
15378 2011-07-21  Bruno Haible  <bruno@clisp.org>
15379
15380         Declare system functions in a way that works with C++.
15381         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
15382         declare fdopendir as extern "C".
15383         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
15384         declare frexpl as extern "C".
15385         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
15386         declare gai_strerror as extern "C".
15387         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
15388         programs, declare gai_strerror as extern "C".
15389         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
15390         declare getlogin_r as extern "C".
15391         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
15392         as extern "C".
15393         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
15394         declare ldexpl as extern "C".
15395         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
15396         as extern "C".
15397         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
15398         program, declare getmntinfo as extern "C".
15399         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
15400         stpncpy as extern "C".
15401         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
15402         program, declare __xpg_strerror_r as extern "C".
15403         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
15404         strndup as extern "C".
15405         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
15406         declare memset and bzero as extern "C".
15407         Reported by Sam Steingold <sds@gnu.org>.
15408
15409 2011-07-12  Jim Meyering  <meyering@redhat.com>
15410
15411         maint.mk: prohibit inclusion of "verify.h" without use
15412         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
15413
15414 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15415
15416         timer-time: A new module to check for timer_settime()
15417         * m4/timer_time.m4: Check for the posix function.
15418         * modules/timer-time: Add the new module.
15419         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
15420         Mention it.
15421
15422 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
15423             Bruno Haible  <bruno@clisp.org>
15424
15425         pthread_sigmask: assume POSIX threads if --avoid=threadlib
15426         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
15427         not defined, assume POSIX threads and look for pthread_sigmask in
15428         $LIBS, without changing $CPPFLAGS.
15429
15430 2011-07-19  Bruno Haible  <bruno@clisp.org>
15431
15432         strstr: Update cross-compilation guess.
15433         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
15434         CPUs, guess no, in view of glibc
15435         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
15436         Suggested by Eric Blake. Reported by Reuben Thomas.
15437
15438 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15439
15440         getopt-gnu: suppress core dumps from detection code
15441         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
15442         to suppress core dumps that may well occur on glibc systems.
15443         * modules/getopt-gnu: Depend on nocrash.
15444
15445 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15446
15447         pthread_sigmask: ensure usleep is declared
15448         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
15449         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
15450
15451 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15452
15453         doc: Document NonStop portability issues.
15454         * doc/posix-functions/sigaction.texi (sigaction):
15455         * doc/posix-headers/signal.texi (signal.h):
15456         Document NonStop.  See Joachim Schmitz in
15457         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
15458
15459 2011-07-15  Bruno Haible  <bruno@clisp.org>
15460
15461         ffsl, ffsll: Avoid unportable behaviour.
15462         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
15463
15464 2011-07-15  Bruno Haible  <bruno@clisp.org>
15465
15466         ffs: More tests.
15467         * tests/test-ffs.c (NBITS): New macro.
15468         (main): Add more tests.
15469         * tests/test-ffsl.c (NBITS): New macro.
15470         (main): Add more tests.
15471         * tests/test-ffsll.c (NBITS): New macro.
15472         (main): Add more tests.
15473
15474 2011-07-15  Eric Blake  <eblake@redhat.com>
15475
15476         ffsl, ffsll: new modules
15477         * modules/ffsl: New file.
15478         * modules/ffsll: Likewise.
15479         * m4/ffsl.m4: Likewise.
15480         * m4/ffsll.m4: Likewise.
15481         * lib/ffsl.c: Likewise.
15482         * lib/ffsl.h: Likewise.
15483         * lib/ffsll.c: Likewise.
15484         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
15485         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
15486         * modules/string (Makefile.am): Substitute witnesses.
15487         * lib/strings.in.h (ffsl, ffsll): Declare.
15488         * modules/ffsl-tests: New test file.
15489         * modules/ffsll-tests: Likewise.
15490         * tests/test-ffsl.c: Likewise.
15491         * tests/test-ffsll.c: Likewise.
15492         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15493         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
15494         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
15495
15496         ffs: fix m4 prerequisite
15497         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
15498
15499         ffs: avoid undefined behavior
15500         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
15501         * tests/test-ffs.c (naive, main): Avoid signed shifts.
15502         Reported by Bruno Haible.
15503
15504 2011-07-12  Bruno Haible  <bruno@clisp.org>
15505
15506         pthread_sigmask: Rely on module 'threadlib'.
15507         * modules/pthread_sigmask (Depends-on): Add threadlib.
15508         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
15509         is defined.
15510
15511 2011-07-12  Bruno Haible  <bruno@clisp.org>
15512
15513         regex: Depend on module 'strcase'.
15514         * modules/regex (Depends-on): Add strcase, for strcasecmp().
15515
15516 2011-07-12  Jim Meyering  <meyering@redhat.com>
15517
15518         warn-on-use: fix typo in file name
15519         * modules/snippet/warn-on-use (Files): Correct file name:
15520         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
15521
15522 2011-07-12  Bruno Haible  <bruno@clisp.org>
15523
15524         strings: Document module.
15525         * doc/posix-headers/strings.texi: Mention module 'strings'.
15526
15527 2011-07-12  Bruno Haible  <bruno@clisp.org>
15528
15529         Rename module '_Noreturn' to 'snippet/_Noreturn'.
15530         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
15531         (Files, Makefile.am): Update.
15532         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
15533         * modules/stdlib (Depends-on): Update.
15534
15535 2011-07-12  Bruno Haible  <bruno@clisp.org>
15536
15537         * NEWS: Mention the changes.
15538
15539         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
15540         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
15541         (Files, Makefile.am): Update.
15542         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
15543         * modules/arpa_inet (Depends-on): Update.
15544         * modules/ctype (Depends-on): Update.
15545         * modules/dirent (Depends-on): Update.
15546         * modules/fcntl-h (Depends-on): Update.
15547         * modules/glob (Depends-on): Update.
15548         * modules/iconv-h (Depends-on): Update.
15549         * modules/inttypes-incomplete (Depends-on): Update.
15550         * modules/langinfo (Depends-on): Update.
15551         * modules/locale (Depends-on): Update.
15552         * modules/math (Depends-on): Update.
15553         * modules/netdb (Depends-on): Update.
15554         * modules/poll-h (Depends-on): Update.
15555         * modules/pty (Depends-on): Update.
15556         * modules/search (Depends-on): Update.
15557         * modules/signal (Depends-on): Update.
15558         * modules/spawn (Depends-on): Update.
15559         * modules/stdio (Depends-on): Update.
15560         * modules/stdlib (Depends-on): Update.
15561         * modules/string (Depends-on): Update.
15562         * modules/strings (Depends-on): Update.
15563         * modules/sys_file (Depends-on): Update.
15564         * modules/sys_ioctl (Depends-on): Update.
15565         * modules/sys_select (Depends-on): Update.
15566         * modules/sys_socket (Depends-on): Update.
15567         * modules/sys_stat (Depends-on): Update.
15568         * modules/sys_time (Depends-on): Update.
15569         * modules/sys_times (Depends-on): Update.
15570         * modules/sys_utsname (Depends-on): Update.
15571         * modules/sys_wait (Depends-on): Update.
15572         * modules/termios (Depends-on): Update.
15573         * modules/time (Depends-on): Update.
15574         * modules/unistd (Depends-on): Update.
15575         * modules/wchar (Depends-on): Update.
15576         * modules/wctype-h (Depends-on): Update.
15577         * MODULES.html.sh (Support for building libraries and executables):
15578         Update.
15579
15580         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
15581         * modules/snippet/unused-parameter: Renamed from
15582         modules/unused-parameter.
15583         (Files, Makefile.am): Update.
15584         * build-aux/snippet/unused-parameter.h: Renamed from
15585         build-aux/unused-parameter.h.
15586         * modules/selinux-h (Depends-on): Update.
15587         * modules/unistr/base (Depends-on): Update.
15588         * MODULES.html.sh (Core language properties): Update.
15589
15590         Rename module 'link-warning' to 'snippet/link-warning'.
15591         * modules/snippet/link-warning: Renamed from modules/link-warning.
15592         (Files, Makefile.am): Update.
15593         * build-aux/snippet/link-warning.h: Renamed from
15594         build-aux/link-warning.h.
15595         * MODULES.html.sh (Support for building libraries and executables):
15596         Update.
15597
15598         Rename module 'c++defs' to 'snippet/c++defs'.
15599         * modules/snippet/c++defs: Renamed from modules/c++defs.
15600         (Files, Makefile.am): Update.
15601         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
15602         * modules/arpa_inet (Depends-on): Update.
15603         * modules/ctype (Depends-on): Update.
15604         * modules/dirent (Depends-on): Update.
15605         * modules/fcntl-h (Depends-on): Update.
15606         * modules/glob (Depends-on): Update.
15607         * modules/iconv-h (Depends-on): Update.
15608         * modules/langinfo (Depends-on): Update.
15609         * modules/locale (Depends-on): Update.
15610         * modules/math (Depends-on): Update.
15611         * modules/netdb (Depends-on): Update.
15612         * modules/poll-h (Depends-on): Update.
15613         * modules/pty (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_ioctl (Depends-on): Update.
15622         * modules/sys_select (Depends-on): Update.
15623         * modules/sys_socket (Depends-on): Update.
15624         * modules/sys_stat (Depends-on): Update.
15625         * modules/sys_time (Depends-on): Update.
15626         * modules/sys_wait (Depends-on): Update.
15627         * modules/termios (Depends-on): Update.
15628         * modules/time (Depends-on): Update.
15629         * modules/unistd (Depends-on): Update.
15630         * modules/wchar (Depends-on): Update.
15631         * modules/wctype-h (Depends-on): Update.
15632
15633         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
15634         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
15635         (Files, Makefile.am): Update.
15636         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
15637         * modules/argv-iter (Depends-on): Update.
15638         * modules/arpa_inet (Depends-on): Update.
15639         * modules/dirent (Depends-on): Update.
15640         * modules/fcntl-h (Depends-on): Update.
15641         * modules/fnmatch (Depends-on): Update.
15642         * modules/getopt-posix (Depends-on): Update.
15643         * modules/glob (Depends-on): Update.
15644         * modules/iconv-h (Depends-on): Update.
15645         * modules/inttypes-incomplete (Depends-on): Update.
15646         * modules/locale (Depends-on): Update.
15647         * modules/math (Depends-on): Update.
15648         * modules/netdb (Depends-on): Update.
15649         * modules/search (Depends-on): Update.
15650         * modules/signal (Depends-on): Update.
15651         * modules/spawn (Depends-on): Update.
15652         * modules/stdio (Depends-on): Update.
15653         * modules/stdlib (Depends-on): Update.
15654         * modules/string (Depends-on): Update.
15655         * modules/strings (Depends-on): Update.
15656         * modules/sys_socket (Depends-on): Update.
15657         * modules/sys_stat (Depends-on): Update.
15658         * modules/sys_time (Depends-on): Update.
15659         * modules/sys_times (Depends-on): Update.
15660         * modules/sys_utsname (Depends-on): Update.
15661         * modules/time (Depends-on): Update.
15662         * modules/unistd (Depends-on): Update.
15663         * modules/wchar (Depends-on): Update.
15664         * MODULES.html.sh (Support for building libraries and executables):
15665         Update.
15666
15667 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15668
15669         Improvements on _Noreturn and related modules.
15670
15671         modules/_Exit-tests: test _Noreturn too
15672         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
15673         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
15674         (main): Use them.
15675
15676         stdnoreturn, stdnoreturn-tests: remove modules
15677         They're not needed here and a bit premature for use elsewhere.  See
15678         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
15679         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
15680         * tests/test-stdnoreturn.c: Remove files.
15681         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
15682         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
15683         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
15684         and using noreturn.
15685         * modules/openat, modules/sigpipe-die, modules/xalloc:
15686         * modules/xmemdup0, modules/xstrtol:
15687         Remove dependency on stdnoreturn.
15688
15689         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
15690         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
15691         Reparenthesize to avoid GCC warning.
15692         Support Microsoft's syntax.
15693         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
15694
15695         _Noreturn-tests: remove module
15696         * modules/_Noreturn-tests: Remove.
15697         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
15698         * tests/test-_Noreturn.c: Remove.
15699         * tests/test-stdnoreturn.c: Merge from the old
15700         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
15701
15702 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15703
15704         _Noreturn, stdnoreturn, and related modules.
15705
15706         * top/maint.mk: Adjust to new noreturn support.
15707         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
15708         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
15709
15710         xalloc: use stdnoreturn.h
15711         * lib/xalloc.h: Include <stdnoreturn.h>.
15712         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15713         * modules/xalloc (Depends-on): Add stdnoreturn.
15714
15715         xstrtol: use stdnoreturn.h
15716         * lib/xstrtol.h: Include <stdnoreturn.h>.
15717         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15718         * modules/xstrtol (Depends-on): Add stdnoreturn.
15719
15720         xmemdup0: use stdnoreturn.h
15721         * lib/xmemdup0.h: Include <stdnoreturn.h>.
15722         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15723         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
15724
15725         sigpipe-die: use stdnoreturn.h
15726         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
15727         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15728         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
15729
15730         openat: use stdnoreturn.h
15731         * lib/openat.h: Include <stdnoreturn.h>.
15732         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15733         * modules/openat (Depends-on): Add stdnoreturn.
15734
15735         * lib/openat-die.c (openat_save_fail): Modernize comment.
15736
15737         * lib/xalloc-die.c (xalloc_die): Modernize comment.
15738
15739         * lib/glthread/thread.h: Modernize comment.
15740
15741         obstack: use _Noreturn
15742         * lib/obstack.c (__attribute__): Remove macro.
15743         (print_and_abort): Use _Noreturn.
15744
15745         c-stack: use _Noreturn
15746         * lib/c-stack.c (die, overflow_handler, segv_handler):
15747         Use _Noreturn rather than __attribute__((noreturn)).
15748
15749         argmatch-tests, exclude_tests: use _Noreturn
15750         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
15751         Remove.
15752         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
15753
15754         stdlib: use _Noreturn
15755         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
15756         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
15757         * modules/stdlib (Depends-on): Add _Noreturn.
15758         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
15759
15760         stdnoreturn-tests: new module
15761         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
15762
15763         stdnoreturn: new module
15764         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
15765         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
15766
15767         _Noreturn-tests: new module
15768         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
15769
15770         _Noreturn: new module
15771         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
15772         New section, mentioning it.
15773         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
15774
15775         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
15776
15777 2011-07-11  Eric Blake  <eblake@redhat.com>
15778
15779         ffs: new module
15780         * modules/ffs: New file.
15781         * m4/ffs.m4: Likewise.
15782         * lib/ffs.c: Likewise.
15783         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
15784         * modules/strings (Makefile.am): Substitute witness.
15785         (Depends-on): Add c++defs.
15786         * lib/strings.in.h (ffs): Declare.
15787         * modules/ffs-tests: New test file.
15788         * tests/test-ffs.c: Test new module.
15789         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15790         * doc/posix-functions/ffs.texi (ffs): Likewise.
15791
15792         regex: avoid compiler warning
15793         * lib/regex.c (includes): Include <strings.h>, for use of
15794         strcasecmp in regcomp.c.
15795         Reported by Joachim Schmitz.
15796
15797 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15798
15799         stdint: respect system's intmax_t if INTMAX_MAX
15800         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
15801         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
15802         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
15803         long but int64_t is long long, and where we will clash with the
15804         system intmax_t if we override it.  See
15805         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
15806         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
15807         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
15808         similarly for UINTMAX_C.
15809
15810 2011-07-08  Bruno Haible  <bruno@clisp.org>
15811
15812         pthread_sigmask tests: Avoid a compiler warning.
15813         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
15814         non-zero.
15815
15816         sigprocmask tests: A better way to avoid a compiler warning.
15817         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
15818         (main): Complain if system() returns non-zero.
15819         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
15820
15821 2011-07-08  Bruno Haible  <bruno@clisp.org>
15822
15823         pthread_sigmask: Work around IRIX bug.
15824         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
15825         bug.
15826         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
15827         there may be unblocked pending signals.
15828         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
15829
15830 2011-07-08  Bruno Haible  <bruno@clisp.org>
15831
15832         pthread_sigmask: Work around Cygwin bug.
15833         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
15834         bug.
15835         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
15836         the system's pthread_sigmask function.
15837         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
15838
15839 2011-07-08  Bruno Haible  <bruno@clisp.org>
15840
15841         pthread_sigmask: Work around bug in single-threaded implementation.
15842         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
15843         FreeBSD, HP-UX, Solaris bug.
15844         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
15845         * lib/pthread_sigmask.c: Include <stddef.h>.
15846         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
15847         the system's pthread_sigmask function.
15848         * modules/pthread_sigmask (configure.ac): Invoke
15849         gl_PREREQ_PTHREAD_SIGMASK.
15850         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
15851         HP-UX, Solaris.
15852
15853 2011-07-08  Eric Blake  <eblake@redhat.com>
15854
15855         test-sigprocmask: avoid compiler warning
15856         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
15857         * tests/test-sigprocmask.c (main): Use it to silence warning.
15858         Reported by Jim Meyering.
15859
15860         test-snprintf: avoid compiler warning
15861         * tests/test-snprintf.c (main): Avoid shadowed declaration.
15862         * tests/test-vsnprintf.c (main): Likewise.
15863         Reported by Jim Meyering.
15864
15865 2011-07-08  Bruno Haible  <bruno@clisp.org>
15866
15867         Tests for module 'pthread_sigmask'.
15868         * modules/pthread_sigmask-tests: New file.
15869         * tests/test-pthread_sigmask1.c: New file, based on
15870         tests/test-sigprocmask.c.
15871         * tests/test-pthread_sigmask2.c: New file.
15872
15873 2011-07-08  Jim Meyering  <meyering@redhat.com>
15874
15875         test-getopt.h: avoid warning about an unused variable
15876         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
15877
15878 2011-07-07  Jim Meyering  <meyering@redhat.com>
15879
15880         maint: reduce list of files exempt from sc_prohibit_leading_TABs
15881         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
15882         now that it no longer contains leading TABs.
15883         Remove unused "url=FIXME" statement.
15884
15885 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15886
15887         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
15888         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15889         When gl_THREADLIB is not in use, assume that the POSIX sematics
15890         are desired.  This is better for Emacs, which uses POSIX semantics
15891         on GNUish and/or POSIXish platforms, and does not use threads at
15892         all otherwise.
15893
15894         pthread_sigmask: fix typo when testing for libraries
15895         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15896         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
15897
15898 2011-07-08  Eric Blake  <eblake@redhat.com>
15899
15900         fts: introduce FTS_NOATIME
15901         * lib/fts_.h (FTS_NOATIME): New bit flag.
15902         (FTS_OPTIONMASK): Adjust.
15903         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
15904         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
15905
15906 2011-07-08  Bruno Haible  <bruno@clisp.org>
15907
15908         Tests for module 'thread'.
15909         * modules/thread-tests: New file.
15910         * tests/test-thread_self.c: New file.
15911         * tests/test-thread_create.cc: New file.
15912
15913 2011-07-08  Bruno Haible  <bruno@clisp.org>
15914
15915         thread: Avoid gcc warnings when using gl_thread_self().
15916         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
15917         'void *'.
15918         (gl_thread_self_pointer): Update.
15919
15920 2011-07-07  Bruno Haible  <bruno@clisp.org>
15921
15922         signal-c++-tests: Check declaration of pthread_sigmask.
15923         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
15924         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
15925         $(LIB_PTHREAD_SIGMASK).
15926
15927 2011-07-07  Bruno Haible  <bruno@clisp.org>
15928
15929         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
15930         * lib/signal.in.h (pthread_sigmask): Override if
15931         REPLACE_PTHREAD_SIGMASK is 1.
15932         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15933         REPLACE_PTHREAD_SIGMASK.
15934         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
15935         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
15936         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
15937         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15938         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
15939
15940 2011-07-07  Bruno Haible  <bruno@clisp.org>
15941
15942         pthread_sigmask: Ensure declaration in <signal.h>.
15943         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
15944         include <pthread.h>.
15945         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
15946         problem.
15947
15948 2011-07-07  Bruno Haible  <bruno@clisp.org>
15949
15950         pthread_sigmask: Document the module.
15951         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
15952
15953 2011-07-07  Bruno Haible  <bruno@clisp.org>
15954
15955         pthread_sigmask: Follow gnulib conventions.
15956         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
15957         gl_PTHREAD_SIGMASK.
15958         * modules/pthread_sigmask (configure.ac): Update.
15959
15960 2011-07-07  Bruno Haible  <bruno@clisp.org>
15961
15962         pthread_sigmask: Make declaration C++ safe.
15963         * lib/signal.in.h: In two special conditions, just do an #include_next.
15964         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15965         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
15966         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15967         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15968         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
15969         not REPLACE_PTHREAD_MASK.
15970         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
15971         not REPLACE_PTHREAD_MASK.
15972         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15973
15974 2011-07-07  Bruno Haible  <bruno@clisp.org>
15975
15976         pthread_sigmask: Fix return value.
15977         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
15978         * lib/pthread_sigmask.c: New file.
15979         * modules/pthread_sigmask (Files): Add it.
15980         (configure.ac): Invoke AC_LIBOBJ.
15981
15982 2011-07-07  Eric Blake  <eblake@redhat.com>
15983
15984         getopt: more portable argv creation
15985         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
15986         const, use char arrays rather than strings.
15987         Suggested by Paul Eggert.
15988
15989 2011-07-07  Bruno Haible  <bruno@clisp.org>
15990
15991         Tests for module 'sigprocmask'.
15992         * modules/sigprocmask-tests: New file.
15993         * tests/test-sigprocmask.c: New file.
15994
15995 2011-07-07  Bruno Haible  <bruno@clisp.org>
15996
15997         float tests: Tweak.
15998         * tests/test-float.c (main): Tweak skip message.
15999
16000 2011-07-07  Eric Blake  <eblake@redhat.com>
16001
16002         getopt: avoid compiler warning during configure
16003         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
16004         assigning string literals to non-const pointer.
16005
16006         getopt-gnu: avoid crash in glibc getopt
16007         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
16008         * tests/test-getopt.h (test_getopt): Enhance test.
16009         * tests/test-getopt_long.h (test_getopt_long): Likewise.
16010         * doc/posix-functions/getopt.texi (getopt): Document it.
16011         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
16012         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16013         Likewise.
16014
16015 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
16016
16017         getopt: handle W; without long options in getopt [BZ #12922]
16018         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
16019         but no long options are defined, just return 'W'.
16020
16021 2011-07-07  Bruno Haible  <bruno@clisp.org>
16022
16023         Avoid literal tabs.
16024         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
16025         variable containing a tab instead of a literal tab.
16026         Reported by Jim Meyering.
16027
16028 2011-07-07  Bruno Haible  <bruno@clisp.org>
16029
16030         Comments.
16031         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
16032
16033 2011-07-06  Bruno Haible  <bruno@clisp.org>
16034
16035         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
16036         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
16037         <winsock2.h>.
16038         (rpl_fd_isset, FD_ISSET): New definitions, copied from
16039         lib/sys_socket.in.h.
16040         (close, gethostname): Hide declarations from <winsock2.h>.
16041         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16042         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
16043         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
16044         (select): Don't override if gnulib's <sys/select.h> was already
16045         included.
16046         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
16047         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
16048         setsockopt, shutdown, select): Tweak indentation.
16049
16050 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16051
16052         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
16053         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
16054         in an application that does not use the sys_select module.
16055
16056 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
16057
16058         poll: do not return 0 on timeout=-1
16059         * lib/poll.c: Loop with yield if no events occurred.
16060
16061 2011-07-06  Eric Blake  <eblake@redhat.com>
16062
16063         pthread_sigmask: always replace when not using pthread
16064         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
16065         replacement when using some threading other than pthread.  Fix
16066         logic bug.
16067
16068 2011-07-06  Bruno Haible  <bruno@clisp.org>
16069
16070         Comments.
16071         * m4/printf.m4: Update comments about mingw.
16072
16073 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16074
16075         sys_select: define sigset_t more portably
16076         * lib/sys_select.in.h: Always include <sys/types.h>, since
16077         we now need sigset_t and mingw defines it there.
16078         Include <signal.h> before split inclusion guard, to avoid
16079         mishaps on Solaris, whose <signal.h> eventually includes us.
16080         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
16081         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
16082         which come from ...
16083         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
16084         gl_CHECK_TYPE_SIGSET_T.
16085         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
16086         does the real work.
16087         * modules/sys_select (Depends-on): Add 'signal'.
16088
16089         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
16090         Suggested by Bruno Haible.
16091
16092         pselect: Use pthread_sigmask, not sigprocmask.
16093         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
16094         multithreaded apps better than sigprocmask does.
16095         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
16096         sigprocmask directly.
16097
16098 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16099
16100         * lib/pselect.c (pselect): Use plain name, without "rpl_".
16101         Don't #undef,  since we don't need any underlying pselect.
16102         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
16103         (Depends-on): Add select.
16104         (Link): Add $(LIBSOCKET).
16105         These changes suggested by Bruno Haible.
16106
16107         pselect: document better
16108         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16109         * doc/posix-functions/pselect.texi (pselect): Document new module.
16110
16111         pthread_sigmask: new module
16112         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16113         * doc/posix-functions/pthread_sigmask.texi: Document new module.
16114         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
16115         This is done only as a macro; I don't know how well that'll
16116         work for C++.  Move <sys/types.h> include before the include_next,
16117         to avoid mishap on Solaris.
16118         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
16119         * modules/signal (Makefile.am): Substitute the check's results.
16120         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
16121
16122         test-pselect: new module
16123         * modules/pselect-tests, tests/test-pselect.c: New files.
16124         * tests/test-select.c, tests/test-sys_select-c++.cc:
16125         If TEST_PSELECT is defined, test pselect instead of testing select.
16126
16127         * tests/test-sys_select.c (sigset_t): Test for it, too.
16128         Suggested by Bruno Haible.
16129
16130 2011-07-05  Eric Blake  <eblake@redhat.com>
16131
16132         snprintf: guarantee %1$d, for libintl
16133         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
16134         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
16135         * doc/posix-functions/snprintf.texi (snprintf): Update.
16136         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16137         * tests/test-snprintf.c (main): Enhance test.
16138         * tests/test-vsnprintf.c (main): Likewise.
16139
16140 2011-07-05  Jim Meyering  <meyering@redhat.com>
16141
16142         maint: exempt stdio-read.c and stdio-write.c from the cppi check
16143         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
16144         per Bruno's request, to accommodate this idiom (no space after "#")
16145         even when the function is inside an #if block:
16146         char *
16147         gets (char *s)
16148         #undef gets
16149         {
16150           ...
16151         }
16152
16153 2011-07-04  Jim Meyering  <meyering@redhat.com>
16154
16155         maint: indent with spaces, not TABs, and add a rule to check this
16156         * tests/test-userspec.c: Indent with spaces, not TABs.
16157         * tests/test-argp.c: Likewise.
16158         * tests/test-c-stack2.sh: Likewise.
16159         * tests/test-parse-duration.sh: Likewise
16160         * m4/strtod.m4: Likewise.
16161         * m4/alloca.m4: Likewise.
16162         * m4/pselect.m4: Likewise.
16163         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
16164
16165 2011-07-03  Jim Meyering  <meyering@redhat.com>
16166
16167         maint.mk: correct omissions in prohibit_argmatch_without_use check
16168         This rule would mistakenly report that argmatch.h is included without
16169         use even when both the argmatch and invalid_arg macro were used.
16170         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
16171         of argmatch and invalid_arg.
16172
16173 2011-07-03  Bruno Haible  <bruno@clisp.org>
16174
16175         Comments about EINTR.
16176         * lib/safe-read.h: Explain the purpose of this module.
16177         * lib/safe-write.h: Likewise.
16178         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
16179         module.
16180         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
16181         module.
16182         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16183
16184 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
16185
16186         xnanosleep: Rewrite to use new dtotimespec module.
16187         It has the conversion code that used to be in xnanosleep.
16188         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
16189         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
16190         (TIME_T_MAX): Remove.
16191         (xnanosleep): Rewrite in terms of dtotimespec.
16192         * modules/xnanosleep (Depends-on): Add dtotimespec.
16193         Remove intprops, stdbool.
16194
16195         timespec-add, timespec-sub: new modules
16196         * lib/timespec.h (timespec_add, timespec_sub): New decls.
16197         * lib/timespec-add.c, lib/timespec-sub.c:
16198         * modules/timespec-add, modules/timespec-sub: New files.
16199
16200         dtotimespec: new module
16201         * lib/timespec.h (dtotimespec): New decl.
16202         * lib/dtotimespec.c, modules/dtotimespec: New files.
16203
16204         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
16205
16206         pselect: new module
16207         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
16208         (pselect): New decls.
16209         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
16210         since the standard pselect decl uses 'restrict'.
16211         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
16212         HAVE_PSELECT, REPLACE_PSELECT.
16213         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
16214         HAVE_PSELECT, REPLACE_PSELECT.
16215         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
16216
16217         sys_select: don't depend on sys_socket
16218         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
16219         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
16220         This fix works on GNU and GNU-like platforms, but has not been tested
16221         on native Windows.
16222         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
16223         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
16224         gl_HEADER_SYS_SOCKET.
16225         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
16226         gl_PREREQ_SYS_H_WINSOCK2.
16227
16228 2011-06-29  Eric Blake  <eblake@redhat.com>
16229
16230         pipe2: fix C89 compile problem
16231         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
16232         Reported by Bruno Haible.
16233
16234         pipe, pipe2: don't corrupt fd on error
16235         * lib/pipe.c (pipe): Leave fd unchanged on error.
16236         * lib/pipe2.c (pipe2): Likewise.
16237         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
16238         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16239
16240 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
16241
16242         mmap-anon: do not use regular expressions inadvertently
16243         * m4/mmap-anon.m4: Remove trailing period from strings sought
16244         in the output.
16245
16246 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
16247
16248         nanosleep: fix integer overflow problem
16249         * lib/nanosleep.c (my_usleep): Don't assume signed integer
16250         arithmetic wraps around on overflow.
16251
16252         nanosleep: simplify carrying
16253         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
16254         first call to the underyling nanosleep, not for the last one.
16255         This doesn't fix any bugs, but it simplifies the computation of
16256         the remaining delay.  Found while auditing integer overflow issues.
16257
16258         dup2: remove test for existence of fcntl
16259         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
16260         "#if HAVE_FCNTL", in the configure-time test program.
16261         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
16262         and therefore speeds up "configure" a bit.  Found while
16263         adding the dup2 module to Emacs.
16264
16265 2011-06-24  Eric Blake  <eblake@redhat.com>
16266
16267         maint.mk: enhance useless header checks
16268         * top/maint.mk (_sc_header_without_use): Check both include
16269         styles.
16270         (sc_prohibit_assert_without_use)
16271         (sc_prohibit_close_stream_without_use)
16272         (sc_prohibit_getopt_without_use)
16273         (sc_prohibit_quotearg_without_use)
16274         (sc_prohibit_quote_without_use)
16275         (sc_prohibit_long_options_without_use)
16276         (sc_prohibit_inttostr_without_use)
16277         (sc_prohibit_ignore_value_without_use)
16278         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
16279         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
16280         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
16281         (sc_prohibit_hash_pjw_without_use)
16282         (sc_prohibit_safe_read_without_use)
16283         (sc_prohibit_argmatch_without_use)
16284         (sc_prohibit_canonicalize_without_use)
16285         (sc_prohibit_root_dev_ino_without_use)
16286         (sc_prohibit_openat_without_use)
16287         (sc_prohibit_c_ctype_without_use)
16288         (sc_prohibit_signal_without_use)
16289         (sc_prohibit_stdio--_without_use)
16290         (sc_prohibit_stdio-safer_without_use)
16291         (sc_prohibit_strings_without_use)
16292         (sc_prohibit_intprops_without_use)
16293         (sc_prohibit_stddef_without_use)
16294         (sc_prohibit_xfreopen_without_use): Update clients.
16295
16296 2011-06-24  Jim Meyering  <meyering@redhat.com>
16297
16298         syntax-check: keep one maint.mk rule in sync with its header
16299         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
16300         of the bug Eric has just fixed, with today's commit 25e4c2ec.
16301         I prefer to avoid temporary files here, so use <(...), but that
16302         is not supported by /bin/sh, so...
16303         (SHELL): Define to /bin/bash.
16304
16305 2011-06-24  Eric Blake  <eblake@redhat.com>
16306
16307         maint.mk: update sc_prohibit_intprops_without_use
16308         * top/maint.mk (_intprops_names): Match recent changes.
16309
16310 2011-06-24  Bruno Haible  <bruno@clisp.org>
16311
16312         strerror-override: No-op tweak.
16313         * lib/strerror-override.h (strerror_override): Reorder conditions,
16314         for consistency with lib/strerror-override.c.
16315
16316 2011-06-23  Eric Blake  <eblake@redhat.com>
16317
16318         maint.mk: test further PATH_MAX issues
16319         * top/maint.mk (sc_prohibit_path_max_array): Rename...
16320         (sc_prohibit_path_max_allocation): ...and also test alloca.
16321         Suggested by Jim Meyering.
16322
16323 2011-06-22  Eric Blake  <eblake@redhat.com>
16324
16325         maint.mk: add syntax-check to avoid char[PATH_MAX]
16326         * top/maint.mk (sc_prohibit_path_max_array): New rule.
16327
16328         stat: be robust to PATH_MAX definition
16329         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
16330         * modules/stat (Depends-on): Add verify.
16331
16332         link: work around IRIX bug
16333         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
16334         * lib/link.c (rpl_link): Work around it.
16335         * tests/test-link.h (test_link): Enhance test.
16336         * doc/posix-functions/link.texi (link): Document the bug.
16337
16338         getopt: silence clang warning
16339         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
16340         dereference.
16341         Reported by Gustavo Martin Domato.
16342
16343 2011-06-22  Jim Meyering  <meyering@redhat.com>
16344
16345         bootstrap: do not insert a blank line into each .gitignore file
16346         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
16347
16348 2011-06-21  Eric Blake  <eblake@redhat.com>
16349
16350         perror: test for output mismatch
16351         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
16352         perror on IRIX.
16353
16354         strerror_r: fix OpenBSD behavior on out-of-range
16355         * lib/strerror_r.c (strerror_r): Always use maximal string.
16356         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16357
16358         strerror_r: fix OpenBSD behavior on 0
16359         * lib/strerror-override.c (strerror_override): Also override 0
16360         when needed.
16361         * lib/strerror-override.h (strerror_override): Likewise.
16362         * lib/strerror.c (strerror): Simplify, now that 0 override is done
16363         earlier.
16364         * lib/strerror_r.c (strerror_r): Likewise.
16365         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
16366         behavior...
16367         (gl_FUNC_STRERROR_0): ...into new macro.
16368         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
16369         is overridden.
16370         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
16371         * modules/strerror-override (Files): Add strerror.m4.
16372         (configure.ac): Also provide override for 0 when needed.
16373         * doc/posix-functions/strerror.texi (strerror): Document this.
16374         * doc/posix-functions/perror.texi (perror): Likewise.
16375
16376         perror: adjust array size
16377         * modules/perror (Depends-on): Add strerror-override.
16378         * lib/perror.c (perror): Use it to avoid magic number.
16379
16380         strerror-override: reduce size
16381         * lib/strerror-override.c (strerror_override): Use fewer lines.
16382
16383 2011-06-20  Bruno Haible  <bruno@clisp.org>
16384
16385         pathmax: Ensure correct value for PATH_MAX on HP-UX.
16386         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
16387
16388 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16389
16390         alloca: port to compilers that can optimize like GCC 4.6.0
16391         * lib/alloca.c (find_stack_direction): New signature, taken from
16392         Autoconf git.  This works with GCC 4.6.0.  This code should never
16393         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
16394         be used with other compilers that optimize as well as GCC 4.6.0 does.
16395         (alloca): Adjust to new signature.
16396         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
16397         New macro, which patches Autoconf in a similar way.
16398
16399         c-stack: stop worrying about stack direction
16400         * lib/c-stack.c (find_stack_direction): Remove.
16401         (segv_handler): Don't worry about stack direction growth, as it's
16402         too much of a pain to configure this correctly, given how compilers
16403         are optimizing-away our stack-growth detection code.  Instead, assume
16404         that any access to just before or just after the stack is OK.
16405         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16406         Don't require AC_FUNC_ALLOCA; no longer needed.
16407
16408 2011-06-20  Eric Blake  <eblake@redhat.com>
16409
16410         test-stat: don't allocate PATH_MAX bytes
16411         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
16412         PATH_MAX-sized buffer.
16413         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
16414         * modules/stat-tests (Depends-on): Likewise.
16415         * tests/test-fstatat.c (includes): Drop pathmax.h.
16416         * tests/test-stat.c (includes): Likewise.
16417         Reported by Bruno Haible.
16418
16419 2011-06-20  Bruno Haible  <bruno@clisp.org>
16420
16421         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
16422         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
16423         * lib/float.c: New file.
16424         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
16425         REPLACE_FLOAT_LDBL.
16426         * modules/float (Files): Add lib/float.c.
16427         (configure.ac): Invoke AC_LIBOBJ.
16428         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
16429
16430 2011-06-20  Bruno Haible  <bruno@clisp.org>
16431
16432         Tests for module 'float'.
16433         * modules/float-tests: New file.
16434         * tests/test-float.c: New file.
16435
16436 2011-06-19  Bruno Haible  <bruno@clisp.org>
16437
16438         isinf: Coding style.
16439         * lib/isinf.c: Use GNU coding style.
16440
16441 2011-06-19  Bruno Haible  <bruno@clisp.org>
16442
16443         linkat test: Avoid test failure on AIX 7.1.
16444         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
16445         * tests/test-link.h (test_link): Likewise.
16446
16447 2011-06-19  Bruno Haible  <bruno@clisp.org>
16448
16449         pread test: Avoid test failure on OpenBSD 4.9.
16450         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
16451
16452 2011-06-19  Bruno Haible  <bruno@clisp.org>
16453
16454         sprintf-posix: Fix test failure on AIX 7.1.
16455         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
16456         * doc/posix-functions/dprintf.texi: Mention limited precision problem
16457         on AIX.
16458         * doc/posix-functions/fprintf.texi: Likewise.
16459         * doc/posix-functions/printf.texi: Likewise.
16460         * doc/posix-functions/snprintf.texi: Likewise.
16461         * doc/posix-functions/sprintf.texi: Likewise.
16462         * doc/posix-functions/vdprintf.texi: Likewise.
16463         * doc/posix-functions/vfprintf.texi: Likewise.
16464         * doc/posix-functions/vprintf.texi: Likewise.
16465         * doc/posix-functions/vsnprintf.texi: Likewise.
16466         * doc/posix-functions/vsprintf.texi: Likewise.
16467
16468 2011-06-19  Bruno Haible  <bruno@clisp.org>
16469
16470         roundl-ieee: Fix test failure on AIX 7.1.
16471         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
16472         * doc/posix-functions/roundl.texi: Mention problem with negative
16473         arguments.
16474
16475 2011-06-19  Bruno Haible  <bruno@clisp.org>
16476
16477         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16478         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
16479         * doc/posix-functions/round.texi: Mention problem with negative
16480         arguments.
16481         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
16482
16483 2011-06-19  Bruno Haible  <bruno@clisp.org>
16484
16485         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16486         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
16487         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
16488         * doc/posix-functions/roundf.texi: Mention problem with negative
16489         arguments.
16490         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
16491
16492 2011-06-19  Bruno Haible  <bruno@clisp.org>
16493
16494         ceilf-ieee: Work around bug on MacOS X 10.5.
16495         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
16496
16497         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
16498         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
16499         IEEE compliant, avoid compiler optimizations.
16500         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16501         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16502         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16503         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16504         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16505         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16506         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16507         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16508         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16509         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16510
16511 2011-06-19  Bruno Haible  <bruno@clisp.org>
16512
16513         ceilf-ieee: Work around bug on AIX 7.1.
16514         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
16515         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
16516
16517 2011-06-19  Bruno Haible  <bruno@clisp.org>
16518
16519         ceil-ieee: Work around bug on AIX 7.1.
16520         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
16521         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
16522
16523 2011-06-18  Bruno Haible  <bruno@clisp.org>
16524
16525         fsync test: Avoid test failure on MacOS X and AIX.
16526         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
16527         EINVAL.
16528
16529 2011-06-18  Bruno Haible  <bruno@clisp.org>
16530
16531         openat, fdopendir tests: Fix link errors.
16532         * modules/openat-tests (Depends-on): Add progname.
16533         * modules/fdopendir-tests (Depends-on): Likewise.
16534         * tests/test-fchownat.c: Include progname.h.
16535         (main): Call set_program_name.
16536         * tests/test-fstatat.c: Include progname.h.
16537         (main): Call set_program_name.
16538         * tests/test-mkdirat.c: Include progname.h.
16539         (main): Call set_program_name.
16540         * tests/test-openat.c: Include progname.h.
16541         (main): Call set_program_name.
16542         * tests/test-unlinkat.c: Include progname.h.
16543         (main): Call set_program_name.
16544         * tests/test-fdopendir.c: Include progname.h.
16545         (main): Call set_program_name.
16546
16547 2011-06-18  Bruno Haible  <bruno@clisp.org>
16548
16549         Doc update.
16550         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
16551         HP-UX.
16552         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
16553
16554 2011-06-18  Bruno Haible  <bruno@clisp.org>
16555
16556         getcwd tests: Avoid compilation error on HP-UX 11.31.
16557         * modules/getcwd-tests (Depends-on): Add pathmax.
16558         * tests/test-getcwd.c: Include pathmax.h.
16559
16560 2011-06-18  Bruno Haible  <bruno@clisp.org>
16561
16562         isfinite, isinf: Fix link error on AIX 6 and 7.
16563         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
16564         needed, also test the macro with a 'float' argument.
16565         * m4/isinf.m4 (gl_ISINF): Likewise.
16566
16567 2011-06-18  Bruno Haible  <bruno@clisp.org>
16568
16569         getloadavg: Don't clobber LIBS. Regression from previous commit.
16570         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
16571         AC_CHECK_LIB from here...
16572         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
16573         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
16574         gl_func_getloadavg_done.
16575         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16576
16577 2011-06-18  Bruno Haible  <bruno@clisp.org>
16578
16579         clean-temp: Improve documentation.
16580         * lib/clean-temp.h: Explain better how to use this module.
16581         Reported by John Darrington <john@darrington.wattle.id.au>.
16582
16583 2011-06-17  Bruno Haible  <bruno@clisp.org>
16584
16585         pread, pwrite: Avoid cc warning on AIX.
16586         * lib/unistd.in.h (pread): Undefine before defining as a macro.
16587         (pwrite): Likewise.
16588
16589 2011-06-17  Bruno Haible  <bruno@clisp.org>
16590
16591         spawn-pipe tests: Fix link error.
16592         * tests/test-spawn-pipe-child.c: Undefine fprintf.
16593         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16594
16595 2011-06-17  Bruno Haible  <bruno@clisp.org>
16596
16597         Tests: Remove unnecessary dependency.
16598         * modules/canonicalize-tests (Depends-on): Remove progname.
16599         * modules/chown-tests (Depends-on): Likewise.
16600         * modules/dirname-tests (Depends-on): Likewise.
16601         * modules/fdopendir-tests (Depends-on): Likewise.
16602         * modules/fdutimensat-tests (Depends-on): Likewise.
16603         * modules/hash-tests (Depends-on): Likewise.
16604         * modules/lchown-tests (Depends-on): Likewise.
16605         * modules/linkat-tests (Depends-on): Likewise.
16606         * modules/renameat-tests (Depends-on): Likewise.
16607         * modules/spawn-pipe-tests (Depends-on): Likewise.
16608         * modules/utimensat-tests (Depends-on): Likewise.
16609
16610 2011-06-17  Bruno Haible  <bruno@clisp.org>
16611
16612         spawn-pipe tests: Fix link error.
16613         * tests/test-spawn-pipe-child.c: Undefine fflush.
16614
16615 2011-06-17  Bruno Haible  <bruno@clisp.org>
16616
16617         Fix tests link errors.
16618         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
16619         * modules/chown-tests (Makefile.am): Don't link test-chown with
16620         LIBINTL.
16621         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
16622         LIBINTL.
16623         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
16624         LIBINTL.
16625         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
16626         LIBINTL.
16627
16628 2011-06-16  Bruno Haible  <bruno@clisp.org>
16629
16630         crypto/gc-sha1: Fix recent regression.
16631         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
16632         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
16633
16634         crypto/gc-md5: Fix recent regression.
16635         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
16636
16637         crypto/gc-md4: Fix recent regression.
16638         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
16639         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
16640
16641         crypto/gc-arctwo: Fix recent regression.
16642         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
16643         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
16644
16645         crypto/gc-rijndael: Fix recent regression.
16646         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
16647         (configure.ac): Invoke AC_LIBOBJ here.
16648         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
16649         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16650
16651         crypto/gc-hmac-sha1: Fix recent regression.
16652         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
16653         (configure.ac): Invoke AC_LIBOBJ here.
16654         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
16655         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16656
16657         crypto/gc-hmac-md5: Fix recent regression.
16658         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
16659         (configure.ac): Invoke AC_LIBOBJ here.
16660         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
16661         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16662
16663         crypto/gc-des: Fix recent regression.
16664         * modules/crypto/gc-des (Files): Remove m4/des.m4.
16665         (configure.ac): Invoke AC_LIBOBJ here.
16666         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
16667         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16668
16669         crypto/gc-arcfour: Fix recent regression.
16670         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
16671         (configure.ac): Invoke AC_LIBOBJ here.
16672         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
16673         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16674
16675 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
16676
16677         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
16678         After the 2011-05-21 change, this macro requires
16679         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
16680         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
16681
16682 2011-06-16  Bruno Haible  <bruno@clisp.org>
16683
16684         fprintftime: Move AC_LIBOBJ invocations to module description.
16685         * m4/fprintftime.m4: Remove file.
16686         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
16687         (configure.ac): Remove gl_FPRINTFTIME call.
16688         (Makefile.am): Augment lib_SOURCES.
16689         Reported by Jim Meyering.
16690
16691 2011-06-16  Bruno Haible  <bruno@clisp.org>
16692
16693         tmpfile-safer: Finish 2011-05-23 commit.
16694         * m4/stdio-safer.m4: Really remove file.
16695         Reported by Jim Meyering.
16696
16697 2011-06-16  Bruno Haible  <bruno@clisp.org>
16698
16699         syntax-check: Fix typo.
16700         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
16701         printf-posix.m4.
16702         Reported by Jim Meyering.
16703
16704 2011-06-13  Jim Meyering  <meyering@redhat.com>
16705
16706         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
16707         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
16708
16709 2011-05-23  Bruno Haible  <bruno@clisp.org>
16710
16711         yesno: Move AC_LIBOBJ invocations to module description.
16712         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
16713         * modules/yesno (Makefile.am): Augment lib_SOURCES.
16714
16715 2011-05-23  Bruno Haible  <bruno@clisp.org>
16716
16717         xstrtol: Move AC_LIBOBJ invocations to module description.
16718         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
16719         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
16720
16721 2011-05-23  Bruno Haible  <bruno@clisp.org>
16722
16723         xstrtold: Move AC_LIBOBJ invocations to module description.
16724         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
16725         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
16726
16727 2011-05-23  Bruno Haible  <bruno@clisp.org>
16728
16729         xstrtod: Move AC_LIBOBJ invocations to module description.
16730         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
16731         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
16732
16733 2011-05-23  Bruno Haible  <bruno@clisp.org>
16734
16735         xnanosleep: Move AC_LIBOBJ invocations to module description.
16736         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
16737         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
16738
16739 2011-05-23  Bruno Haible  <bruno@clisp.org>
16740
16741         xgetcwd: Move AC_LIBOBJ invocations to module description.
16742         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
16743         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
16744
16745 2011-05-23  Bruno Haible  <bruno@clisp.org>
16746
16747         xalloc: Move AC_LIBOBJ invocations to module description.
16748         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
16749         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
16750
16751 2011-05-23  Bruno Haible  <bruno@clisp.org>
16752
16753         write-any-file: Move AC_LIBOBJ invocations to module description.
16754         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
16755         invocation.
16756         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
16757
16758 2011-05-23  Bruno Haible  <bruno@clisp.org>
16759
16760         utimens: Move AC_LIBOBJ invocations to module description.
16761         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
16762         * modules/utimens (Makefile.am): Augment lib_SOURCES.
16763
16764 2011-05-23  Bruno Haible  <bruno@clisp.org>
16765
16766         utimecmp: Move AC_LIBOBJ invocations to module description.
16767         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
16768         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
16769
16770 2011-05-23  Bruno Haible  <bruno@clisp.org>
16771
16772         userspec: Move AC_LIBOBJ invocations to module description.
16773         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
16774         * modules/userspec (Makefile.am): Augment lib_SOURCES.
16775
16776 2011-05-23  Bruno Haible  <bruno@clisp.org>
16777
16778         unlinkdir: Move AC_LIBOBJ invocations to module description.
16779         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
16780         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
16781
16782 2011-05-23  Bruno Haible  <bruno@clisp.org>
16783
16784         unistd-safer: Move AC_LIBOBJ invocations to module description.
16785         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
16786         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
16787
16788 2011-05-23  Bruno Haible  <bruno@clisp.org>
16789
16790         tempname: Move AC_LIBOBJ invocations to module description.
16791         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
16792         * modules/tempname (Makefile.am): Augment lib_SOURCES.
16793
16794 2011-05-23  Bruno Haible  <bruno@clisp.org>
16795
16796         strftime: Move AC_LIBOBJ invocations to module description.
16797         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
16798         * modules/strftime (Makefile.am): Augment lib_SOURCES.
16799
16800 2011-05-23  Bruno Haible  <bruno@clisp.org>
16801
16802         stdlib-safer: Move AC_LIBOBJ invocations to module description.
16803         * m4/stdlib-safer.m4: Remove file.
16804         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
16805         (configure.ac): Remove gl_STDLIB_SAFER call.
16806         (Makefile.am): Augment lib_SOURCES.
16807
16808 2011-05-23  Bruno Haible  <bruno@clisp.org>
16809
16810         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
16811         * m4/stdio-safer.m4: Remove file.
16812         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
16813         (configure.ac): Remove gl_TMPFILE_SAFER call.
16814         (Makefile.am): Augment lib_SOURCES.
16815
16816 2011-05-23  Bruno Haible  <bruno@clisp.org>
16817
16818         popen-safer: Move AC_LIBOBJ invocations to module description.
16819         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
16820         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
16821         (configure.ac): Remove gl_POPEN_SAFER call.
16822         (Makefile.am): Augment lib_SOURCES.
16823
16824 2011-05-23  Bruno Haible  <bruno@clisp.org>
16825
16826         freopen-safer: Move AC_LIBOBJ invocations to module description.
16827         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
16828         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
16829         (configure.ac): Remove gl_FREOPEN_SAFER call.
16830         (Makefile.am): Augment lib_SOURCES.
16831
16832 2011-05-23  Bruno Haible  <bruno@clisp.org>
16833
16834         fopen-safer: Move AC_LIBOBJ invocations to module description.
16835         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
16836         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
16837         (configure.ac): Remove gl_FOPEN_SAFER call.
16838         (Makefile.am): Augment lib_SOURCES.
16839
16840 2011-05-23  Bruno Haible  <bruno@clisp.org>
16841
16842         crypto/sha512: Move AC_LIBOBJ invocations to module description.
16843         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
16844         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
16845
16846 2011-05-23  Bruno Haible  <bruno@clisp.org>
16847
16848         crypto/sha256: Move AC_LIBOBJ invocations to module description.
16849         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
16850         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
16851
16852 2011-05-23  Bruno Haible  <bruno@clisp.org>
16853
16854         crypto/sha1: Move AC_LIBOBJ invocations to module description.
16855         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
16856         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
16857
16858 2011-05-23  Bruno Haible  <bruno@clisp.org>
16859
16860         settime: Move AC_LIBOBJ invocations to module description.
16861         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
16862         * modules/settime (Makefile.am): Augment lib_SOURCES.
16863
16864 2011-05-23  Bruno Haible  <bruno@clisp.org>
16865
16866         savedir: Move AC_LIBOBJ invocations to module description.
16867         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
16868         * modules/savedir (Makefile.am): Augment lib_SOURCES.
16869
16870 2011-05-23  Bruno Haible  <bruno@clisp.org>
16871
16872         save-cwd: Move AC_LIBOBJ invocations to module description.
16873         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
16874         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
16875
16876 2011-05-23  Bruno Haible  <bruno@clisp.org>
16877
16878         same: Move AC_LIBOBJ invocations to module description.
16879         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
16880         * modules/same (Makefile.am): Augment lib_SOURCES.
16881
16882 2011-05-23  Bruno Haible  <bruno@clisp.org>
16883
16884         safe-write: Move AC_LIBOBJ invocations to module description.
16885         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
16886         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
16887         instead of gl_SAFE_WRITE.
16888         (Makefile.am): Augment lib_SOURCES.
16889
16890 2011-05-23  Bruno Haible  <bruno@clisp.org>
16891
16892         safe-read: Move AC_LIBOBJ invocations to module description.
16893         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
16894         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
16895         of gl_SAFE_READ.
16896         (Makefile.am): Augment lib_SOURCES.
16897
16898 2011-05-23  Bruno Haible  <bruno@clisp.org>
16899
16900         safe-alloc: Move AC_LIBOBJ invocations to module description.
16901         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
16902         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
16903
16904 2011-05-23  Bruno Haible  <bruno@clisp.org>
16905
16906         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
16907         * m4/rijndael.m4: Remove file.
16908         * modules/crypto/rijndael (Files): Remove it.
16909         (configure.ac): Remove gl_RIJNDAEL call.
16910         (Makefile.am): Augment lib_SOURCES.
16911
16912 2011-05-23  Bruno Haible  <bruno@clisp.org>
16913
16914         readtokens: Move AC_LIBOBJ invocations to module description.
16915         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
16916         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
16917
16918 2011-05-23  Bruno Haible  <bruno@clisp.org>
16919
16920         read-file: Move AC_LIBOBJ invocations to module description.
16921         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
16922         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
16923         of gl_FUNC_READ_FILE.
16924         (Makefile.am): Augment lib_SOURCES.
16925
16926 2011-05-23  Bruno Haible  <bruno@clisp.org>
16927
16928         quotearg: Move AC_LIBOBJ invocations to module description.
16929         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
16930         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
16931
16932 2011-05-23  Bruno Haible  <bruno@clisp.org>
16933
16934         quote: Move AC_LIBOBJ invocations to module description.
16935         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
16936         * modules/quote (Makefile.am): Augment lib_SOURCES.
16937
16938 2011-05-23  Bruno Haible  <bruno@clisp.org>
16939
16940         posixver: Move AC_LIBOBJ invocations to module description.
16941         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
16942         * modules/posixver (Makefile.am): Augment lib_SOURCES.
16943
16944 2011-05-23  Bruno Haible  <bruno@clisp.org>
16945
16946         posixtm: Move AC_LIBOBJ invocations to module description.
16947         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
16948         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
16949
16950 2011-05-23  Bruno Haible  <bruno@clisp.org>
16951
16952         physmem: Move AC_LIBOBJ invocations to module description.
16953         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
16954         * modules/physmem (Makefile.am): Augment lib_SOURCES.
16955
16956 2011-05-23  Bruno Haible  <bruno@clisp.org>
16957
16958         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
16959         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
16960         invocation.
16961         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
16962
16963 2011-05-23  Bruno Haible  <bruno@clisp.org>
16964
16965         mpsort: Move AC_LIBOBJ invocations to module description.
16966         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
16967         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
16968
16969 2011-05-23  Bruno Haible  <bruno@clisp.org>
16970
16971         modechange: Move AC_LIBOBJ invocations to module description.
16972         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
16973         * modules/modechange (Makefile.am): Augment lib_SOURCES.
16974
16975 2011-05-23  Bruno Haible  <bruno@clisp.org>
16976
16977         mkdir-p: Move AC_LIBOBJ invocations to module description.
16978         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
16979         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
16980
16981 2011-05-23  Bruno Haible  <bruno@clisp.org>
16982
16983         mkancesdirs: Move AC_LIBOBJ invocations to module description.
16984         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
16985         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
16986
16987 2011-05-23  Bruno Haible  <bruno@clisp.org>
16988
16989         mgetgroups: Move AC_LIBOBJ invocations to module description.
16990         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
16991         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
16992
16993 2011-05-23  Bruno Haible  <bruno@clisp.org>
16994
16995         memxor: Move AC_LIBOBJ invocations to module description.
16996         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
16997         * modules/memxor (Makefile.am): Augment lib_SOURCES.
16998
16999 2011-05-23  Bruno Haible  <bruno@clisp.org>
17000
17001         memcoll: Move AC_LIBOBJ invocations to module description.
17002         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
17003         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
17004
17005 2011-05-23  Bruno Haible  <bruno@clisp.org>
17006
17007         memcasecmp: Move AC_LIBOBJ invocations to module description.
17008         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
17009         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
17010
17011 2011-05-23  Bruno Haible  <bruno@clisp.org>
17012
17013         crypto/md5: Move AC_LIBOBJ invocations to module description.
17014         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
17015         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
17016
17017 2011-05-23  Bruno Haible  <bruno@clisp.org>
17018
17019         crypto/md4: Move AC_LIBOBJ invocations to module description.
17020         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
17021         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
17022
17023 2011-05-23  Bruno Haible  <bruno@clisp.org>
17024
17025         crypto/md2: Move AC_LIBOBJ invocations to module description.
17026         * m4/md2.m4: Remove file.
17027         * modules/crypto/md2 (Files): Remove it.
17028         (configure.ac): Remove gl_MD2 call.
17029         (Makefile.am): Augment lib_SOURCES.
17030
17031 2011-05-23  Bruno Haible  <bruno@clisp.org>
17032
17033         long-options: Move AC_LIBOBJ invocations to module description.
17034         * m4/long-options.m4: Remove file.
17035         * modules/long-options (Files): Remove it.
17036         (configure.ac): Remove gl_LONG_OPTIONS call.
17037         (Makefile.am): Augment lib_SOURCES.
17038
17039 2011-05-23  Bruno Haible  <bruno@clisp.org>
17040
17041         i-ring: Move AC_LIBOBJ invocations to module description.
17042         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
17043         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
17044
17045 2011-05-23  Bruno Haible  <bruno@clisp.org>
17046
17047         idcache: Move AC_LIBOBJ invocations to module description.
17048         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
17049         * modules/idcache (Makefile.am): Augment lib_SOURCES.
17050
17051 2011-05-23  Bruno Haible  <bruno@clisp.org>
17052
17053         human: Move AC_LIBOBJ invocations to module description.
17054         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
17055         * modules/human (Makefile.am): Augment lib_SOURCES.
17056
17057 2011-05-23  Bruno Haible  <bruno@clisp.org>
17058
17059         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
17060         * m4/hmac-sha1.m4: Remove file.
17061         * modules/crypto/hmac-sha1 (Files): Remove it.
17062         (configure.ac): Remove gl_HMAC_SHA1 call.
17063         (Makefile.am): Augment lib_SOURCES.
17064
17065 2011-05-23  Bruno Haible  <bruno@clisp.org>
17066
17067         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
17068         * m4/hmac-md5.m4: Remove file.
17069         * modules/crypto/hmac-md5 (Files): Remove it.
17070         (configure.ac): Remove gl_HMAC_MD5 call.
17071         (Makefile.am): Augment lib_SOURCES.
17072
17073 2011-05-23  Bruno Haible  <bruno@clisp.org>
17074
17075         hash: Move AC_LIBOBJ invocations to module description.
17076         * m4/hash.m4: Remove file.
17077         * modules/hash (Files): Remove it.
17078         (configure.ac): Remove gl_HASH call.
17079         (Makefile.am): Augment lib_SOURCES.
17080
17081 2011-05-23  Bruno Haible  <bruno@clisp.org>
17082
17083         hard-locale: Move AC_LIBOBJ invocations to module description.
17084         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
17085         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
17086
17087 2011-05-23  Bruno Haible  <bruno@clisp.org>
17088
17089         getugroups: Move AC_LIBOBJ invocations to module description.
17090         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
17091         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
17092
17093 2011-05-23  Bruno Haible  <bruno@clisp.org>
17094
17095         gettime: Move AC_LIBOBJ invocations to module description.
17096         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
17097         * modules/gettime (Makefile.am): Augment lib_SOURCES.
17098
17099 2011-05-23  Bruno Haible  <bruno@clisp.org>
17100
17101         getndelim2: Move AC_LIBOBJ invocations to module description.
17102         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
17103         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
17104
17105 2011-05-23  Bruno Haible  <bruno@clisp.org>
17106
17107         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
17108         * m4/gc-pbkdf2-sha1.m4: Remove file.
17109         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
17110         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
17111         (Makefile.am): Augment lib_SOURCES.
17112
17113 2011-05-23  Bruno Haible  <bruno@clisp.org>
17114
17115         fts: Move AC_LIBOBJ invocations to module description.
17116         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
17117         * modules/fts (configure.ac): ... to here.
17118
17119 2011-05-23  Bruno Haible  <bruno@clisp.org>
17120
17121         file-type: Move AC_LIBOBJ invocations to module description.
17122         * m4/file-type.m4: Remove file.
17123         * modules/file-type (Files): Remove it.
17124         (configure.ac): Remove gl_FILE_TYPE call.
17125         (Makefile.am): Augment lib_SOURCES.
17126
17127 2011-05-23  Bruno Haible  <bruno@clisp.org>
17128
17129         filenamecat*: Respect rules for use of AC_LIBOBJ.
17130         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
17131         Remove AC_LIBOBJ invocation.
17132         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
17133         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
17134
17135 2011-05-23  Bruno Haible  <bruno@clisp.org>
17136
17137         filemode: Move AC_LIBOBJ invocations to module description.
17138         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
17139         * modules/filemode (Makefile.am): Augment lib_SOURCES.
17140
17141 2011-05-23  Bruno Haible  <bruno@clisp.org>
17142
17143         openat-safer: Move AC_LIBOBJ invocations to module description.
17144         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
17145         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
17146
17147 2011-05-23  Bruno Haible  <bruno@clisp.org>
17148
17149         fcntl-safer: Move AC_LIBOBJ invocations to module description.
17150         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
17151         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
17152
17153 2011-05-23  Bruno Haible  <bruno@clisp.org>
17154
17155         exclude: Move AC_LIBOBJ invocations to module description.
17156         * m4/exclude.m4: Remove file.
17157         * modules/exclude (Files): Remove it.
17158         (configure.ac): Remove gl_EXCLUDE call.
17159         (Makefile.am): Augment lib_SOURCES.
17160
17161 2011-05-23  Bruno Haible  <bruno@clisp.org>
17162
17163         dirname*: Respect rules for use of AC_LIBOBJ.
17164         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
17165         invocations.
17166         * modules/dirname (Makefile.am): Augment lib_SOURCES.
17167         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
17168
17169 2011-05-23  Bruno Haible  <bruno@clisp.org>
17170
17171         dirent-safer: Move AC_LIBOBJ invocations to module description.
17172         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
17173         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
17174
17175 2011-05-23  Bruno Haible  <bruno@clisp.org>
17176
17177         crypto/des: Move AC_LIBOBJ invocations to module description.
17178         * m4/des.m4: Remove file.
17179         * modules/crypto/des (Files): Remove it.
17180         (configure.ac): Remove gl_DES call.
17181         (Makefile.am): Augment lib_SOURCES.
17182
17183 2011-05-23  Bruno Haible  <bruno@clisp.org>
17184
17185         cycle-check: Move AC_LIBOBJ invocations to module description.
17186         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
17187         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
17188
17189 2011-05-23  Bruno Haible  <bruno@clisp.org>
17190
17191         c-strtold: Move AC_LIBOBJ invocations to module description.
17192         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
17193         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
17194
17195 2011-05-23  Bruno Haible  <bruno@clisp.org>
17196
17197         c-strtod: Move AC_LIBOBJ invocations to module description.
17198         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
17199         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
17200
17201 2011-05-23  Bruno Haible  <bruno@clisp.org>
17202
17203         crc: Move AC_LIBOBJ invocations to module description.
17204         * m4/crc.m4: Remove file.
17205         * modules/crc (Files): Remove it.
17206         (configure.ac): Remove gl_CRC call.
17207         (Makefile.am): Augment lib_SOURCES.
17208
17209 2011-05-23  Bruno Haible  <bruno@clisp.org>
17210
17211         close-stream: Move AC_LIBOBJ invocations to module description.
17212         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
17213         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
17214
17215 2011-05-23  Bruno Haible  <bruno@clisp.org>
17216
17217         closeout: Move AC_LIBOBJ invocations to module description.
17218         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
17219         * modules/closeout (Makefile.am): Augment lib_SOURCES.
17220
17221 2011-05-23  Bruno Haible  <bruno@clisp.org>
17222
17223         closein: Move AC_LIBOBJ invocations to module description.
17224         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
17225         * modules/closein (Makefile.am): Augment lib_SOURCES.
17226
17227 2011-05-23  Bruno Haible  <bruno@clisp.org>
17228
17229         cloexec: Move AC_LIBOBJ invocations to module description.
17230         * m4/cloexec.m4: Remove file.
17231         * modules/cloexec (Files): Remove it.
17232         (configure.ac): Remove gl_CLOEXEC call.
17233         (Makefile.am): Augment lib_SOURCES.
17234
17235 2011-05-23  Bruno Haible  <bruno@clisp.org>
17236
17237         check-version: Move AC_LIBOBJ invocations to module description.
17238         * m4/check-version.m4: Remove file.
17239         * modules/check-version (Files): Remove it.
17240         (configure.ac): Remove gl_CHECK_VERSION call.
17241         (Makefile.am): Augment lib_SOURCES.
17242
17243 2011-05-23  Bruno Haible  <bruno@clisp.org>
17244
17245         chdir-safer: Move AC_LIBOBJ invocations to module description.
17246         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
17247         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
17248
17249 2011-05-23  Bruno Haible  <bruno@clisp.org>
17250
17251         canonicalize: Move AC_LIBOBJ invocations to module description.
17252         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
17253         AC_LIBOBJ invocation.
17254         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
17255
17256 2011-05-23  Bruno Haible  <bruno@clisp.org>
17257
17258         canon-host: Move AC_LIBOBJ invocations to module description.
17259         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
17260         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
17261         instead of gl_CANON_HOST.
17262         (Makefile.am): Augment lib_SOURCES.
17263
17264 2011-05-23  Bruno Haible  <bruno@clisp.org>
17265
17266         backupfile: Move AC_LIBOBJ invocations to module description.
17267         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
17268         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
17269
17270 2011-05-23  Bruno Haible  <bruno@clisp.org>
17271
17272         argmatch: Move AC_LIBOBJ invocations to module description.
17273         * m4/argmatch.m4: Remove file.
17274         * modules/argmatch (Files): Remove it.
17275         (configure.ac): Remove gl_ARGMATCH call.
17276         (Makefile.am): Augment lib_SOURCES.
17277
17278 2011-05-23  Bruno Haible  <bruno@clisp.org>
17279
17280         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
17281         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
17282         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
17283
17284 2011-05-23  Bruno Haible  <bruno@clisp.org>
17285
17286         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
17287         * m4/arcfour.m4: Remove file.
17288         * modules/crypto/arcfour (Files): Remove it.
17289         (configure.ac): Remove gl_ARCFOUR call.
17290         (Makefile.am): Augment lib_SOURCES.
17291
17292 2011-05-22  Bruno Haible  <bruno@clisp.org>
17293
17294         write: Move AC_LIBOBJ invocations to module description.
17295         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
17296         * modules/write (configure.ac): ... to here.
17297
17298 2011-05-22  Bruno Haible  <bruno@clisp.org>
17299
17300         wmemset: Move AC_LIBOBJ invocations to module description.
17301         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
17302         here...
17303         * modules/wmemset (configure.ac): ... to here.
17304
17305 2011-05-22  Bruno Haible  <bruno@clisp.org>
17306
17307         wmemmove: Move AC_LIBOBJ invocations to module description.
17308         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
17309         here...
17310         * modules/wmemmove (configure.ac): ... to here.
17311
17312 2011-05-22  Bruno Haible  <bruno@clisp.org>
17313
17314         wmemcpy: Move AC_LIBOBJ invocations to module description.
17315         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
17316         here...
17317         * modules/wmemcpy (configure.ac): ... to here.
17318
17319 2011-05-22  Bruno Haible  <bruno@clisp.org>
17320
17321         wmemcmp: Move AC_LIBOBJ invocations to module description.
17322         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
17323         here...
17324         * modules/wmemcmp (configure.ac): ... to here.
17325
17326 2011-05-22  Bruno Haible  <bruno@clisp.org>
17327
17328         wmemchr: Move AC_LIBOBJ invocations to module description.
17329         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
17330         here...
17331         * modules/wmemchr (configure.ac): ... to here.
17332
17333 2011-05-22  Bruno Haible  <bruno@clisp.org>
17334
17335         wcswidth: Move AC_LIBOBJ invocations to module description.
17336         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
17337         here...
17338         * modules/wcswidth (configure.ac): ... to here.
17339
17340 2011-05-22  Bruno Haible  <bruno@clisp.org>
17341
17342         wcwidth: Respect rules for use of AC_LIBOBJ.
17343         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
17344         invocation from here...
17345         * modules/wcwidth (configure.ac): ... to here.
17346         (Depends-on): Update conditions.
17347
17348 2011-05-22  Bruno Haible  <bruno@clisp.org>
17349
17350         wctype: Move AC_LIBOBJ invocations to module description.
17351         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
17352         invocation from here...
17353         * modules/wctype (configure.ac): ... to here.
17354         (Depends-on): Update conditions.
17355
17356 2011-05-22  Bruno Haible  <bruno@clisp.org>
17357
17358         wctrans: Move AC_LIBOBJ invocations to module description.
17359         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
17360         invocation from here...
17361         * modules/wctrans (configure.ac): ... to here.
17362
17363 2011-05-22  Bruno Haible  <bruno@clisp.org>
17364
17365         wctomb: Move AC_LIBOBJ invocations to module description.
17366         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
17367         invocations from here...
17368         * modules/wctomb (configure.ac): ... to here.
17369
17370 2011-05-22  Bruno Haible  <bruno@clisp.org>
17371
17372         wctob: Move AC_LIBOBJ invocations to module description.
17373         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
17374         gl_PREREQ_WCTOB invocations from here...
17375         * modules/wctob (configure.ac): ... to here.
17376         (Depends-on): Update conditions.
17377
17378 2011-05-22  Bruno Haible  <bruno@clisp.org>
17379
17380         wcsxfrm: Move AC_LIBOBJ invocations to module description.
17381         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
17382         here...
17383         * modules/wcsxfrm (configure.ac): ... to here.
17384
17385 2011-05-22  Bruno Haible  <bruno@clisp.org>
17386
17387         wcstok: Move AC_LIBOBJ invocations to module description.
17388         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
17389         * modules/wcstok (configure.ac): ... to here.
17390
17391 2011-05-22  Bruno Haible  <bruno@clisp.org>
17392
17393         wcsstr: Move AC_LIBOBJ invocations to module description.
17394         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
17395         * modules/wcsstr (configure.ac): ... to here.
17396
17397 2011-05-22  Bruno Haible  <bruno@clisp.org>
17398
17399         wcsspn: Move AC_LIBOBJ invocations to module description.
17400         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
17401         * modules/wcsspn (configure.ac): ... to here.
17402
17403 2011-05-22  Bruno Haible  <bruno@clisp.org>
17404
17405         wcsrtombs: Move AC_LIBOBJ invocations to module description.
17406         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
17407         gl_PREREQ_WCSRTOMBS invocations from here...
17408         * modules/wcsrtombs (configure.ac): ... to here.
17409
17410 2011-05-22  Bruno Haible  <bruno@clisp.org>
17411
17412         wcsrchr: Move AC_LIBOBJ invocations to module description.
17413         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
17414         here...
17415         * modules/wcsrchr (configure.ac): ... to here.
17416
17417 2011-05-22  Bruno Haible  <bruno@clisp.org>
17418
17419         wcspbrk: Move AC_LIBOBJ invocations to module description.
17420         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
17421         here...
17422         * modules/wcspbrk (configure.ac): ... to here.
17423
17424 2011-05-22  Bruno Haible  <bruno@clisp.org>
17425
17426         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
17427         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
17428         gl_PREREQ_WCSNRTOMBS invocations from here...
17429         * modules/wcsnrtombs (configure.ac): ... to here.
17430
17431 2011-05-22  Bruno Haible  <bruno@clisp.org>
17432
17433         wcsnlen: Move AC_LIBOBJ invocations to module description.
17434         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
17435         here...
17436         * modules/wcsnlen (configure.ac): ... to here.
17437
17438 2011-05-22  Bruno Haible  <bruno@clisp.org>
17439
17440         wcsncpy: Move AC_LIBOBJ invocations to module description.
17441         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
17442         here...
17443         * modules/wcsncpy (configure.ac): ... to here.
17444
17445 2011-05-22  Bruno Haible  <bruno@clisp.org>
17446
17447         wcsncmp: Move AC_LIBOBJ invocations to module description.
17448         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
17449         here...
17450         * modules/wcsncmp (configure.ac): ... to here.
17451
17452 2011-05-22  Bruno Haible  <bruno@clisp.org>
17453
17454         wcsncat: Move AC_LIBOBJ invocations to module description.
17455         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
17456         here...
17457         * modules/wcsncat (configure.ac): ... to here.
17458
17459 2011-05-22  Bruno Haible  <bruno@clisp.org>
17460
17461         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
17462         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
17463         from here...
17464         * modules/wcsncasecmp (configure.ac): ... to here.
17465
17466 2011-05-22  Bruno Haible  <bruno@clisp.org>
17467
17468         wcslen: Move AC_LIBOBJ invocations to module description.
17469         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
17470         * modules/wcslen (configure.ac): ... to here.
17471
17472 2011-05-22  Bruno Haible  <bruno@clisp.org>
17473
17474         wcsdup: Move AC_LIBOBJ invocations to module description.
17475         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
17476         * modules/wcsdup (configure.ac): ... to here.
17477
17478 2011-05-22  Bruno Haible  <bruno@clisp.org>
17479
17480         wcscspn: Move AC_LIBOBJ invocations to module description.
17481         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
17482         here...
17483         * modules/wcscspn (configure.ac): ... to here.
17484
17485 2011-05-22  Bruno Haible  <bruno@clisp.org>
17486
17487         wcscpy: Move AC_LIBOBJ invocations to module description.
17488         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
17489         * modules/wcscpy (configure.ac): ... to here.
17490
17491 2011-05-22  Bruno Haible  <bruno@clisp.org>
17492
17493         wcscoll: Move AC_LIBOBJ invocations to module description.
17494         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
17495         here...
17496         * modules/wcscoll (configure.ac): ... to here.
17497
17498 2011-05-22  Bruno Haible  <bruno@clisp.org>
17499
17500         wcscmp: Move AC_LIBOBJ invocations to module description.
17501         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
17502         * modules/wcscmp (configure.ac): ... to here.
17503
17504 2011-05-22  Bruno Haible  <bruno@clisp.org>
17505
17506         wcschr: Move AC_LIBOBJ invocations to module description.
17507         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
17508         * modules/wcschr (configure.ac): ... to here.
17509
17510 2011-05-22  Bruno Haible  <bruno@clisp.org>
17511
17512         wcscat: Move AC_LIBOBJ invocations to module description.
17513         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
17514         * modules/wcscat (configure.ac): ... to here.
17515
17516 2011-05-22  Bruno Haible  <bruno@clisp.org>
17517
17518         wcscasecmp: Move AC_LIBOBJ invocations to module description.
17519         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
17520         here...
17521         * modules/wcscasecmp (configure.ac): ... to here.
17522
17523 2011-05-22  Bruno Haible  <bruno@clisp.org>
17524
17525         wcrtomb: Move AC_LIBOBJ invocations to module description.
17526         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
17527         invocations from here...
17528         * modules/wcrtomb (configure.ac): ... to here.
17529
17530 2011-05-22  Bruno Haible  <bruno@clisp.org>
17531
17532         wcpncpy: Move AC_LIBOBJ invocations to module description.
17533         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
17534         here...
17535         * modules/wcpncpy (configure.ac): ... to here.
17536
17537 2011-05-22  Bruno Haible  <bruno@clisp.org>
17538
17539         wcpcpy: Move AC_LIBOBJ invocations to module description.
17540         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
17541         * modules/wcpcpy (configure.ac): ... to here.
17542
17543 2011-05-22  Bruno Haible  <bruno@clisp.org>
17544
17545         waitpid: Move AC_LIBOBJ invocations to module description.
17546         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
17547         invocation from here...
17548         * modules/waitpid (configure.ac): ... to here.
17549
17550 2011-05-22  Bruno Haible  <bruno@clisp.org>
17551
17552         utimensat: Move AC_LIBOBJ invocations to module description.
17553         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
17554         here...
17555         * modules/utimensat (configure.ac): ... to here.
17556
17557 2011-05-22  Bruno Haible  <bruno@clisp.org>
17558
17559         usleep: Move AC_LIBOBJ invocations to module description.
17560         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
17561         here...
17562         * modules/usleep (configure.ac): ... to here.
17563
17564 2011-05-22  Bruno Haible  <bruno@clisp.org>
17565
17566         unlockpt: Move AC_LIBOBJ invocations to module description.
17567         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
17568         gl_PREREQ_UNLOCKPT invocations from here...
17569         * modules/unlockpt (configure.ac): ... to here.
17570
17571 2011-05-22  Bruno Haible  <bruno@clisp.org>
17572
17573         unlink: Respect rules for use of AC_LIBOBJ.
17574         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
17575         * modules/unlink (configure.ac): ... to here.
17576
17577 2011-05-22  Bruno Haible  <bruno@clisp.org>
17578
17579         uname: Move AC_LIBOBJ invocations to module description.
17580         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
17581         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
17582         here...
17583         * modules/uname (configure.ac): ... to here.
17584
17585 2011-05-22  Bruno Haible  <bruno@clisp.org>
17586
17587         ttyname_r: Move AC_LIBOBJ invocations to module description.
17588         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
17589         gl_PREREQ_TTYNAME_R invocations from here...
17590         * modules/ttyname_r (configure.ac): ... to here.
17591
17592 2011-05-22  Bruno Haible  <bruno@clisp.org>
17593
17594         tsearch: Move AC_LIBOBJ invocations to module description.
17595         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
17596         invocations from here...
17597         * modules/tsearch (configure.ac): ... to here.
17598
17599 2011-05-22  Bruno Haible  <bruno@clisp.org>
17600
17601         towctrans: Move AC_LIBOBJ invocations to module description.
17602         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
17603         AC_LIBOBJ invocation from here...
17604         * modules/towctrans (configure.ac): ... to here.
17605
17606 2011-05-22  Bruno Haible  <bruno@clisp.org>
17607
17608         tmpfile: Move AC_LIBOBJ invocations to module description.
17609         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
17610         invocations from here...
17611         * modules/tmpfile (configure.ac): ... to here.
17612
17613 2011-05-22  Bruno Haible  <bruno@clisp.org>
17614
17615         times: Move AC_LIBOBJ invocations to module description.
17616         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
17617         * modules/times (configure.ac): ... to here.
17618
17619 2011-05-22  Bruno Haible  <bruno@clisp.org>
17620
17621         time_r: Move AC_LIBOBJ invocations to module description.
17622         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
17623         invocations from here...
17624         * modules/time_r (configure.ac): ... to here.
17625
17626 2011-05-22  Bruno Haible  <bruno@clisp.org>
17627
17628         timegm: Move AC_LIBOBJ invocations to module description.
17629         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
17630         invocations from here...
17631         * modules/timegm (configure.ac): ... to here.
17632
17633 2011-05-22  Bruno Haible  <bruno@clisp.org>
17634
17635         tcgetsid: Move AC_LIBOBJ invocations to module description.
17636         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
17637         and gl_PREREQ_TCGETSID invocations from here...
17638         * modules/tcgetsid (configure.ac): ... to here.
17639         (Depends-on): Update conditions.
17640
17641 2011-05-22  Bruno Haible  <bruno@clisp.org>
17642
17643         symlinkat: Move AC_LIBOBJ invocations to module description.
17644         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
17645         here...
17646         * modules/symlinkat (configure.ac): ... to here.
17647
17648 2011-05-22  Bruno Haible  <bruno@clisp.org>
17649
17650         symlink: Move AC_LIBOBJ invocations to module description.
17651         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
17652         here...
17653         * modules/symlink (configure.ac): ... to here.
17654
17655 2011-05-22  Bruno Haible  <bruno@clisp.org>
17656
17657         strverscmp: Move AC_LIBOBJ invocations to module description.
17658         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
17659         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
17660         from here...
17661         * modules/strverscmp (configure.ac): ... to here.
17662
17663 2011-05-22  Bruno Haible  <bruno@clisp.org>
17664
17665         strtok_r: Move AC_LIBOBJ invocations to module description.
17666         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
17667         and gl_PREREQ_STRTOK_R invocations from here...
17668         * modules/strtok_r (configure.ac): ... to here.
17669         (Depends-on): Update conditions.
17670
17671 2011-05-22  Bruno Haible  <bruno@clisp.org>
17672
17673         strtoumax: Move AC_LIBOBJ invocations to module description.
17674         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
17675         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
17676         from here...
17677         * modules/strtoumax (configure.ac): ... to here.
17678
17679 2011-05-22  Bruno Haible  <bruno@clisp.org>
17680
17681         strtoimax: Move AC_LIBOBJ invocations to module description.
17682         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
17683         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
17684         from here...
17685         * modules/strtoimax (configure.ac): ... to here.
17686
17687 2011-05-22  Bruno Haible  <bruno@clisp.org>
17688
17689         strtoull: Move AC_LIBOBJ invocations to module description.
17690         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
17691         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
17692         from here...
17693         * modules/strtoull (configure.ac): ... to here.
17694
17695 2011-05-22  Bruno Haible  <bruno@clisp.org>
17696
17697         strtoll: Move AC_LIBOBJ invocations to module description.
17698         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
17699         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
17700         here...
17701         * modules/strtoll (configure.ac): ... to here.
17702
17703 2011-05-22  Bruno Haible  <bruno@clisp.org>
17704
17705         strtoul: Move AC_LIBOBJ invocations to module description.
17706         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
17707         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17708         * modules/strtoul (configure.ac): ... to here.
17709
17710 2011-05-22  Bruno Haible  <bruno@clisp.org>
17711
17712         strtol: Move AC_LIBOBJ invocations to module description.
17713         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
17714         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17715         * modules/strtol (configure.ac): ... to here.
17716
17717 2011-05-22  Bruno Haible  <bruno@clisp.org>
17718
17719         strtod: Move AC_LIBOBJ invocations to module description.
17720         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
17721         invocations from here...
17722         * modules/strtod (configure.ac): ... to here.
17723
17724 2011-05-22  Bruno Haible  <bruno@clisp.org>
17725
17726         strstr*: Move AC_LIBOBJ invocations to module description.
17727         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
17728         invocations from here...
17729         * modules/strstr-simple (configure.ac): ... to here.
17730         * modules/strstr (configure.ac): ... and here.
17731
17732 2011-05-22  Bruno Haible  <bruno@clisp.org>
17733
17734         strsignal: Move AC_LIBOBJ invocations to module description.
17735         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
17736         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
17737         * modules/strsignal (configure.ac): ... to here.
17738         (Depends-on): Update conditions.
17739
17740 2011-05-22  Bruno Haible  <bruno@clisp.org>
17741
17742         strsep: Move AC_LIBOBJ invocations to module description.
17743         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
17744         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
17745         here...
17746         * modules/strsep (configure.ac): ... to here.
17747
17748 2011-05-22  Bruno Haible  <bruno@clisp.org>
17749
17750         strptime: Move AC_LIBOBJ invocations to module description.
17751         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
17752         gl_PREREQ_STRPTIME invocations from here...
17753         * modules/strptime (configure.ac): ... to here.
17754
17755 2011-05-22  Bruno Haible  <bruno@clisp.org>
17756
17757         strpbrk: Move AC_LIBOBJ invocations to module description.
17758         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
17759         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
17760         here...
17761         * modules/strpbrk (configure.ac): ... to here.
17762
17763 2011-05-22  Bruno Haible  <bruno@clisp.org>
17764
17765         strnlen: Move AC_LIBOBJ invocations to module description.
17766         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
17767         invocations from here...
17768         * modules/strnlen (configure.ac): ... to here.
17769
17770 2011-05-22  Bruno Haible  <bruno@clisp.org>
17771
17772         strndup: Move AC_LIBOBJ invocations to module description.
17773         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
17774         invocations from here...
17775         * modules/strndup (configure.ac): ... to here.
17776         (Depends-on): Update conditions.
17777
17778 2011-05-22  Bruno Haible  <bruno@clisp.org>
17779
17780         strncat: Move AC_LIBOBJ invocations to module description.
17781         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
17782         invocations from here...
17783         * modules/strncat (configure.ac): ... to here.
17784
17785 2011-05-22  Bruno Haible  <bruno@clisp.org>
17786
17787         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
17788         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
17789         invocations from here...
17790         * modules/strdup (configure.ac): ... to here.
17791         * modules/strdup-posix (configure.ac): ... and here.
17792
17793 2011-05-22  Bruno Haible  <bruno@clisp.org>
17794
17795         strcspn: Move AC_LIBOBJ invocations to module description.
17796         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
17797         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
17798         here...
17799         * modules/strcspn (configure.ac): ... to here.
17800
17801 2011-05-22  Bruno Haible  <bruno@clisp.org>
17802
17803         strchrnul: Move AC_LIBOBJ invocations to module description.
17804         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
17805         gl_PREREQ_STRCHRNUL invocations from here...
17806         * modules/strchrnul (configure.ac): ... to here.
17807
17808 2011-05-22  Bruno Haible  <bruno@clisp.org>
17809
17810         strcasestr*: Move AC_LIBOBJ invocations to module description.
17811         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17812         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
17813         * modules/strcasestr-simple (configure.ac): ... to here.
17814         * modules/strcasestr (configure.ac): ... and here.
17815
17816 2011-05-22  Bruno Haible  <bruno@clisp.org>
17817
17818         strcase: Move AC_LIBOBJ invocations to module description.
17819         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
17820         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
17821         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
17822         gl_PREREQ_STRNCASECMP invocations from here...
17823         * modules/strcase (configure.ac): ... to here.
17824
17825 2011-05-22  Bruno Haible  <bruno@clisp.org>
17826
17827         stpncpy: Move AC_LIBOBJ invocations to module description.
17828         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
17829         here...
17830         * modules/stpncpy (configure.ac): ... to here.
17831
17832 2011-05-22  Bruno Haible  <bruno@clisp.org>
17833
17834         stpcpy: Move AC_LIBOBJ invocations to module description.
17835         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
17836         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
17837         here...
17838         * modules/stpcpy (configure.ac): ... to here.
17839
17840 2011-05-21  Bruno Haible  <bruno@clisp.org>
17841
17842         stat: Move AC_LIBOBJ invocations to module description.
17843         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
17844         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
17845         here...
17846         * modules/stat (configure.ac): ... to here.
17847
17848 2011-05-21  Bruno Haible  <bruno@clisp.org>
17849
17850         sleep: Move AC_LIBOBJ invocations to module description.
17851         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
17852         * modules/sleep (configure.ac): ... to here.
17853
17854 2011-05-21  Bruno Haible  <bruno@clisp.org>
17855
17856         signbit: Move AC_LIBOBJ invocations to module description.
17857         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
17858         * modules/signbit (configure.ac): ... to here.
17859
17860 2011-05-21  Bruno Haible  <bruno@clisp.org>
17861
17862         sigprocmask: Move AC_LIBOBJ invocations to module description.
17863         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
17864         gl_PREREQ_SIGPROMASK invocations from here...
17865         * modules/sigprocmask (configure.ac): ... to here.
17866
17867 2011-05-21  Bruno Haible  <bruno@clisp.org>
17868
17869         sigaction: Move AC_LIBOBJ invocations to module description.
17870         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
17871         gl_PREREQ_SIGACTION invocations from here...
17872         * modules/sigaction (configure.ac): ... to here.
17873
17874 2011-05-21  Bruno Haible  <bruno@clisp.org>
17875
17876         sig2str: Move AC_LIBOBJ invocations to module description.
17877         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
17878         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
17879         here...
17880         * modules/sig2str (configure.ac): ... to here.
17881
17882 2011-05-21  Bruno Haible  <bruno@clisp.org>
17883
17884         setlocale: Move AC_LIBOBJ invocations to module description.
17885         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
17886         gl_PREREQ_SETLOCALE invocations from here...
17887         * modules/setlocale (configure.ac): ... to here.
17888
17889 2011-05-21  Bruno Haible  <bruno@clisp.org>
17890
17891         unsetenv: Move AC_LIBOBJ invocations to module description.
17892         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
17893         and gl_PREREQ_UNSETENV invocations from here...
17894         * modules/unsetenv (configure.ac): ... to here.
17895         (Depends-on): Update.
17896
17897 2011-05-21  Bruno Haible  <bruno@clisp.org>
17898
17899         setenv: Move AC_LIBOBJ invocations to module description.
17900         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
17901         here...
17902         * modules/setenv (configure.ac): ... to here.
17903
17904 2011-05-21  Bruno Haible  <bruno@clisp.org>
17905
17906         selinux-h: Move AC_LIBOBJ invocations to module description.
17907         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
17908         AC_LIBOBJ invocation from here...
17909         * modules/selinux-h (configure.ac): ... to here.
17910
17911 2011-05-21  Bruno Haible  <bruno@clisp.org>
17912
17913         select: Respect rules for use of AC_LIBOBJ.
17914         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
17915         here...
17916         * modules/select (configure.ac): ... to here.
17917
17918 2011-05-21  Bruno Haible  <bruno@clisp.org>
17919
17920         scandir: Move AC_LIBOBJ invocations to module description.
17921         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
17922         invocations from here...
17923         * modules/scandir (configure.ac): ... to here.
17924
17925 2011-05-21  Bruno Haible  <bruno@clisp.org>
17926
17927         rpmatch: Move AC_LIBOBJ invocations to module description.
17928         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
17929         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
17930         here...
17931         * modules/rpmatch (configure.ac): ... to here.
17932
17933 2011-05-21  Bruno Haible  <bruno@clisp.org>
17934
17935         rmdir: Respect rules for use of AC_LIBOBJ.
17936         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
17937         * modules/rmdir (configure.ac): ... to here.
17938
17939 2011-05-21  Bruno Haible  <bruno@clisp.org>
17940
17941         renameat: Move AC_LIBOBJ invocations to module description.
17942         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
17943         here...
17944         * modules/renameat (configure.ac): ... to here.
17945
17946 2011-05-21  Bruno Haible  <bruno@clisp.org>
17947
17948         rename: Respect rules for use of AC_LIBOBJ.
17949         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
17950         here...
17951         * modules/rename (configure.ac): ... to here.
17952
17953 2011-05-21  Bruno Haible  <bruno@clisp.org>
17954
17955         remove: Move AC_LIBOBJ invocations to module description.
17956         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
17957         here...
17958         * modules/remove (configure.ac): ... to here.
17959
17960 2011-05-21  Bruno Haible  <bruno@clisp.org>
17961
17962         relocatable-lib: Move AC_LIBOBJ invocations to module description.
17963         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
17964         macro.
17965         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
17966         * modules/relocatable-lib (configure.ac): ... to here.
17967         * modules/relocatable-prog-wrapper (configure.ac): Invoke
17968         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
17969
17970 2011-05-21  Bruno Haible  <bruno@clisp.org>
17971
17972         relocatable-prog: Move AC_LIBOBJ invocations to module description.
17973         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
17974         here...
17975         * modules/relocatable-prog (configure.ac): ... to here.
17976
17977 2011-05-21  Bruno Haible  <bruno@clisp.org>
17978
17979         regex: Move AC_LIBOBJ invocations to module description.
17980         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
17981         invocations from here...
17982         * modules/regex (configure.ac): ... to here.
17983
17984 2011-05-21  Bruno Haible  <bruno@clisp.org>
17985
17986         realloc-*: Move AC_LIBOBJ invocations to module description.
17987         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
17988         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
17989         AC_LIBOBJ invocations from here...
17990         * modules/realloc-gnu (configure.ac): ... to here.
17991         * modules/realloc-posix (configure.ac): ... and here.
17992
17993 2011-05-21  Bruno Haible  <bruno@clisp.org>
17994
17995         readutmp: Move AC_LIBOBJ invocations to module description.
17996         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
17997         * modules/readutmp (configure.ac): ... to here.
17998
17999 2011-05-21  Bruno Haible  <bruno@clisp.org>
18000
18001         readlinkat: Move AC_LIBOBJ invocations to module description.
18002         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
18003         here...
18004         * modules/readlinkat (configure.ac): ... to here.
18005
18006 2011-05-21  Bruno Haible  <bruno@clisp.org>
18007
18008         readlink: Move AC_LIBOBJ invocations to module description.
18009         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
18010         gl_PREREQ_READLINK invocations from here...
18011         * modules/readlink (configure.ac): ... to here.
18012
18013 2011-05-21  Bruno Haible  <bruno@clisp.org>
18014
18015         readline: Move AC_LIBOBJ invocations to module description.
18016         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
18017         gl_PREREQ_READLINE invocations from here...
18018         * modules/readline (configure.ac): ... to here.
18019
18020 2011-05-21  Bruno Haible  <bruno@clisp.org>
18021
18022         read: Move AC_LIBOBJ invocations to module description.
18023         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
18024         * modules/read (configure.ac): ... to here.
18025
18026 2011-05-21  Bruno Haible  <bruno@clisp.org>
18027
18028         rawmemchr: Move AC_LIBOBJ invocations to module description.
18029         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
18030         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
18031         from here...
18032         * modules/rawmemchr (configure.ac): ... to here.
18033
18034 2011-05-21  Bruno Haible  <bruno@clisp.org>
18035
18036         random_r: Move AC_LIBOBJ invocations to module description.
18037         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
18038         gl_PREREQ_RANDOM_R invocations from here...
18039         * modules/random_r (configure.ac): ... to here.
18040
18041 2011-05-21  Bruno Haible  <bruno@clisp.org>
18042
18043         pwrite: Move AC_LIBOBJ invocations to module description.
18044         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
18045         * modules/pwrite (configure.ac): ... to here.
18046
18047 2011-05-21  Bruno Haible  <bruno@clisp.org>
18048
18049         putenv: Move AC_LIBOBJ invocations to module description.
18050         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
18051         * modules/putenv (configure.ac): ... to here.
18052
18053 2011-05-21  Bruno Haible  <bruno@clisp.org>
18054
18055         login_tty: Move AC_LIBOBJ invocations to module description.
18056         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
18057         * modules/login_tty (configure.ac): ... to here.
18058
18059 2011-05-21  Bruno Haible  <bruno@clisp.org>
18060
18061         openpty: Move AC_LIBOBJ invocations to module description.
18062         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
18063         * modules/openpty (configure.ac): ... to here.
18064
18065 2011-05-21  Bruno Haible  <bruno@clisp.org>
18066
18067         forkpty: Move AC_LIBOBJ invocations to module description.
18068         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
18069         * modules/forkpty (configure.ac): ... to here.
18070
18071 2011-05-21  Bruno Haible  <bruno@clisp.org>
18072
18073         ptsname: Move AC_LIBOBJ invocations to module description.
18074         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
18075         invocations from here...
18076         * modules/ptsname (configure.ac): ... to here.
18077
18078 2011-05-21  Bruno Haible  <bruno@clisp.org>
18079
18080         pread: Move AC_LIBOBJ invocations to module description.
18081         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
18082         * modules/pread (configure.ac): ... to here.
18083
18084 2011-05-21  Bruno Haible  <bruno@clisp.org>
18085
18086         posix_spawn*: Move AC_LIBOBJ invocations to module description.
18087         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
18088         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
18089         * modules/posix_spawn (configure.ac): ... to here.
18090         * modules/posix_spawnp (configure.ac): ... and here.
18091
18092 2011-05-21  Bruno Haible  <bruno@clisp.org>
18093
18094         popen: Move AC_LIBOBJ invocations to module description.
18095         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
18096         invocations from here...
18097         * modules/popen (configure.ac): ... to here.
18098
18099 2011-05-21  Bruno Haible  <bruno@clisp.org>
18100
18101         poll: Move AC_LIBOBJ invocations to module description.
18102         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
18103         invocations from here...
18104         * modules/poll (configure.ac): ... to here.
18105
18106 2011-05-21  Bruno Haible  <bruno@clisp.org>
18107
18108         pipe-posix: Move AC_LIBOBJ invocations to module description.
18109         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
18110         * modules/pipe-posix (configure.ac): ... to here.
18111
18112 2011-05-21  Bruno Haible  <bruno@clisp.org>
18113
18114         openat: Respect rules for use of AC_LIBOBJ.
18115         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
18116         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18117         * modules/openat (configure.ac): ... to here.
18118
18119 2011-05-21  Bruno Haible  <bruno@clisp.org>
18120
18121         obstack-printf*: Move AC_LIBOBJ invocations to module description.
18122         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
18123         invocation from here...
18124         * modules/obstack-printf (configure.ac): ... to here.
18125         * modules/obstack-printf-posix (configure.ac): ... and here.
18126
18127 2011-05-21  Bruno Haible  <bruno@clisp.org>
18128
18129         nl_langinfo: Move AC_LIBOBJ invocations to module description.
18130         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
18131         from here...
18132         * modules/nl_langinfo (configure.ac): ... to here.
18133
18134 2011-05-21  Bruno Haible  <bruno@clisp.org>
18135
18136         nanosleep: Move AC_LIBOBJ invocations to module description.
18137         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
18138         gl_PREREQ_NANOSLEEP invocations from here...
18139         * modules/nanosleep (configure.ac): ... to here.
18140
18141 2011-05-21  Bruno Haible  <bruno@clisp.org>
18142
18143         mountlist: Move AC_LIBOBJ invocations to module description.
18144         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
18145         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
18146         * modules/mountlist (configure.ac): ... to here.
18147
18148 2011-05-21  Bruno Haible  <bruno@clisp.org>
18149
18150         mktime: Respect rules for use of AC_LIBOBJ.
18151         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
18152         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
18153         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
18154         (gl_FUNC_MKTIME_INTERNAL): ... and here...
18155         * modules/mktime (configure.ac): ... to here.
18156         * modules/mktime-internal (configure.ac): ... and here.
18157         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
18158
18159 2011-05-21  Bruno Haible  <bruno@clisp.org>
18160
18161         mkstemps: Move AC_LIBOBJ invocations to module description.
18162         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
18163         here...
18164         * modules/mkstemps (configure.ac): ... to here.
18165
18166 2011-05-21  Bruno Haible  <bruno@clisp.org>
18167
18168         mkstemp: Move AC_LIBOBJ invocations to module description.
18169         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
18170         gl_PREREQ_MKSTEMP invocations from here...
18171         * modules/mkstemp (configure.ac): ... to here.
18172
18173 2011-05-21  Bruno Haible  <bruno@clisp.org>
18174
18175         mkostemps: Move AC_LIBOBJ invocations to module description.
18176         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
18177         here...
18178         * modules/mkostemps (configure.ac): ... to here.
18179
18180 2011-05-21  Bruno Haible  <bruno@clisp.org>
18181
18182         mkostemp: Move AC_LIBOBJ invocations to module description.
18183         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
18184         gl_PREREQ_MKOSTEMP invocations from here...
18185         * modules/mkostemp (configure.ac): ... to here.
18186
18187 2011-05-21  Bruno Haible  <bruno@clisp.org>
18188
18189         mknod: Move AC_LIBOBJ invocations to module description.
18190         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
18191         * modules/mknod (configure.ac): ... to here.
18192
18193 2011-05-21  Bruno Haible  <bruno@clisp.org>
18194
18195         mkfifoat: Move AC_LIBOBJ invocations to module description.
18196         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
18197         here...
18198         * modules/mkfifoat (configure.ac): ... to here.
18199
18200 2011-05-21  Bruno Haible  <bruno@clisp.org>
18201
18202         mkfifo: Respect rules for use of AC_LIBOBJ.
18203         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
18204         here...
18205         * modules/mkfifo (configure.ac): ... to here.
18206
18207 2011-05-21  Bruno Haible  <bruno@clisp.org>
18208
18209         mkdtemp: Move AC_LIBOBJ invocations to module description.
18210         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
18211         invocations from here...
18212         * modules/mkdtemp (configure.ac): ... to here.
18213
18214 2011-05-21  Bruno Haible  <bruno@clisp.org>
18215
18216         mkdir: Move AC_LIBOBJ invocations to module description.
18217         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
18218         * modules/mkdir (configure.ac): ... to here.
18219
18220 2011-05-21  Bruno Haible  <bruno@clisp.org>
18221
18222         memset: Move AC_LIBOBJ invocations to module description.
18223         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
18224         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
18225         here...
18226         * modules/memset (configure.ac): ... to here.
18227
18228 2011-05-21  Bruno Haible  <bruno@clisp.org>
18229
18230         memrchr: Move AC_LIBOBJ invocations to module description.
18231         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
18232         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
18233         here...
18234         * modules/memrchr (configure.ac): ... to here.
18235
18236 2011-05-21  Bruno Haible  <bruno@clisp.org>
18237
18238         mempcpy: Move AC_LIBOBJ invocations to module description.
18239         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
18240         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
18241         here...
18242         * modules/mempcpy (configure.ac): ... to here.
18243
18244 2011-05-21  Bruno Haible  <bruno@clisp.org>
18245
18246         memmove: Move AC_LIBOBJ invocations to module description.
18247         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
18248         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
18249         here...
18250         * modules/memmove (configure.ac): ... to here.
18251
18252 2011-05-21  Bruno Haible  <bruno@clisp.org>
18253
18254         memmem*: Move AC_LIBOBJ invocations to module description.
18255         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
18256         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
18257         here...
18258         (gl_FUNC_MEMMEM): ... and here...
18259         * modules/memmem-simple (configure.ac): ... to here.
18260         * modules/memmem (configure.ac): ... and here.
18261
18262 2011-05-21  Bruno Haible  <bruno@clisp.org>
18263
18264         memcpy: Move AC_LIBOBJ invocations to module description.
18265         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
18266         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
18267         here...
18268         * modules/memcpy (configure.ac): ... to here.
18269
18270 2011-05-21  Bruno Haible  <bruno@clisp.org>
18271
18272         memcmp: Simplify autoconf macro.
18273         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
18274         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
18275         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
18276
18277 2011-05-21  Bruno Haible  <bruno@clisp.org>
18278
18279         memcmp: Move AC_LIBOBJ invocations to module description.
18280         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
18281         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
18282         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
18283         * modules/memcmp (configure.ac): ... to here.
18284         (Depends-on): Update conditions.
18285
18286 2011-05-21  Bruno Haible  <bruno@clisp.org>
18287
18288         memchr: Respect rules for use of AC_LIBOBJ.
18289         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
18290         invocations from here...
18291         * modules/memchr (configure.ac): ... to here.
18292
18293 2011-05-21  Bruno Haible  <bruno@clisp.org>
18294
18295         mbtowc: Move AC_LIBOBJ invocations to module description.
18296         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
18297         invocations from here...
18298         * modules/mbtowc (configure.ac): ... to here.
18299
18300 2011-05-21  Bruno Haible  <bruno@clisp.org>
18301
18302         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
18303         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
18304         gl_PREREQ_MBSRTOWCS invocations from here...
18305         * modules/mbsrtowcs (configure.ac): ... to here.
18306
18307 2011-05-21  Bruno Haible  <bruno@clisp.org>
18308
18309         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
18310         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
18311         gl_PREREQ_MBSNRTOWCS invocations from here...
18312         * modules/mbsnrtowcs (configure.ac): ... to here.
18313
18314 2011-05-21  Bruno Haible  <bruno@clisp.org>
18315
18316         mbsinit: Move AC_LIBOBJ invocations to module description.
18317         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
18318         invocations from here...
18319         * modules/mbsinit (configure.ac): ... to here.
18320
18321 2011-05-21  Bruno Haible  <bruno@clisp.org>
18322
18323         mbrlen: Move AC_LIBOBJ invocations to module description.
18324         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
18325         invocations from here...
18326         * modules/mbrlen (configure.ac): ... to here.
18327
18328 2011-05-21  Bruno Haible  <bruno@clisp.org>
18329
18330         mbrtowc: Respect rules for use of AC_LIBOBJ.
18331         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
18332         invocations from here...
18333         * modules/mbrtowc (configure.ac): ... to here.
18334
18335 2011-05-21  Bruno Haible  <bruno@clisp.org>
18336
18337         malloc-*: Move AC_LIBOBJ invocations to module description.
18338         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
18339         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
18340         AC_LIBOBJ invocations from here...
18341         * modules/malloc-gnu (configure.ac): ... to here.
18342         * modules/malloc-posix (configure.ac): ... and here.
18343
18344 2011-05-21  Bruno Haible  <bruno@clisp.org>
18345
18346         lstat, openat: Respect rules for use of AC_LIBOBJ.
18347         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
18348         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
18349         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
18350         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
18351         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
18352         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
18353         here.
18354         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
18355
18356 2011-05-21  Bruno Haible  <bruno@clisp.org>
18357
18358         lseek: Move AC_LIBOBJ invocations to module description.
18359         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
18360         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18361         * modules/lseek (configure.ac): ... to here.
18362
18363 2011-05-21  Bruno Haible  <bruno@clisp.org>
18364
18365         linkat: Move AC_LIBOBJ invocations to module description.
18366         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
18367         here...
18368         * modules/linkat (configure.ac): ... to here.
18369
18370 2011-05-21  Bruno Haible  <bruno@clisp.org>
18371
18372         link: Respect rules for use of AC_LIBOBJ.
18373         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
18374         * modules/link (configure.ac): ... to here.
18375
18376 2011-05-21  Bruno Haible  <bruno@clisp.org>
18377
18378         lchown: Move AC_LIBOBJ invocations to module description.
18379         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18380         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18381         * modules/lchown (configure.ac): ... to here.
18382
18383 2011-05-21  Bruno Haible  <bruno@clisp.org>
18384
18385         iswctype: Move AC_LIBOBJ invocations to module description.
18386         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
18387         here...
18388         * modules/iswctype (configure.ac): ... to here.
18389
18390 2011-05-21  Bruno Haible  <bruno@clisp.org>
18391
18392         iswblank: Move AC_LIBOBJ invocations to module description.
18393         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
18394         here...
18395         * modules/iswblank (configure.ac): ... to here.
18396
18397 2011-05-21  Bruno Haible  <bruno@clisp.org>
18398
18399         atanl: Move AC_LIBOBJ invocations to module description.
18400         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
18401         * modules/atanl (configure.ac): ... to here.
18402
18403 2011-05-21  Bruno Haible  <bruno@clisp.org>
18404
18405         acosl: Move AC_LIBOBJ invocations to module description.
18406         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
18407         * modules/acosl (configure.ac): ... to here.
18408
18409 2011-05-21  Bruno Haible  <bruno@clisp.org>
18410
18411         asinl: Respect rules for use of AC_LIBOBJ.
18412         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
18413         * modules/asinl (configure.ac): ... to here.
18414
18415 2011-05-21  Bruno Haible  <bruno@clisp.org>
18416
18417         tanl: Move AC_LIBOBJ invocations to module description.
18418         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
18419         * modules/tanl (configure.ac): ... to here.
18420
18421 2011-05-21  Bruno Haible  <bruno@clisp.org>
18422
18423         cosl: Move AC_LIBOBJ invocations to module description.
18424         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
18425         * modules/cosl (configure.ac): ... to here.
18426
18427 2011-05-21  Bruno Haible  <bruno@clisp.org>
18428
18429         sinl: Move AC_LIBOBJ invocations to module description.
18430         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
18431         * modules/sinl (configure.ac): ... to here.
18432
18433 2011-05-21  Bruno Haible  <bruno@clisp.org>
18434
18435         logl: Move AC_LIBOBJ invocations to module description.
18436         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
18437         * modules/logl (configure.ac): ... to here.
18438
18439 2011-05-21  Bruno Haible  <bruno@clisp.org>
18440
18441         expl: Move AC_LIBOBJ invocations to module description.
18442         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
18443         * modules/expl (configure.ac): ... to here.
18444
18445 2011-05-21  Bruno Haible  <bruno@clisp.org>
18446
18447         roundl: Move AC_LIBOBJ invocations to module description.
18448         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
18449         * modules/roundl (configure.ac): ... to here.
18450
18451 2011-05-21  Bruno Haible  <bruno@clisp.org>
18452
18453         round: Move AC_LIBOBJ invocations to module description.
18454         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
18455         * modules/round (configure.ac): ... to here.
18456
18457 2011-05-21  Bruno Haible  <bruno@clisp.org>
18458
18459         roundf: Move AC_LIBOBJ invocations to module description.
18460         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
18461         * modules/roundf (configure.ac): ... to here.
18462
18463 2011-05-21  Bruno Haible  <bruno@clisp.org>
18464
18465         truncl: Move AC_LIBOBJ invocations to module description.
18466         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
18467         * modules/truncl (configure.ac): ... to here.
18468
18469 2011-05-21  Bruno Haible  <bruno@clisp.org>
18470
18471         trunc: Move AC_LIBOBJ invocations to module description.
18472         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
18473         * modules/trunc (configure.ac): ... to here.
18474
18475 2011-05-21  Bruno Haible  <bruno@clisp.org>
18476
18477         truncf: Move AC_LIBOBJ invocations to module description.
18478         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
18479         * modules/truncf (configure.ac): ... to here.
18480
18481 2011-05-21  Bruno Haible  <bruno@clisp.org>
18482
18483         ceill: Move AC_LIBOBJ invocations to module description.
18484         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
18485         * modules/ceill (configure.ac): ... to here.
18486
18487 2011-05-21  Bruno Haible  <bruno@clisp.org>
18488
18489         ceil: Move AC_LIBOBJ invocations to module description.
18490         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
18491         * modules/ceil (configure.ac): ... to here.
18492
18493 2011-05-21  Bruno Haible  <bruno@clisp.org>
18494
18495         ceilf: Move AC_LIBOBJ invocations to module description.
18496         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
18497         * modules/ceilf (configure.ac): ... to here.
18498
18499 2011-05-21  Bruno Haible  <bruno@clisp.org>
18500
18501         floorl: Respect rules for use of AC_LIBOBJ.
18502         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
18503         * modules/floorl (configure.ac): ... to here.
18504
18505 2011-05-21  Bruno Haible  <bruno@clisp.org>
18506
18507         floor: Respect rules for use of AC_LIBOBJ.
18508         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
18509         * modules/floor (configure.ac): ... to here.
18510
18511 2011-05-21  Bruno Haible  <bruno@clisp.org>
18512
18513         floorf: Move AC_LIBOBJ invocations to module description.
18514         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
18515         * modules/floorf (configure.ac): ... to here.
18516
18517 2011-05-20  Bruno Haible  <bruno@clisp.org>
18518
18519         sqrtl: Respect rules for use of AC_LIBOBJ.
18520         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
18521         * modules/sqrtl (configure.ac): ... to here.
18522
18523 2011-05-20  Bruno Haible  <bruno@clisp.org>
18524
18525         ldexpl: Respect rules for use of AC_LIBOBJ.
18526         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
18527         * modules/ldexpl (configure.ac): ... to here.
18528
18529 2011-05-20  Bruno Haible  <bruno@clisp.org>
18530
18531         frexpl*: Respect rules for use of AC_LIBOBJ.
18532         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
18533         invocation from here...
18534         * modules/frexpl (configure.ac): ... to here.
18535         * modules/frexpl-nolibm (configure.ac): ... and here.
18536
18537 2011-05-20  Bruno Haible  <bruno@clisp.org>
18538
18539         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
18540         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
18541         invocation from here...
18542         * modules/frexp (configure.ac): ... to here.
18543         * modules/frexp-nolibm (configure.ac): ... and here.
18544
18545 2011-05-20  Bruno Haible  <bruno@clisp.org>
18546
18547         isnan: Respect rules for use of AC_LIBOBJ.
18548         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
18549         invocations here.
18550         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
18551         REPLACE_ISNAN.
18552         * modules/isnand (configure.ac): Likewise.
18553         * modules/isnanl (configure.ac): Likewise.
18554
18555 2011-05-20  Bruno Haible  <bruno@clisp.org>
18556
18557         isnanl*: Respect rules for use of AC_LIBOBJ.
18558         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
18559         invocation from here...
18560         * modules/isnanl (configure.ac): ... to here.
18561         * modules/isnanl-nolibm (configure.ac): ... and here.
18562
18563 2011-05-20  Bruno Haible  <bruno@clisp.org>
18564
18565         isnand*: Move AC_LIBOBJ invocations to module description.
18566         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
18567         invocation from here...
18568         * modules/isnand (configure.ac): ... to here.
18569         * modules/isnand-nolibm (configure.ac): ... and here.
18570
18571 2011-05-20  Bruno Haible  <bruno@clisp.org>
18572
18573         isnanf*: Move AC_LIBOBJ invocations to module description.
18574         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
18575         invocation from here...
18576         * modules/isnanf (configure.ac): ... to here.
18577         * modules/isnanf-nolibm (configure.ac): ... and here.
18578
18579 2011-05-20  Bruno Haible  <bruno@clisp.org>
18580
18581         isnan*: Separate the AC_LIBOBJ invocations.
18582         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
18583         AC_LIBOBJ invocation.
18584         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
18585         here.
18586         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
18587         AC_LIBOBJ invocation.
18588         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
18589         here.
18590         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
18591         AC_LIBOBJ invocation.
18592         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
18593         here.
18594         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
18595
18596 2011-05-08  Bruno Haible  <bruno@clisp.org>
18597
18598         isinf: Move AC_LIBOBJ invocations to module description.
18599         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
18600         * modules/isinf (configure.ac): ... to here.
18601
18602 2011-05-08  Bruno Haible  <bruno@clisp.org>
18603
18604         isfinite: Move AC_LIBOBJ invocations to module description.
18605         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
18606         * modules/isfinite (configure.ac): ... to here.
18607
18608 2011-05-08  Bruno Haible  <bruno@clisp.org>
18609
18610         isblank: Move AC_LIBOBJ invocations to module description.
18611         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
18612         here...
18613         * modules/isblank (configure.ac): ... to here.
18614
18615 2011-05-08  Bruno Haible  <bruno@clisp.org>
18616
18617         isapipe: Move AC_LIBOBJ invocations to module description.
18618         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
18619         gl_PREREQ_ISAPIPE invocations from here...
18620         * modules/isapipe (configure.ac): ... to here.
18621         (Depends-on): Update condition.
18622
18623 2011-05-08  Bruno Haible  <bruno@clisp.org>
18624
18625         ioctl: Move AC_LIBOBJ invocations to module description.
18626         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
18627         invocations from here...
18628         * modules/ioctl (configure.ac): ... to here.
18629         (Depends-on): Update condition.
18630
18631 2011-05-08  Bruno Haible  <bruno@clisp.org>
18632
18633         imaxdiv: Move AC_LIBOBJ invocations to module description.
18634         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
18635         invocations from here...
18636         * modules/imaxdiv (configure.ac): ... to here.
18637
18638 2011-05-08  Bruno Haible  <bruno@clisp.org>
18639
18640         imaxabs: Move AC_LIBOBJ invocations to module description.
18641         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
18642         invocations from here...
18643         * modules/imaxabs (configure.ac): ... to here.
18644
18645 2011-05-08  Bruno Haible  <bruno@clisp.org>
18646
18647         getaddrinfo: Move AC_LIBOBJ invocations to module description.
18648         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
18649         AC_LIBOBJ invocations from here...
18650         * modules/getaddrinfo (configure.ac): ... to here.
18651         (Depends-on): Add conditions.
18652
18653 2011-05-08  Bruno Haible  <bruno@clisp.org>
18654
18655         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18656         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
18657         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18658         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
18659         (gl_PREREQ_INET_PTON): ... from here.
18660         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
18661         gl_PREREQ_INET_PTON here.
18662         (Depends-on): Update condition.
18663
18664 2011-05-08  Bruno Haible  <bruno@clisp.org>
18665
18666         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18667         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
18668         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18669         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
18670         (gl_PREREQ_INET_NTOP): ... from here.
18671         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
18672         gl_PREREQ_INET_NTOP here.
18673         (Depends-on): Update condition.
18674
18675 2011-05-08  Bruno Haible  <bruno@clisp.org>
18676
18677         iconv_open: Move AC_LIBOBJ invocations to module description.
18678         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
18679         AC_LIBOBJ invocations from here...
18680         * modules/iconv_open (configure.ac): ... to here.
18681
18682 2011-05-08  Bruno Haible  <bruno@clisp.org>
18683
18684         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
18685         If module 'iconv_open' is among the main modules and module
18686         'iconv_open-utf' is among the tests dependencies, then
18687         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
18688         return the special iconv_t values. Therefore iconv() and iconv_close()
18689         must support these special iconv_t values, already in lib, not only in
18690         tests.
18691         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
18692         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
18693         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
18694         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
18695         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
18696         (Depends-on): Add the dependencies of iconv_open-utf.
18697         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
18698         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
18699         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
18700
18701 2011-05-08  Bruno Haible  <bruno@clisp.org>
18702
18703         group-member: Move AC_LIBOBJ invocations to module description.
18704         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
18705         gl_PREREQ_GROUP_MEMBER invocations from here...
18706         * modules/group-member (configure.ac): ... to here.
18707
18708 2011-05-08  Bruno Haible  <bruno@clisp.org>
18709
18710         grantpt: Move AC_LIBOBJ invocations to module description.
18711         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
18712         invocations from here...
18713         * modules/grantpt (configure.ac): ... to here.
18714
18715 2011-05-08  Bruno Haible  <bruno@clisp.org>
18716
18717         glob: Move AC_LIBOBJ invocations to module description.
18718         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
18719         from here...
18720         * modules/glob (configure.ac): ... to here.
18721
18722 2011-05-08  Bruno Haible  <bruno@clisp.org>
18723
18724         getusershell: Move AC_LIBOBJ invocations to module description.
18725         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
18726         Move AC_LIBOBJ invocation from here...
18727         * modules/getusershell (configure.ac): ... to here.
18728         (Depends-on): Update condition.
18729
18730 2011-05-08  Bruno Haible  <bruno@clisp.org>
18731
18732         gettimeofday: Move AC_LIBOBJ invocations to module description.
18733         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
18734         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
18735         gl_PREREQ_GETTIMEOFDAY invocations from here...
18736         * modules/gettimeofday (configure.ac): ... to here.
18737
18738 2011-05-08  Bruno Haible  <bruno@clisp.org>
18739
18740         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
18741         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
18742         just gl_FUNC_TZSET.
18743         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
18744         (gl_FUNC_TZSET_CLOBBER): Remove actions.
18745         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
18746         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
18747
18748 2011-05-08  Bruno Haible  <bruno@clisp.org>
18749
18750         getsubopt: Move AC_LIBOBJ invocations to module description.
18751         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
18752         gl_PREREQ_GETSUBOPT invocations from here...
18753         * modules/getsubopt (configure.ac): ... to here.
18754
18755 2011-05-08  Bruno Haible  <bruno@clisp.org>
18756
18757         getpass-gnu: Move AC_LIBOBJ invocations to module description.
18758         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
18759         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
18760         * modules/getpass-gnu (configure.ac): ... to here.
18761
18762 2011-05-08  Bruno Haible  <bruno@clisp.org>
18763
18764         getpass: Move AC_LIBOBJ invocations to module description.
18765         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
18766         gl_PREREQ_GETPASS invocations from here...
18767         * modules/getpass (configure.ac): ... to here.
18768
18769 2011-05-08  Bruno Haible  <bruno@clisp.org>
18770
18771         getpagesize: Move AC_LIBOBJ invocations to module description.
18772         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
18773         from here...
18774         * modules/getpagesize (configure.ac): ... to here.
18775
18776 2011-05-08  Bruno Haible  <bruno@clisp.org>
18777
18778         getopt: Move AC_LIBOBJ invocations to module description.
18779         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
18780         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
18781         invocations from here...
18782         * modules/getopt-gnu (configure.ac): ... to here.
18783         * modules/getopt-posix (configure.ac): ... and here.
18784         (Depends-on): Update condition.
18785
18786 2011-05-08  Bruno Haible  <bruno@clisp.org>
18787
18788         getopt, argp: Respect rules for use of AC_LIBOBJ.
18789         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
18790         (gl_REPLACE_GETOPT_ALWAYS): New macro.
18791         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
18792         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
18793
18794 2011-05-08  Bruno Haible  <bruno@clisp.org>
18795
18796         getlogin_r: Move AC_LIBOBJ invocations to module description.
18797         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
18798         gl_PREREQ_GETLOGIN_R invocations from here...
18799         * modules/getlogin_r (configure.ac): ... to here.
18800
18801 2011-05-08  Bruno Haible  <bruno@clisp.org>
18802
18803         getlogin: Move AC_LIBOBJ invocations to module description.
18804         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
18805         here...
18806         * modules/getlogin (configure.ac): ... to here.
18807
18808 2011-05-08  Bruno Haible  <bruno@clisp.org>
18809
18810         getloadavg: Move AC_LIBOBJ invocations to module description.
18811         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
18812         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
18813         * modules/getloadavg (configure.ac): ... to here.
18814
18815 2011-05-08  Bruno Haible  <bruno@clisp.org>
18816
18817         gethrxtime: Move AC_LIBOBJ invocations to module description.
18818         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
18819         LIB_GETHRXTIME from here...
18820         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
18821         invocations from here...
18822         * modules/gethrxtime (configure.ac): ... to here.
18823
18824 2011-05-08  Bruno Haible  <bruno@clisp.org>
18825
18826         gethostname: Move AC_LIBOBJ invocations to module description.
18827         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
18828         gl_PREREQ_GETHOSTNAME invocations from here...
18829         * modules/gethostname (configure.ac): ... to here.
18830
18831 2011-05-08  Bruno Haible  <bruno@clisp.org>
18832
18833         getgroups: Move AC_LIBOBJ invocations to module description.
18834         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
18835         here...
18836         * modules/getgroups (configure.ac): ... to here.
18837
18838 2011-05-08  Bruno Haible  <bruno@clisp.org>
18839
18840         getdtablesize: Move AC_LIBOBJ invocations to module description.
18841         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
18842         invocation from here...
18843         * modules/getdtablesize (configure.ac): ... to here.
18844
18845 2011-05-08  Bruno Haible  <bruno@clisp.org>
18846
18847         getdomainname: Move AC_LIBOBJ invocations to module description.
18848         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
18849         gl_PREREQ_GETDOMAINNAME invocations from here...
18850         * modules/getdomainname (configure.ac): ... to here.
18851
18852 2011-05-08  Bruno Haible  <bruno@clisp.org>
18853
18854         getline: Move AC_LIBOBJ invocations to module description.
18855         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
18856         invocations from here...
18857         * modules/getline (configure.ac): ... to here.
18858
18859 2011-05-08  Bruno Haible  <bruno@clisp.org>
18860
18861         getline: Simplify.
18862         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
18863         It's already handled through the module dependency.
18864
18865 2011-05-08  Bruno Haible  <bruno@clisp.org>
18866
18867         getdelim: Move AC_LIBOBJ invocations to module description.
18868         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
18869         and gl_PREREQ_GETDELIM invocations from here...
18870         * modules/getdelim (configure.ac): ... to here.
18871         (Depends-on): Fix condition.
18872
18873 2011-05-08  Bruno Haible  <bruno@clisp.org>
18874
18875         getcwd: Move AC_LIBOBJ invocations to module description.
18876         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
18877         invocations from here...
18878         * modules/getcwd (configure.ac): ... to here.
18879
18880 2011-05-08  Bruno Haible  <bruno@clisp.org>
18881
18882         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
18883         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
18884         here...
18885         * modules/getcwd-lgpl (configure.ac): ... to here.
18886
18887 2011-05-07  Bruno Haible  <bruno@clisp.org>
18888
18889         crypto/gc: Move AC_LIBOBJ invocations to module description.
18890         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
18891         * modules/crypto/gc (configure.ac): ... to here.
18892
18893 2011-05-07  Bruno Haible  <bruno@clisp.org>
18894
18895         fwriting: Move AC_LIBOBJ invocations to module description.
18896         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
18897         here...
18898         * modules/fwriting (configure.ac): ... to here.
18899
18900 2011-05-07  Bruno Haible  <bruno@clisp.org>
18901
18902         fwritable: Move AC_LIBOBJ invocations to module description.
18903         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
18904         here...
18905         * modules/fwritable (configure.ac): ... to here.
18906
18907 2011-05-07  Bruno Haible  <bruno@clisp.org>
18908
18909         futimens: Move AC_LIBOBJ invocations to module description.
18910         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
18911         here...
18912         * modules/futimens (configure.ac): ... to here.
18913
18914 2011-05-07  Bruno Haible  <bruno@clisp.org>
18915
18916         ftruncate: Move AC_LIBOBJ invocations to module description.
18917         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
18918         gl_PREREQ_FTRUNCATE invocations from here...
18919         * modules/ftruncate (configure.ac): ... to here.
18920
18921 2011-05-07  Bruno Haible  <bruno@clisp.org>
18922
18923         fsync: Move AC_LIBOBJ invocations to module description.
18924         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
18925         invocations from here...
18926         * modules/fsync (configure.ac): ... to here.
18927
18928 2011-05-07  Bruno Haible  <bruno@clisp.org>
18929
18930         fsusage: Move AC_LIBOBJ invocations to module description.
18931         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
18932         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
18933         * modules/fsusage (configure.ac): ... to here.
18934
18935 2011-05-07  Bruno Haible  <bruno@clisp.org>
18936
18937         freopen: Move AC_LIBOBJ invocations to module description.
18938         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
18939         invocations from here...
18940         * modules/freopen (configure.ac): ... to here.
18941
18942 2011-05-07  Bruno Haible  <bruno@clisp.org>
18943
18944         free: Move AC_LIBOBJ invocations to module description.
18945         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
18946         invocations from here...
18947         * modules/free (configure.ac): ... to here.
18948
18949 2011-05-07  Bruno Haible  <bruno@clisp.org>
18950
18951         freadable: Move AC_LIBOBJ invocations to module description.
18952         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
18953         here...
18954         * modules/freadable (configure.ac): ... to here.
18955
18956 2011-05-07  Bruno Haible  <bruno@clisp.org>
18957
18958         fpurge: Move AC_LIBOBJ invocations to module description.
18959         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
18960         invocations from here...
18961         * modules/fpurge (configure.ac): ... to here.
18962
18963 2011-05-07  Bruno Haible  <bruno@clisp.org>
18964
18965         fpending: Move AC_LIBOBJ invocations to module description.
18966         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
18967         gl_FUNC_FPENDING.
18968         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
18969         invocations from here...
18970         * modules/fpending (configure.ac): ... to here.
18971
18972 2011-05-07  Bruno Haible  <bruno@clisp.org>
18973
18974         fopen: Move AC_LIBOBJ invocations to module description.
18975         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
18976         invocations from here...
18977         * modules/fopen (configure.ac): ... to here.
18978
18979 2011-05-07  Bruno Haible  <bruno@clisp.org>
18980
18981         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
18982         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
18983         gl_FUNC_FNMATCH_POSIX.
18984         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
18985         invocations from here...
18986         * modules/fnmatch (configure.ac): ... to here.
18987         * modules/fnmatch-gnu (configure.ac): ... and here.
18988
18989 2011-05-07  Bruno Haible  <bruno@clisp.org>
18990
18991         flock: Move AC_LIBOBJ invocations to module description.
18992         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
18993         invocations from here...
18994         * modules/flock (configure.ac): ... to here.
18995
18996 2011-05-07  Bruno Haible  <bruno@clisp.org>
18997
18998         fileblocks: Move AC_LIBOBJ invocations to module description.
18999         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
19000         gl_PREREQ_FILEBLOCKS invocations from here...
19001         * modules/fileblocks (configure.ac): ... to here.
19002
19003 2011-05-06  Bruno Haible  <bruno@clisp.org>
19004
19005         fflush: Move AC_LIBOBJ invocations to module description.
19006         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
19007         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
19008         invocations from here...
19009         * modules/fflush (configure.ac): ... to here.
19010
19011 2011-05-06  Bruno Haible  <bruno@clisp.org>
19012
19013         fdopendir: Move AC_LIBOBJ invocations to module description.
19014         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
19015         here...
19016         * modules/fdopendir (configure.ac): ... to here.
19017         (Depends-on): Improve conditions.
19018
19019 2011-05-06  Bruno Haible  <bruno@clisp.org>
19020
19021         _Exit: Move AC_LIBOBJ invocations to module description.
19022         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
19023         invocations from here...
19024         * modules/_Exit (configure.ac): ... to here.
19025
19026 2011-05-21  Bruno Haible  <bruno@clisp.org>
19027
19028         euidaccess: Respect rules for use of AC_LIBOBJ.
19029         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
19030         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
19031         from here...
19032         * modules/euidaccess (configure.ac): ... to here.
19033
19034 2011-05-06  Bruno Haible  <bruno@clisp.org>
19035
19036         error: Move AC_LIBOBJ invocations to module description.
19037         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
19038         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
19039         invocations from here...
19040         * modules/error (configure.ac): ... to here.
19041
19042 2011-05-06  Bruno Haible  <bruno@clisp.org>
19043
19044         duplocale: Move AC_LIBOBJ invocations to module description.
19045         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
19046         gl_PREREQ_DUPLOCALE invocations from here...
19047         * modules/duplocale (configure.ac): ... to here.
19048
19049 2011-05-05  Bruno Haible  <bruno@clisp.org>
19050
19051         dirfd: Move AC_LIBOBJ invocations to module description.
19052         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
19053         gl_FUNC_DIRFD.
19054         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
19055         here...
19056         * modules/dirfd (configure.ac): ... to here.
19057         (Depends-on): Fix condition.
19058
19059 2011-05-05  Bruno Haible  <bruno@clisp.org>
19060
19061         chown: Respect rules for use of AC_LIBOBJ.
19062         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
19063         * modules/chown (configure.ac): ... to here.
19064
19065 2011-05-05  Bruno Haible  <bruno@clisp.org>
19066
19067         chdir-long: Move AC_LIBOBJ invocations to module description.
19068         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
19069         gl_PREREQ_CHDIR_LONG invocations from here...
19070         * modules/chdir-long (configure.ac): ... to here.
19071
19072 2011-05-05  Bruno Haible  <bruno@clisp.org>
19073
19074         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
19075         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
19076         from here...
19077         * modules/canonicalize-lgpl (configure.ac): ... to here.
19078
19079 2011-05-05  Bruno Haible  <bruno@clisp.org>
19080
19081         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
19082         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
19083         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
19084         REPLACE_CALLOC.
19085         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
19086         * modules/calloc-gnu (configure.ac): Likewise.
19087
19088 2011-05-05  Bruno Haible  <bruno@clisp.org>
19089
19090         btowc: Move AC_LIBOBJ invocations to module description.
19091         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
19092         invocations from here...
19093         * modules/btowc (configure.ac): ... to here.
19094
19095 2011-05-21  Bruno Haible  <bruno@clisp.org>
19096
19097         atexit: Move AC_LIBOBJ invocations to module description.
19098         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
19099         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
19100         here...
19101         * modules/atexit (configure.ac): ... to here.
19102
19103 2011-05-05  Bruno Haible  <bruno@clisp.org>
19104
19105         atoll: Move AC_LIBOBJ invocations to module description.
19106         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
19107         invocations from here...
19108         * modules/atoll (configure.ac): ... to here.
19109
19110 2011-05-05  Bruno Haible  <bruno@clisp.org>
19111
19112         argz: Move AC_LIBOBJ invocations to module description.
19113         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
19114         * modules/argz (configure.ac): ... to here.
19115
19116 2011-05-05  Bruno Haible  <bruno@clisp.org>
19117
19118         alphasort: Move AC_LIBOBJ invocations to module description.
19119         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
19120         gl_PREREQ_ALPHASORT invocations from here...
19121         * modules/alphasort (configure.ac): ... to here.
19122
19123 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19124
19125         verify: new macro verify_expr; verify_true deprecated
19126         * NEWS: Mention this.
19127         * doc/verify.texi (Compile-time Assertions): Document this.
19128         * lib/verify.h (verify_true): Deprecate.
19129         (verify_expr): New macro.
19130         * tests/test-verify.c (function): Test verify_expr.
19131
19132 2011-06-14  Jim Meyering  <meyering@redhat.com>
19133
19134         init.sh: give more portable redirection-related advice in a comment
19135         * tests/init.sh (stderr_fileno_): Update the advice in comments.
19136         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
19137         for lots of discussion.  Stefano Lattarini suggested the solution
19138         of putting "9>&2" after the command.  Reported by Bruno Haible.
19139
19140 2011-06-13  Bruno Haible  <bruno@clisp.org>
19141
19142         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
19143         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
19144         'none'.
19145
19146 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
19147
19148         ftoastr: use strtof only if HAVE_STRTOF
19149         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
19150         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
19151         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
19152         * modules/ftoastr (configure.ac): Check for strtof.
19153
19154 2011-06-13  Bruno Haible  <bruno@clisp.org>
19155
19156         gnulib-tool: Addendum to 2011-06-08 commit.
19157         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
19158         and --witness-c-macro have been given, augment AM_CPPFLAGS.
19159
19160 2011-06-13  Bruno Haible  <bruno@clisp.org>
19161
19162         fseeko: Provide a non-inline replacement of fseek().
19163         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
19164         * modules/fseeko (Depends-on): Add fseek.
19165         * modules/fseek (License): Change to LGPLv2+.
19166
19167 2011-06-13  Bruno Haible  <bruno@clisp.org>
19168
19169         ftello: Provide a non-inline replacement of ftell().
19170         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
19171         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
19172         not have ftello() (such as on mingw).
19173         * modules/ftello (Depends-on): Add ftell.
19174         * modules/ftell (License): Change to LGPLv2+.
19175
19176 2011-05-07  Bruno Haible  <bruno@clisp.org>
19177
19178         ftell: Move AC_LIBOBJ invocations to module description.
19179         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
19180         * modules/ftell (configure.ac): ... to here.
19181
19182 2011-05-07  Bruno Haible  <bruno@clisp.org>
19183
19184         ftello: Respect rules for use of AC_LIBOBJ.
19185         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
19186         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
19187         here...
19188         * modules/ftello (configure.ac): ... to here.
19189
19190 2011-05-07  Bruno Haible  <bruno@clisp.org>
19191
19192         fseeko: Simplify.
19193         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
19194         (gl_FUNC_FSEEKO): Inline it here.
19195
19196 2011-05-07  Bruno Haible  <bruno@clisp.org>
19197
19198         fseek: Move AC_LIBOBJ invocations to module description.
19199         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
19200         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
19201         * modules/fseek (configure.ac): ... to here.
19202
19203 2011-05-07  Bruno Haible  <bruno@clisp.org>
19204
19205         fseek: Respect rules for use of AC_LIBOBJ.
19206         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
19207         here...
19208         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
19209
19210 2011-05-07  Bruno Haible  <bruno@clisp.org>
19211
19212         fseeko: Respect rules for use of AC_LIBOBJ.
19213         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
19214         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
19215         here...
19216         * modules/fseeko (configure.ac): ... to here.
19217
19218 2011-06-13  Bruno Haible  <bruno@clisp.org>
19219
19220         gnulib-tool: Allow comments in the 'Depends-on' section.
19221         * doc/gnulib.texi (Module description): Mention comment syntax in the
19222         Depends-on section.
19223         * gnulib-tool (func_get_dependencies): Filter out comment lines.
19224
19225 2011-06-13  Bruno Haible  <bruno@clisp.org>
19226
19227         file-set.h: guard __attibute__ use, now that it's not always defined
19228         * lib/file-set.h (record_file): Use __attribute__ only with compiler
19229         versions that support it.  This fixes a coreutils build failure with
19230         the vendor cc on HP-UX 11.31.
19231
19232 2011-06-12  Bruno Haible  <bruno@clisp.org>
19233
19234         acl: Add support for HP-UX >= 11.11 JFS ACLs.
19235         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
19236         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
19237         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
19238         (acl, aclsort): New declarations.
19239         (aclv_nontrivial): New declaration.
19240         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
19241         (file_has_acl): Read also the second kind of HP-UX ACLs.
19242         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
19243         kind of HP-UX ACLs if the first kind fails.
19244         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
19245         second kind of HP-UX ACLs.
19246         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
19247         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
19248         agree.
19249         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19250         hpuxjfs.
19251         Handle hpuxjfs.
19252         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19253         hpuxjfs.
19254         Handle hpuxjfs.
19255         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19256         (func_test_same_acls): Use both lsacl and getacl.
19257         Handle hpuxjfs.
19258         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19259         (func_test_same_acls): Use both lsacl and getacl.
19260         Handle hpuxjfs.
19261
19262 2011-06-12  Bruno Haible  <bruno@clisp.org>
19263
19264         acl: Complete the 2010-08-10 fix.
19265         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
19266         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
19267         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
19268         explicitly.
19269         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
19270         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
19271
19272 2011-06-12  Bruno Haible  <bruno@clisp.org>
19273
19274         spawn-pipe tests: Comments.
19275         * tests/test-spawn-pipe-child.c (main): Update comment.
19276         Reported by James Youngman <jay@gnu.org>.
19277
19278 2011-06-11  James Youngman  <jay@gnu.org>
19279
19280         New module 'stat-size'.
19281         * modules/stat-size: New module.  Provides macros for accessing
19282         file size information in instances of struct stat.  Depends on the
19283         fileblocks module because it calls st_blocks.
19284         * lib/stat-size.h: New file, adapted from coreutils' system.h.
19285         * doc/gnulib.texi: Include stat-size.texi.
19286         * doc/stat-size.texi: Documentation for this module.
19287         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
19288         * m4/fileblocks.m4: Mention that stat-size depends on the call to
19289         AC_STRUCT_ST_BLOCKS.
19290
19291 2011-06-09  Bruno Haible  <bruno@clisp.org>
19292
19293         thread: Support pthreads-win32.
19294         * lib/glthread/thread.h (gl_thread_self): Define differently on
19295         pthreads-win32.
19296         (gl_null_thread): New declaration.
19297         (gl_thread_self_pointer): New macro.
19298         * lib/glthread/thread.c (gl_null_thread): New constant.
19299         * tests/test-lock.c: Use gl_thread_self_pointer instead of
19300         gl_thread_self.
19301         * tests/test-tls.c: Likewise.
19302         Suggested by Paul Eggert. Reported by Eric Blake.
19303
19304 2011-06-09  Bruno Haible  <bruno@clisp.org>
19305
19306         thread: Fix confusion between NULL and 0.
19307         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
19308         Reported by Paul Eggert.
19309
19310 2011-06-09  Bruno Haible  <bruno@clisp.org>
19311
19312         spawn-pipe tests: Avoid test failure on HP-UX 11.
19313         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
19314         is closed.
19315
19316 2011-06-09  Bruno Haible  <bruno@clisp.org>
19317
19318         acl tests: Fix compilation error on HP-UX 11.
19319         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
19320
19321 2011-06-09  Bruno Haible  <bruno@clisp.org>
19322
19323         rmdir: Avoid test failure on HP-UX 10.20.
19324         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
19325         EEXIST.
19326
19327 2011-06-08  Eric Blake  <eblake@redhat.com>
19328
19329         perror: fix test on mingw
19330         * modules/perror-tests (Depends-on): Add dup2.
19331
19332         strerror_r-posix: fix on MacOS
19333         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
19334         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
19335         logic bug.
19336         * lib/strerror_r.c (strerror_r): Fix the bug.
19337         * lib/strerror.c (strerror): Likewise.
19338         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19339         problem.
19340         * doc/posix-functions/strerror.texi (strerror): Likewise.
19341         * doc/posix-functions/perror.texi (perror): Likewise.
19342         * tests/test-strerror.c (main): Enhance test.
19343         * tests/test-strerror_r.c (main): Likewise.
19344
19345 2011-06-08  Bruno Haible  <bruno@clisp.org>
19346
19347         gnulib-tool: Better isolation between different gnulib-tool invocations.
19348         * gnulib-tool: New option --witness-c-macro.
19349         (witness_c_macro): New variable.
19350         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
19351         AM_CPPFLAGS define it as a C macro.
19352         (func_emit_tests_Makefile_am): Likewise.
19353         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
19354         read it from there.
19355         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
19356         m4_define, not AC_DEFUN.
19357         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
19358         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
19359         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
19360         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
19361         s|...|...|, to substitute the values of the GNULIB_* module indicator
19362         variables.
19363         * modules/dirent (Makefile.am): Likewise.
19364         * modules/fcntl-h (Makefile.am): Likewise.
19365         * modules/iconv-h (Makefile.am): Likewise.
19366         * modules/langinfo (Makefile.am): Likewise.
19367         * modules/locale (Makefile.am): Likewise.
19368         * modules/math (Makefile.am): Likewise.
19369         * modules/netdb (Makefile.am): Likewise.
19370         * modules/poll-h (Makefile.am): Likewise.
19371         * modules/pty (Makefile.am): Likewise.
19372         * modules/search (Makefile.am): Likewise.
19373         * modules/signal (Makefile.am): Likewise.
19374         * modules/spawn (Makefile.am): Likewise.
19375         * modules/stdio (Makefile.am): Likewise.
19376         * modules/stdlib (Makefile.am): Likewise.
19377         * modules/string (Makefile.am): Likewise.
19378         * modules/sys_ioctl (Makefile.am): Likewise.
19379         * modules/sys_select (Makefile.am): Likewise.
19380         * modules/sys_socket (Makefile.am): Likewise.
19381         * modules/sys_stat (Makefile.am): Likewise.
19382         * modules/sys_times (Makefile.am): Likewise.
19383         * modules/sys_utsname (Makefile.am): Likewise.
19384         * modules/sys_wait (Makefile.am): Likewise.
19385         * modules/termios (Makefile.am): Likewise.
19386         * modules/time (Makefile.am): Likewise.
19387         * modules/unistd (Makefile.am): Likewise.
19388         * modules/wchar (Makefile.am): Likewise.
19389
19390 2011-06-08  Eric Blake  <eblake@redhat.com>
19391
19392         strerror: simplify replacement
19393         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
19394         * modules/strerror (configure.ac): No prereqs needed here...
19395         * modules/strerror-override (configure.ac): ...but this needs it.
19396         (Files): Add file for needed prereq macro.
19397
19398 2011-06-08  Bruno Haible  <bruno@clisp.org>
19399
19400         strerror_r-posix: Tweaks.
19401         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
19402         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
19403         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
19404         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
19405         (gl_FUNC_STRERROR_R): ... to here.
19406         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
19407
19408 2011-06-07  Eric Blake  <eblake@redhat.com>
19409
19410         perror: document fixed bugs
19411         * doc/posix-functions/perror.texi (perror): Document recent
19412         patches.
19413
19414 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19415
19416         stat-time: get_stat_birthtime failure is better-defined
19417         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
19418         return a timestamp whose tv_sec and tv_nsec values are both -1.
19419         Previously, the spec said only that the tv_nsec value was negative.
19420         This upward-compatible change simplifies GNU tar a bit.
19421
19422 2011-06-07  Eric Blake  <eblake@redhat.com>
19423
19424         strerror_r-posix: work around cygwin 1.7.9
19425         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
19426         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
19427         bug without replacing strerror_r.
19428         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
19429         strerror_r is buggy, but without requiring strerror_r compilation.
19430         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
19431
19432         test-perror: relax test to ignore cygwin bug
19433         * tests/test-perror2.c (main): Relax test on requiring detection
19434         of stream errors, and use unbuffered stream.
19435         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
19436         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
19437         * doc/posix-functions/fputc.texi (fputc): Likewise.
19438         * doc/posix-functions/fputs.texi (fputs): Likewise.
19439         * doc/posix-functions/fputws.texi (fputws): Likewise.
19440         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
19441         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
19442         * doc/posix-functions/getopt.texi (getopt): Likewise.
19443         * doc/posix-functions/perror.texi (perror): Likewise.
19444         * doc/posix-functions/printf.texi (printf): Likewise.
19445         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
19446         * doc/posix-functions/psignal.texi (psignal): Likewise.
19447         * doc/posix-functions/putc.texi (putc): Likewise.
19448         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
19449         Likewise.
19450         * doc/posix-functions/putchar.texi (putchar): Likewise.
19451         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
19452         Likewise.
19453         * doc/posix-functions/puts.texi (puts): Likewise.
19454         * doc/posix-functions/putwc.texi (putwc): Likewise.
19455         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19456         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19457         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19458         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
19459         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19460         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19461         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19462         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
19463
19464 2011-05-22  Bruno Haible  <bruno@clisp.org>
19465
19466         strerror: Move AC_LIBOBJ invocations to module description.
19467         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
19468         gl_PREREQ_STRERROR invocations from here...
19469         * modules/strerror (configure.ac): ... to here.
19470
19471 2011-05-21  Bruno Haible  <bruno@clisp.org>
19472
19473         perror: Use common idiom.
19474         * modules/perror (configure.ac): Reorder statements.
19475
19476 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19477
19478         tests: fix usage message in 'mktempd_'
19479         * tests/init.sh (mktempd_): In the usage message, use literal
19480         'mktempd_', not '$ME' (which is even undefined), as the name of
19481         the subroutine.
19482
19483 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19484
19485         tests init: new function 'fatal_', for hard errors
19486         Before this patch, the only way offered by tests/init.sh to
19487         properly signal a hard error was the `framework_failure_'
19488         function.  But the error message issued by that function,
19489         as its name would suggest, refers to a set-up failure in the
19490         testsuite, while hard errors can obviously also be due to
19491         other reasons.  The best way to fix this inconsistency is to
19492         introduce a new function with a more general error message.
19493         * tests/init.sh (fatal_): New function.
19494
19495 2011-06-06  Eric Blake  <eblake@redhat.com>
19496
19497         canonicalize-lgpl: use common idiom
19498         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
19499         over newer POSIX -Rf.
19500         Reported by Bruno Haible.
19501
19502         canonicalize-lgpl: work around AIX realpath bug
19503         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
19504         * doc/posix-functions/realpath.texi (realpath): Document it.
19505         Reported by Bruno Haible.
19506
19507         strerror: work around FreeBSD bug
19508         * lib/strerror.c (strerror): Special case 0.
19509         Reported by Bruno Haible.
19510
19511         strerror-override: avoid bloating errno module
19512         * modules/errno (Files, configure.ac): Move replacement strings...
19513         * modules/strerror-override: ...to new module.
19514         * modules/strerror (Depends-on): Add strerror-override.
19515         * modules/strerror_r-posix (Depends-on): Likewise.
19516         * MODULES.html.sh: Document new module.
19517         Reported by Bruno Haible.
19518
19519 2011-06-06  Bruno Haible  <bruno@clisp.org>
19520
19521         spawn-pipe tests: Rename program.
19522         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
19523         * tests/test-spawn-pipe-child.c: Update comment.
19524         * tests/test-spawn-pipe.sh: Update.
19525         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
19526
19527         spawn-pipe tests: Link the child program only against libc.
19528         * tests/test-spawn-pipe-child.c: New file, extracted from
19529         tests/test-spawn-pipe.c.
19530         (main): Expect only one argument.
19531         (is_open): New function, copied from tests/test-pipe.c.
19532         * tests/test-spawn-pipe.c: Don't include <errno.h>.
19533         (child_main): Remove function.
19534         (test_pipe): Pass only one argument to the child program.
19535         (main): Remove child process code. Expect the child program's name as
19536         first argument.
19537         * tests/test-spawn-pipe.sh: Pass the child program's name as first
19538         argument.
19539         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
19540         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
19541         test-spawn-pipe-child against no libraries.
19542
19543 2011-06-06  Bruno Haible  <bruno@clisp.org>
19544
19545         careadlinkat: Avoid mismatch between ssize_t and int.
19546         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
19547         * lib/careadlinkat.c (careadlinkatcwd): Define always.
19548
19549 2011-06-06  Jim Meyering  <meyering@redhat.com>
19550
19551         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
19552         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
19553         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
19554
19555 2011-06-05  Bruno Haible  <bruno@clisp.org>
19556
19557         ansi-c++-opt: Interoperability with libtool.
19558         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
19559         set the variable to "no", not to ":".
19560         * NEWS: Mention the change.
19561
19562 2011-06-05  Bruno Haible  <bruno@clisp.org>
19563
19564         acl: Fix test failure on AIX 7.
19565         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
19566         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
19567
19568 2011-06-05  Bruno Haible  <bruno@clisp.org>
19569
19570         pipe-filter-ii: Fix test failure on AIX and IRIX.
19571         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
19572         with EAGAIN, retry with a smaller buffer size.
19573
19574 2011-06-05  Bruno Haible  <bruno@clisp.org>
19575
19576         localename: Fix link dependencies.
19577         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
19578         * modules/localename-tests (Makefile.am): Link test-localename with
19579         $(LIBTHREAD).
19580
19581 2011-06-05  Bruno Haible  <bruno@clisp.org>
19582
19583         error: Avoid gcc warning.
19584         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
19585
19586 2011-06-05  Bruno Haible  <bruno@clisp.org>
19587
19588         unsetenv: Avoid gcc warning.
19589         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
19590
19591 2011-06-05  Bruno Haible  <bruno@clisp.org>
19592
19593         setenv: Avoid gcc warning.
19594         * lib/setenv.c (setenv): Provide declaration if system lacks it.
19595
19596 2011-06-05  Bruno Haible  <bruno@clisp.org>
19597
19598         sys_select: Ensure memset is declared also on AIX 7.
19599         * lib/sys_select.in.h: Include <string.h> also on AIX.
19600         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
19601         self-contained also on AIX 7.1.
19602
19603 2011-06-04  Jim Meyering  <meyering@redhat.com>
19604
19605         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
19606         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
19607         function name, "error".
19608         (_gl_translatable_diag_func_re): New configurable variable.
19609
19610 2011-06-04  Bruno Haible  <bruno@clisp.org>
19611
19612         getopt: Avoid gcc warning.
19613         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
19614
19615 2011-06-04  Bruno Haible  <bruno@clisp.org>
19616
19617         strerror_r: Fix comments.
19618         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
19619         commit.
19620
19621 2011-06-04  Bruno Haible  <bruno@clisp.org>
19622
19623         perror: Fix compilation error.
19624         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
19625         Undefine fprintf, not sprintf.
19626         * modules/perror (Depends-on): Remove intprops, verify.
19627
19628 2011-06-04  Bruno Haible  <bruno@clisp.org>
19629
19630         setlocale: Enable replacement on Cygwin 1.5.
19631         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
19632         Cygwin 1.5.x.
19633         * doc/posix-functions/setlocale.texi: Mention that the problem with the
19634         LC_CTYPE category also exists on Cygwin 1.5.x.
19635
19636 2011-06-04  Bruno Haible  <bruno@clisp.org>
19637
19638         strerror-override: Don't disable symbol renamings.
19639         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
19640         * lib/strerror-override.c: Include config.h.
19641         (strerror_override): Don't undefine.
19642
19643 2011-06-03  Bruno Haible  <bruno@clisp.org>
19644
19645         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
19646         * lib/localename.h: Update copyright header.
19647         * lib/localename.c: Likewise.
19648         * lib/relocatable.h: Likewise.
19649         * lib/relocatable.c: Likewise.
19650
19651 2011-06-02  Bruno Haible  <bruno@clisp.org>
19652
19653         doc: Fix a module name.
19654         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
19655
19656 2011-06-02  Bruno Haible  <bruno@clisp.org>
19657
19658         pipe2: Remove dependency on 'nonblocking' module.
19659         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
19660         O_NONBLOCK is defined by gnulib.
19661         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
19662         is zero.
19663         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
19664         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
19665         defined by gnulib.
19666         (get_nonblocking_flag): New function.
19667         (main): Test O_NONBLOCK flag only if it is nonzero.
19668         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
19669
19670 2011-06-03  Jim Meyering  <meyering@redhat.com>
19671
19672         maint: three new prohibit-header-without-use rules
19673         Prohibit use of cloexec.h, posixver.h, same.h without use.
19674         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
19675         (sc_prohibit_posixver_without_use): Likewise.
19676         (sc_prohibit_same_without_use): Likewise.
19677
19678 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19679
19680         allocator: 'die' routine is now given requested size
19681         * lib/allocator.h (struct allocator.die): New size arg.
19682         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
19683         If the actual problem is an ssize_t limitation, not a size_t or
19684         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
19685
19686 2011-06-01  Eric Blake  <eblake@redhat.com>
19687
19688         strerror: drop strerror_r dependency
19689         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
19690         * lib/strerror-override.c (strerror_override): ...to new file.
19691         * lib/strerror-override.h: Add prototype.
19692         * lib/strerror-impl.h: Delete.
19693         * lib/strerror.c (strerror): New implementation.
19694         * modules/errno (Files): Add new files.
19695         (configure.ac): Compile new file as appropriate.
19696         * modules/strerror (Files): Drop unused file.
19697         (Depends-on): Drop strerror_r-posix.
19698         * MODULES.html.sh: Document strerror_r-posix.
19699         Requested by Sam Steingold.
19700
19701         perror: call strerror_r directly
19702         * modules/perror (Files): Drop strerror-impl.h.
19703         * lib/perror.c (perror): Use our own stack buffer, rather than
19704         calling a wrapper that uses static storage.
19705         * doc/posix-functions/perror.texi (perror): Document a limitation
19706         of our replacement.
19707
19708         strerror_r: fix includes for FreeBSD
19709         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
19710         since we use abort on some platforms.
19711         Reported by Matthias Bolte.
19712
19713 2011-05-31  Bruno Haible  <bruno@clisp.org>
19714
19715         Fix link errors in tests: openat-die uses gettext-h.
19716         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
19717         against $(LIBINTL).
19718         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
19719         against $(LIBINTL).
19720         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
19721         $(LIBINTL).
19722         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
19723         against $(LIBINTL).
19724         * modules/linkat-tests (Makefile.am): Link test-linkat against
19725         $(LIBINTL).
19726         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
19727         $(LIBINTL).
19728         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
19729         against $(LIBINTL).
19730         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
19731         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
19732         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
19733         $(LIBINTL).
19734         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
19735         $(LIBINTL).
19736         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
19737         $(LIBINTL).
19738         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19739
19740 2011-05-31  Bruno Haible  <bruno@clisp.org>
19741
19742         Fix link errors in tests: wait-process uses gettext-h.
19743         * modules/nonblocking-pipe-tests (Makefile.am): Set
19744         test_nonblocking_pipe_main_LDADD.
19745         * modules/nonblocking-socket-tests (Makefile.am): Link
19746         test-nonblocking-socket-main against $(LIBINTL).
19747         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19748
19749 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
19750
19751         assert-h: work around 'verify' incompatibility
19752         * lib/verify.h: Use @...@ directives, not ifdef.
19753         * modules/assert-h (assert.h): Implement the directives.
19754         (assert.h): Substitute the symbol-prefix more consistently.
19755
19756 2011-05-29  Jim Meyering  <meyering@redhat.com>
19757
19758         trim: remove three superfluous assignments
19759         * lib/trim.c (trim2): Remove three superfluous assignments
19760         and correct brace positioning.
19761
19762 2011-05-29  Bruno Haible  <bruno@clisp.org>
19763
19764         wctype-h: Avoid namespace pollution on Solaris 2.6.
19765         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
19766         identifiers.
19767         * doc/posix-headers/wctype.texi: Mention the problem.
19768         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19769
19770 2011-05-28  Jim Meyering  <meyering@redhat.com>
19771
19772         parse-datetime.y: accommodate -Wstrict-overflow
19773         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
19774         placate -Wstrict-overflow.
19775
19776         trim: avoid a warning from -O2 -Wstrict-overflow
19777         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
19778
19779 2011-05-29  Bruno Haible  <bruno@clisp.org>
19780
19781         gnulib-tool: Fix bug in yesterday's commit.
19782         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
19783         twice.
19784
19785 2011-05-29  Bruno Haible  <bruno@clisp.org>
19786
19787         Allow multiple gnulib generated include files to be combined.
19788         * gnulib-tool (func_compute_include_guard_prefix): New function.
19789         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
19790         ${gl_include_guard_prefix} references.
19791         (func_import, func_create_testdir): Invoke
19792         func_compute_include_guard_prefix.
19793         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
19794         * lib/ctype.in.h: Likewise.
19795         * lib/dirent.in.h: Likewise.
19796         * lib/errno.in.h: Likewise.
19797         * lib/fcntl.in.h: Likewise.
19798         * lib/float.in.h: Likewise.
19799         * lib/getopt.in.h: Likewise.
19800         * lib/iconv.in.h: Likewise.
19801         * lib/langinfo.in.h: Likewise.
19802         * lib/locale.in.h: Likewise.
19803         * lib/math.in.h: Likewise.
19804         * lib/netdb.in.h: Likewise.
19805         * lib/netinet_in.in.h: Likewise.
19806         * lib/poll.in.h: Likewise.
19807         * lib/pthread.in.h: Likewise.
19808         * lib/pty.in.h: Likewise.
19809         * lib/sched.in.h: Likewise.
19810         * lib/se-selinux.in.h: Likewise.
19811         * lib/search.in.h: Likewise.
19812         * lib/signal.in.h: Likewise.
19813         * lib/spawn.in.h: Likewise.
19814         * lib/stdarg.in.h: Likewise.
19815         * lib/stddef.in.h: Likewise.
19816         * lib/stdint.in.h: Likewise.
19817         * lib/stdio.in.h: Likewise.
19818         * lib/stdlib.in.h: Likewise.
19819         * lib/string.in.h: Likewise.
19820         * lib/strings.in.h: Likewise.
19821         * lib/sys_file.in.h: Likewise.
19822         * lib/sys_ioctl.in.h: Likewise.
19823         * lib/sys_select.in.h: Likewise.
19824         * lib/sys_socket.in.h: Likewise.
19825         * lib/sys_stat.in.h: Likewise.
19826         * lib/sys_time.in.h: Likewise.
19827         * lib/sys_times.in.h: Likewise.
19828         * lib/sys_uio.in.h: Likewise.
19829         * lib/sys_utsname.in.h: Likewise.
19830         * lib/sys_wait.in.h: Likewise.
19831         * lib/sysexits.in.h: Likewise.
19832         * lib/termios.in.h: Likewise.
19833         * lib/time.in.h: Likewise.
19834         * lib/unistd.in.h: Likewise.
19835         * lib/wchar.in.h: Likewise.
19836         * lib/wctype.in.h: Likewise.
19837         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
19838         * modules/ctype (Makefile.am): Likewise.
19839         * modules/dirent (Makefile.am): Likewise.
19840         * modules/errno (Makefile.am): Likewise.
19841         * modules/fcntl-h (Makefile.am): Likewise.
19842         * modules/float (Makefile.am): Likewise.
19843         * modules/getopt-posix (Makefile.am): Likewise.
19844         * modules/iconv-h (Makefile.am): Likewise.
19845         * modules/langinfo (Makefile.am): Likewise.
19846         * modules/locale (Makefile.am): Likewise.
19847         * modules/math (Makefile.am): Likewise.
19848         * modules/netdb (Makefile.am): Likewise.
19849         * modules/netinet_in (Makefile.am): Likewise.
19850         * modules/poll-h (Makefile.am): Likewise.
19851         * modules/pthread (Makefile.am): Likewise.
19852         * modules/pty (Makefile.am): Likewise.
19853         * modules/sched (Makefile.am): Likewise.
19854         * modules/search (Makefile.am): Likewise.
19855         * modules/selinux-h (Makefile.am): Likewise.
19856         * modules/signal (Makefile.am): Likewise.
19857         * modules/spawn (Makefile.am): Likewise.
19858         * modules/stdarg (Makefile.am): Likewise.
19859         * modules/stddef (Makefile.am): Likewise.
19860         * modules/stdint (Makefile.am): Likewise.
19861         * modules/stdio (Makefile.am): Likewise.
19862         * modules/stdlib (Makefile.am): Likewise.
19863         * modules/string (Makefile.am): Likewise.
19864         * modules/strings (Makefile.am): Likewise.
19865         * modules/sys_file (Makefile.am): Likewise.
19866         * modules/sys_ioctl (Makefile.am): Likewise.
19867         * modules/sys_select (Makefile.am): Likewise.
19868         * modules/sys_socket (Makefile.am): Likewise.
19869         * modules/sys_stat (Makefile.am): Likewise.
19870         * modules/sys_time (Makefile.am): Likewise.
19871         * modules/sys_times (Makefile.am): Likewise.
19872         * modules/sys_uio (Makefile.am): Likewise.
19873         * modules/sys_utsname (Makefile.am): Likewise.
19874         * modules/sys_wait (Makefile.am): Likewise.
19875         * modules/sysexits (Makefile.am): Likewise.
19876         * modules/termios (Makefile.am): Likewise.
19877         * modules/time (Makefile.am): Likewise.
19878         * modules/unistd (Makefile.am): Likewise.
19879         * modules/wchar (Makefile.am): Likewise.
19880         * modules/wctype-h (Makefile.am): Likewise.
19881         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
19882
19883 2011-05-29  Bruno Haible  <bruno@clisp.org>
19884
19885         assert-h: Allow multiple gnulib generated replacements to coexist.
19886         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
19887
19888 2011-05-29  Bruno Haible  <bruno@clisp.org>
19889
19890         argp: Allow coexistence with strerror_r-posix module.
19891         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
19892         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
19893         by gnulib's <string.h> replacement), assume it has the POSIX signature,
19894         not the glibc signature.
19895
19896 2011-05-28  Bruno Haible  <bruno@clisp.org>
19897
19898         gnulib-tool: Alternative structure of testdirs, similar to --import.
19899         * gnulib-tool: New option --single-configure.
19900         (func_usage): Document it.
19901         (single_configure): New variable.
19902         (func_modules_transitive_closure_separately,
19903         func_modules_transitive_closure_separately,
19904         func_determine_use_libtests, func_modules_add_dummy_separately,
19905         func_modules_to_filelist_separately): New functions, extracted from
19906         func_import.
19907         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
19908         (func_import): Use the new functions.
19909         (func_create_testdir): Set final_modules. Handle $single_configure =
19910         true case.
19911
19912 2011-05-28  Bruno Haible  <bruno@clisp.org>
19913
19914         getloadavg: Remove an unreliable safety check.
19915         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
19916         getloadavg.c is in place.
19917         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
19918         Reported by Sam Steingold <sds@gnu.org>.
19919
19920 2011-05-28  Bruno Haible  <bruno@clisp.org>
19921
19922         doc: Cleanup yet another file produced by texinfo.tex.
19923         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
19924
19925 2011-05-28  Bruno Haible  <bruno@clisp.org>
19926
19927         Finish the conditional dependencies mechanism.
19928         * gnulib-tool: New option --no-conditional-dependencies.
19929         (func_usage): Document it. Don't mark --conditional-dependencies as
19930         experimental.
19931         (cond_dependencies): The possible values can now be true, false, empty.
19932         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
19933         (func_import): Store setting in gnulib-cache.m4 and read it from there.
19934         * doc/gnulib-tool.texi (Conditional dependencies): New section.
19935
19936 2011-05-28  Bruno Haible  <bruno@clisp.org>
19937
19938         doc: Use a recent texinfo.tex.
19939         * doc/Makefile (tex_opts): New variable.
19940         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
19941
19942 2011-05-28  Jim Meyering  <meyering@redhat.com>
19943
19944         intprops.h: adjust comment to match code change
19945         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
19946         only once, it *may* have side effects.  Also fix an unrelated typo.
19947         (_GL_INT_SIGNED): Likewise.
19948
19949 2011-05-26  Simon Josefsson  <simon@josefsson.org>
19950
19951         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
19952
19953 2011-05-26  Bruno Haible  <bruno@clisp.org>
19954
19955         mbsrchr: Avoid collision with system function on Interix.
19956         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
19957         Reported by Markus Duft <mduft@gentoo.org>.
19958
19959 2011-05-15  James Youngman  <jay@gnu.org>
19960
19961         getopt: for ambiguous options, enumerate the possibilities.
19962         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
19963         the ambiguous options when an ambiguous prefix is given. This was
19964         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
19965         glibc change was
19966         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
19967
19968 2011-05-25  Eric Blake  <eblake@redhat.com>
19969
19970         getcwd: work around mingw bug
19971         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
19972         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19973         Reported by Matthias Bolte.
19974
19975 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
19976
19977         test-intprops: disable -Wtype-limits diagnostics
19978         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
19979         diagnostics.  Otherwise, the integer overflow macros generate many
19980         diagnostics.  Reported by Jim Meyering in
19981         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19982
19983         intprops: shorten, to pacify gcc -Woverlength-strings
19984         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
19985         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
19986         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
19987         likely to run afoul of C compiler limits for string constant lengths.
19988         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19989
19990 2011-05-24  Eric Blake  <eblake@redhat.com>
19991
19992         docs: document recently fixed glibc printf bug
19993         * doc/posix-functions/fprintf.texi (fprintf): Document it.
19994         * doc/posix-functions/printf.texi (printf): Likewise.
19995         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19996         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19997
19998         closein-tests: convert to init.sh
19999         * modules/closein-tests (Files): Add init.sh
20000         * tests/test-closein.sh Use it.
20001
20002         yesno-tests: convert to init.sh
20003         * modules/yesno-tests (Files): Add init.sh.
20004         * tests/test-yesno.sh: Use it.
20005
20006         atexit-tests: ensure reliable exit status
20007         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
20008         Reported by Bruno Haible.
20009
20010 2011-05-24  Bruno Haible  <bruno@clisp.org>
20011
20012         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
20013         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
20014         gl_PREREQ_STRERROR_R invocations from here...
20015         * modules/strerror_r-posix (configure.ac): ... to here.
20016
20017 2011-05-24  Eric Blake  <eblake@redhat.com>
20018
20019         strerror_r: fix missing header
20020         * lib/strerror_r.c: Avoid compiler warning about snprintf.
20021
20022         strerror_r: fix AIX test failures
20023         * lib/strerror_r.c (strerror_r): Convert silent truncation to
20024         ERANGE failure.
20025
20026         strerror_r: fix Solaris test failures
20027         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
20028         failures.
20029         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20030
20031         strerror_r: enforce POSIX recommendations
20032         * lib/strerror_r.c (safe_copy): New helper method.
20033         (strerror_r): Guarantee a non-empty string.
20034         * tests/test-strerror_r.c (main): Enhance tests to incorporate
20035         recent POSIX rulings and to match our strerror guarantees.
20036         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20037
20038 2011-05-24  Jim Meyering  <meyering@redhat.com>
20039
20040         test-perror2.c: avoid warning about unused variable
20041         * tests/test-perror2.c (main): Remove declaration of unused "fp".
20042
20043 2011-05-24  Eric Blake  <eblake@redhat.com>
20044
20045         perror: avoid spurious test failure on HP-UX
20046         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
20047
20048         tests: fix logic bug in init.sh
20049         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
20050         shell.
20051
20052 2011-05-24  Jim Meyering  <meyering@redhat.com>
20053
20054         utimensat: do not reference an out-of-scope buffer
20055         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
20056         declared in an inner scope, yet "times" would be dereferenced outside
20057         the scope in which "ts" was valid.
20058         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
20059         of ts[2] "out/up", so that the use of aliased "times" (via
20060         "times = ts;") does not end up referencing an out-of-scope "ts"
20061
20062         opendir-safer.c: don't clobber errno; don't close negative FD
20063         * lib/opendir-safer.c (opendir_safer):
20064         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
20065         file descriptor, and more importantly, don't clobber the
20066         offending errno value with EINVAL.  Before, upon failure
20067         of dup_safer, we would pass the negative file descriptor to
20068         fdopendir, which would clobber errno.
20069
20070 2011-05-23  Bruno Haible  <bruno@clisp.org>
20071
20072         idcache: Fix module description.
20073         * modules/idcache (Include): Set to "idcache.h".
20074
20075 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20076
20077         gnulib-tool: fix portability problem with MacOS sed
20078         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
20079         before the "}".  Problem reported by Leo in
20080         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
20081         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
20082         sed_extract_condition1, sed_extract_condition2.
20083
20084 2011-05-23  Bruno Haible  <bruno@clisp.org>
20085
20086         hash: Simplify autoconf macro.
20087         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
20088
20089 2011-05-23  Bruno Haible  <bruno@clisp.org>
20090
20091         getugroups: Fix module description.
20092         * modules/getugroups (Include): Set to "getugroups.h".
20093
20094 2011-05-23  Bruno Haible  <bruno@clisp.org>
20095
20096         linkat: Simplify autoconf macro.
20097         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
20098
20099 2011-05-23  Bruno Haible  <bruno@clisp.org>
20100             Eric Blake  <eblake@redhat.com>
20101
20102         linkat, renameat: Update dependencies.
20103         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
20104         * modules/linkat (Depends-on): Likewise. Remove also readlink,
20105         symlinkat.
20106
20107 2011-05-23  Jim Meyering  <meyering@redhat.com>
20108
20109         maint.mk: more tight_scope improvements
20110         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
20111         (_gl_TS_headers): Define only in if-0'd block.
20112         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
20113         sometimes we must *not* use it.  Adjust uses accordingly.
20114         (sc_tight_scope): Use much simpler grep-based test to determine
20115         whether we skip this rule.
20116
20117         maint.mk: generalize/improve the tight-scope rule
20118         * top/maint.mk: Emit a warning when the test is skipped.
20119         (_gl_TS_dir): Add $(srcdir)/ prefix.
20120         (_gl_TS_function_match): Simplify, rather than trying
20121         to enumerate common types.  Otherwise, it would fail to match an
20122         "extern unsigned char const *" declaration in idutils.
20123         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
20124         a way to support use of that type of macro.
20125         (_gl_TS_var_match): Simplify regexp.
20126         (_gl_TS_obj_files): New configurable variable.
20127         (_gl_TS_headers): Likewise.
20128
20129 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
20130
20131         verify: fix bug when gnulib <assert.h> is also included
20132         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
20133         is defined, not if _GL_STATIC_ASSERT_H is not defined.
20134         Perhaps there's a better way, but this fixes the immediate problem.
20135         Problem reported by Bruno Haible in
20136         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
20137
20138 2011-05-22  Bruno Haible  <bruno@clisp.org>
20139
20140         xgetcwd: Simplify autoconf macro.
20141         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
20142
20143 2011-05-22  Bruno Haible  <bruno@clisp.org>
20144
20145         New module 'mktime-internal'.
20146         * modules/mktime-internal: New file.
20147         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
20148         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
20149         mktime_internal as a C macro if libc has __mktime_internal.
20150         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
20151         conditions.
20152         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
20153
20154 2011-05-22  Bruno Haible  <bruno@clisp.org>
20155
20156         timegm: Correct mktime replacement statements.
20157         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
20158         defining mktime as a C macro. This completes a 2009-07-28 commit.
20159
20160 2011-05-22  Bruno Haible  <bruno@clisp.org>
20161
20162         timegm: Simplify autoconf macro.
20163         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
20164
20165 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20166
20167         clock-time: change to LGPLv2+.
20168         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
20169         BSD-like but we have no mark for that; this is good enough for now.
20170
20171 2011-05-21  Bruno Haible  <bruno@clisp.org>
20172
20173         strerror_r: Fix comments.
20174         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
20175
20176 2011-05-21  Bruno Haible  <bruno@clisp.org>
20177
20178         relocatable-prog-wrapper: Fix possible link error.
20179         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
20180         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
20181         (gl_FUNC_SETENV): ... to here.
20182         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
20183         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
20184
20185 2011-05-21  Bruno Haible  <bruno@clisp.org>
20186
20187         relocatable-prog-wrapper: Assume strerror() exists.
20188         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
20189         m4/strerror.m4.
20190         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
20191         * lib/relocwrapper.c: Remove mention of strerror module.
20192         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
20193         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
20194         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
20195         C macro.
20196
20197 2011-05-21  Bruno Haible  <bruno@clisp.org>
20198
20199         select: Simplify replacement idiom.
20200         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
20201         Win32 platforms.
20202         * lib/sys_select.in.h (select): Simplify accordingly.
20203         * modules/select (Depends-on): Likewise.
20204
20205 2011-05-21  Bruno Haible  <bruno@clisp.org>
20206
20207         mkdir-p: Simplify autoconf macro.
20208         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
20209         gl_FUNC_LCHOWN.
20210
20211 2011-05-21  Eric Blake  <eblake@redhat.com>
20212
20213         strerror_r: avoid clobbering strerror on cygwin
20214         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
20215         fall back instead to sys_errlist.
20216         * modules/strerror (configure.ac): Add witness.
20217         * tests/test-strerror_r.c (main): Enhance test.
20218         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20219         * tests/test-perror2.c (main): Free memory before exit.
20220
20221 2011-05-21  Bruno Haible  <bruno@clisp.org>
20222
20223         mkdtemp: Use gnulib naming conventions.
20224         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
20225         * modules/mkdtemp (configure.ac): Update.
20226
20227 2011-05-20  Eric Blake  <eblake@redhat.com>
20228
20229         strerror_r: avoid corrupting errno on Solaris
20230         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
20231         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20232
20233         strerror_r: avoid compiler warning
20234         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
20235
20236         strerror_r: simplify AIX code
20237         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
20238
20239         test-perror: avoid spurious failure on FreeBSD
20240         * modules/perror-tests (Depends-on): Add strerror, now that
20241         strerror_r no longer pulls it in.
20242
20243 2011-05-20  Bruno Haible  <bruno@clisp.org>
20244
20245         strerror_r-posix: Remove unused dependencies.
20246         * modules/strerror_r-posix (Depends-on): Remove strerror.
20247         Reported by Eric Blake.
20248
20249 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20250
20251         intprops: remove assumption about A|B representation
20252         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
20253         is a valid integer if both A and B are.  Although this is true for
20254         all known practical hosts, the C standard doesn't guarantee it,
20255         and the code need not assume it.  Also, this change may work around
20256         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
20257         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
20258
20259 2011-05-20  Eric Blake  <eblake@redhat.com>
20260
20261         perror: work around FreeBSD bug
20262         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
20263         is broken.  Move AC_LIBOBJ...
20264         * modules/perror (configure.ac): Here.
20265         * doc/posix-functions/perror.texi (perror): Document this.
20266         * tests/test-perror2.c (main): Enhance test.
20267
20268         test-perror: check for strerror interactions
20269         * tests/macros.h (STREQ): Add macro.
20270         * modules/perror-tests (Files): Add second test.
20271         * tests/test-perror2.c (main): New file.
20272         * doc/posix-functions/perror.texi (perror): Document glibc bug.
20273
20274         test-perror: rewrite to use init script
20275         * modules/perror-tests (Files): Add init.sh.
20276         * tests/test-perror.sh: Use temporary directory.
20277
20278 2011-05-20  Jim Meyering  <meyering@redhat.com>
20279
20280         maint: replace misused "a" with "an"
20281         * doc/intprops.texi: "a integer"
20282         * doc/regex.texi: "a explanation"
20283         * lib/alignof.h: "a object"
20284         * lib/argmatch.h: "a explanation"
20285         * lib/argp-help.c: "a option" and "a OPTION_DOC"
20286         * lib/stdint.in.h: "a integer"
20287         * lib/userspec.c: "a owner"
20288         * doc/gnulib.texi: Fix "a idea", and reword.
20289
20290 2011-05-19  Jim Meyering  <meyering@redhat.com>
20291
20292         maint: correct misuse of "a" and "an"
20293         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
20294         * lib/argp-help.c: "an docum...": s/an/a/
20295         * lib/argp-parse.c: "An vector": s/An/A/
20296         * lib/execute.c: "an native": s/an/a/
20297         * lib/spawn-pipe.c: Likewise.
20298         * lib/gc.h: "an Gc_rc": s/an/a/
20299         * lib/unigbrk.in.h: "an grapheme": s/an/a/
20300         * lib/fts.c: "an stat.st_dev": s/an/a/
20301
20302 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20303
20304         intprops-tests: work around HP-UX 11.23 cc bug with constants
20305         * tests/test-intprops.c (VERIFY): New macro.
20306         (main): Use it, instead of verify, to work around the compiler bug; see
20307         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20308
20309         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
20310         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
20311         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
20312         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
20313         (_GL_REMAINDER_OVERFLOW): Use it.
20314
20315         intprops-tests: revert unsigned part of previous change
20316         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
20317         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
20318         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
20319         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
20320
20321 2011-05-19  Bruno Haible  <bruno@clisp.org>
20322
20323         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
20324         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
20325         strerror_r() returned without filling the buffer.
20326         Reported by Eric Blake.
20327
20328 2011-05-19  Eric Blake  <eblake@redhat.com>
20329
20330         strerror_r: guarantee unchanged errno
20331         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
20332         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
20333         failure.
20334         * tests/test-strerror_r.c (main): Enhance test.
20335
20336 2011-05-19  Bruno Haible  <bruno@clisp.org>
20337
20338         strerror_r: Reorder #if blocks.
20339         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
20340         for consistency with the previous commit.
20341
20342 2011-05-19  Bruno Haible  <bruno@clisp.org>
20343
20344         perror: Avoid clobbering the strerror buffer when possible.
20345         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
20346         * lib/strerror.c: Include it.
20347         * modules/strerror (Files): Add lib/strerror-impl.h.
20348         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
20349         (my_strerror): New function, defined through lib/strerror-impl.h.
20350         (perror): Use it instead of strerror.
20351         * modules/perror (Files): Add lib/strerror-impl.h.
20352         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
20353
20354 2011-05-19  Eric Blake  <eblake@redhat.com>
20355
20356         strerror_r: fix on newer cygwin
20357         * lib/strerror_r.c (strerror_r): Cygwin now has
20358         __xpg_strerror_r, use it.
20359
20360 2011-05-19  Bruno Haible  <bruno@clisp.org>
20361
20362         strerror_r: Avoid clobbering the strerror buffer when possible.
20363         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
20364         (sys_nerr, sys_errlist): New declarations.
20365         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
20366         HP-UX, native Win32, IRIX, and 32-bit Solaris.
20367         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
20368
20369 2011-05-19  Bruno Haible  <bruno@clisp.org>
20370
20371         strerror_r: Fix test failure on mingw.
20372         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
20373         EXTEND_STRERROR_R.
20374         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
20375         macros from errno.in.h instead.
20376
20377 2011-05-19  Eric Blake  <eblake@redhat.com>
20378
20379         strerror: relax test for Solaris
20380         * tests/test-strerror.c (main): Permit Solaris behavior.
20381         * tests/test-strerror_r.c (main): Likewise.
20382
20383         strerror: enforce POSIX ruling on strerror(0)
20384         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
20385         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20386         * lib/strerror_r.c (rpl_strerror_r): Work around it.
20387         * doc/posix-functions/strerror.texi (strerror): Document it.
20388         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
20389         * tests/test-strerror.c (main): Strengthen test.
20390         * tests/test-strerror_r.c (main): Likewise.
20391
20392 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20393
20394         intprop-tests: port to older and more-pedantic compilers
20395         * modules/intprops-tests (Files): Add tests/macros.h.
20396         * tests/test-intprops.c: Include macros.h.
20397         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
20398         it's no longer documented to expand to an integer constant expression.
20399         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
20400         argument is floating point, as it's no longer documented to expand
20401         to an integer constant expression in that case.
20402         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
20403         compiler bugs reported by Bruno Haible.  See
20404         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20405         (U0, U1): New constants, to work around the same bugs.  Also,
20406         in tests, use e.g., "(unsigned int) 39" rather than "39u".
20407
20408         intprops: work around C compiler bugs
20409         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
20410         bug in Sun C 5.11 2010/08/13 and other compilers; see
20411         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20412
20413         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
20414         * doc/intprops.texi (Integer Type Determination): Fix
20415         documentation for TYPE_IS_INTEGER: it returns an constant
20416         expression, not an integer constant expression.  Fix doc for
20417         TYPE_SIGNED: it returns an integer constant expression only if its
20418         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
20419         hardly worth documented that way....)
20420
20421 2011-05-18  Bruno Haible  <bruno@clisp.org>
20422
20423         strerror_r: Avoid clobbering the strerror buffer when possible.
20424         * lib/strerror_r.c (strerror_r): Merge the three implementations.
20425         Handle gnulib defined errno values here. When strerror() returns NULL
20426         or an empty string, return EINVAL.
20427         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
20428         gnulib defined errno values here.
20429         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
20430
20431 2011-05-18  Eric Blake  <eblake@redhat.com>
20432
20433         fnmatch: avoid compiler warning
20434         * lib/fnmatch_loop.c (FCT): Use correct type.
20435         Reported by Matthias Bolte.
20436
20437 2011-05-13  Jim Meyering  <meyering@redhat.com>
20438
20439         maint.mk: three new prohibit_<HDR>_without_use rules
20440         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
20441         (sc_prohibit_stdio-safer_without_use): Likewise.
20442         (sc_prohibit_xfreopen_without_use): Likewise.
20443
20444 2011-05-17  Jim Meyering  <meyering@redhat.com>
20445
20446         announce-gen: fail if the NEWS delta is empty
20447         If there's nothing noteworthy in NEWS, then either you forgot
20448         or you shouldn't be releasing.
20449         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
20450
20451 2011-05-17  Pádraig Brady <P@draigBrady.com>
20452
20453         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
20454         reserved symbols starting with double underscore from the check.
20455
20456 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20457
20458         intprops: add doc
20459         * doc/intprops.texi: New file, documenting intprops.
20460         * doc/gnulib.texi (Particular Modules): Include it.
20461
20462         verify: add doc to gnulib manual and fix example
20463         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
20464         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
20465         (Compile-time Assertions): Fix example so it can't overflow.
20466
20467 2011-05-17  Jim Meyering  <meyering@redhat.com>
20468
20469         warnings.m4: don't usurp save_CPPFLAGS variable name
20470         * m4/warnings.m4: Prefix local temporary variable name with gl_.
20471
20472         doc: fix typo
20473         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
20474
20475 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20476             Bruno Haible  <bruno@clisp.org>
20477
20478         doc: Tweak recent change.
20479         * README (Portability guidelines): Tweak new text.
20480         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
20481         Interix 6.1.
20482
20483 2011-05-16  Eric Blake  <eblake@redhat.com>
20484
20485         inttypes: avoid autoconf warning
20486         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
20487         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20488
20489 2011-05-16  Sam Steingold <sds@gnu.org>
20490         and Eric Blake  <eblake@redhat.com>
20491
20492         vc-list-files: accept multiple directory operands
20493         * build-aux/vc-list-files: Iterate over all remaining operands.
20494
20495 2011-05-16  Bruno Haible  <bruno@clisp.org>
20496
20497         Fix confusion regarding deprecated modules.
20498         * modules/calloc (Status, Notice): Mark module as deprecated, not
20499         obsolete.
20500         * modules/fnmatch-posix (Status, Notice): Likewise.
20501         * modules/getdate (Status, Notice): Likewise.
20502         * modules/getopt (Status, Notice): Likewise.
20503         * modules/malloc (Status, Notice): Likewise.
20504         * modules/pipe (Status, Notice): Likewise.
20505         * modules/realloc (Status, Notice): Likewise.
20506         * modules/rename-dest-slash (Status, Notice): Likewise.
20507         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
20508         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
20509         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
20510         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
20511         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
20512
20513 2011-05-16  Bruno Haible  <bruno@clisp.org>
20514
20515         doc: List the target platforms.
20516         * doc/gnulib-intro.texi (Target Platforms): New section.
20517         * doc/gnulib.texi (Introduction): Update menu.
20518         * README (Portability guidelines): Refer to the new section. Update
20519         statement about oldest supported environment. Remove rationale why
20520         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
20521         unportable C89 function.
20522         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
20523         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
20524
20525 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20526
20527         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
20528
20529 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20530
20531         intprops-tests: new module
20532         * modules/intprops-tests, tests/test-intprops.c: New files.
20533
20534         intprops: add safe, portable integer overflow checking
20535         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
20536         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
20537         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
20538         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
20539         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
20540         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
20541         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
20542         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
20543         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
20544         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
20545         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
20546
20547 2011-05-12  James Youngman  <jay@gnu.org>
20548
20549         Add a test for glibc's Bugzilla bug #12378.
20550         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
20551         doesn't allow the literal matching of a lone "[" (which is
20552         required by POSIX).
20553         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
20554
20555 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
20556
20557         Sync glibc change fixing Bugzilla bug #12378.
20558         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
20559         beginning and fall back to matching as normal character if the
20560         string ends before the matching ']' is found.  This is what POSIX
20561         requires.
20562
20563 2011-05-13  Eric Blake  <eblake@redhat.com>
20564
20565         getcwd-lgpl: relax test for FreeBSD
20566         * doc/posix-functions/getcwd.texi (getcwd): Document portability
20567         issue.
20568         * tests/test-getcwd-lgpl.c (main): Relax test.
20569         Reported by Matthias Bolte.
20570
20571 2011-05-11  Eric Blake  <eblake@redhat.com>
20572
20573         test-fflush: silence compiler warning
20574         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
20575
20576 2011-05-11  Bruno Haible  <bruno@clisp.org>
20577
20578         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
20579         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
20580         * modules/canonicalize (Depends-on): Add 'nocrash'.
20581         * modules/canonicalize-lgpl (Depends-on): Likewise.
20582         * doc/posix-functions/realpath.texi: Update platforms list.
20583         Reported by Ryan Schmidt <ryandesign@macports.org>.
20584
20585 2011-05-11  Bruno Haible  <bruno@clisp.org>
20586
20587         group-member: Declare function in <unistd.h>.
20588         * lib/unistd.in.h (group_member): New declaration.
20589         * lib/group-member.h: Remove file.
20590         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
20591         * tests/test-unistd-c++.cc: Check signature of group_member.
20592         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
20593         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
20594         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
20595         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
20596         HAVE_GROUP_MEMBER.
20597         * modules/group-member (Files): Remove lib/group-member.h.
20598         (Depends-on): Add unistd. Specify conditions.
20599         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20600         (Include): Change to <unistd.h>.
20601         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
20602         HAVE_GROUP_MEMBER.
20603         * NEWS: Mention the change.
20604         * lib/euidaccess.c: Don't include group-member.h.
20605
20606 2011-05-11  Bruno Haible  <bruno@clisp.org>
20607
20608         group-member: Document module.
20609         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
20610         module.
20611
20612 2011-05-11  Bruno Haible  <bruno@clisp.org>
20613
20614         fclose: Fix mistake earlier today.
20615         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
20616
20617 2011-05-11  Eric Blake  <eblake@redhat.com>
20618
20619         fclose: preserve fflush errors
20620         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
20621         Reported by Jim Meyering.
20622
20623         bootstrap: support a prereq of 'rpcgen -' on RHEL5
20624         * build-aux/bootstrap (check_versions): When no specific version
20625         is required, merely check that the app produces an exit status
20626         that indicates its existence.
20627
20628         maint.mk: drop redundant check
20629         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
20630         the same but better.
20631
20632 2011-05-11  Bruno Haible  <bruno@clisp.org>
20633
20634         fclose: Fix possible link error.
20635         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
20636         unregister_shadow_fd. Improve comments.
20637         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
20638         Eric Blake.
20639
20640 2011-05-11  Jim Meyering  <meyering@redhat.com>
20641
20642         maint.mk: improve "can not" detection and generalize rule name
20643         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
20644         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
20645         Use the same technique as in sc_prohibit_doubled_word, so that
20646         we recognize "can not" also when the words are separated by a newline.
20647         Suggested by Eric Blake.
20648         (perl_filename_lineno_text_): Define.  Factored out of...
20649         (prohibit_doubled_word_): ...here.  Use the new definition.
20650         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
20651         (prohibit_undesirable_word_seq_RE_): New overridable variable.
20652         (ignore_undesirable_word_sequence_RE_): New overridable variable.
20653
20654 2011-05-10  Eric Blake  <eblake@redhat.com>
20655
20656         fclose: avoid double close race when possible
20657         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
20658         all but WINDOWS_SOCKETS.
20659
20660 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
20661
20662         openat: correct new comment
20663         * lib/openat-proc.c (openat_proc_name): Correct the comment.
20664
20665 2011-05-10  Jim Meyering  <meyering@redhat.com>
20666
20667         openat: add comments
20668         * lib/openat-proc.c (openat_proc_name): Add comments,
20669         mostly from Eric Blake.
20670
20671 2011-05-09  Eric Blake  <eblake@redhat.com>
20672
20673         openat: reduce syscalls in first probe of /proc
20674         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
20675         be a directory.  Simplify the probe for .. bugs.
20676         * modules/openat (Depends-on): Drop same-inode.
20677         Reported by Bastien ROUCARIES.
20678
20679 2011-05-09  Jim Meyering  <meyering@redhat.com>
20680
20681         maint.mk: change semantics/name of tight_scope variables
20682         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
20683         Rename variables to align with semantics that make them more useful.
20684
20685         maint.mk: tweak new rule's name not to impinge
20686         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
20687         (sc_tight_scope): Use new rule name rather than $@-0.
20688
20689         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
20690         * top/maint.mk (sc_tight_scope): New rule.
20691         (sc_tight_scope-0): New rule, ifdef'd out.
20692         (_gl_TS_dir): Default.
20693         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
20694         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
20695
20696 2011-05-09  Simon Josefsson  <simon@josefsson.org>
20697
20698         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
20699         Haible <bruno@clisp.org>.
20700
20701 2011-05-08  Bruno Haible  <bruno@clisp.org>
20702
20703         Comments.
20704         * m4/isnanf.m4: Add comment.
20705         * m4/isnanl.m4: Likewise.
20706
20707 2011-05-08  Bruno Haible  <bruno@clisp.org>
20708
20709         glob: Remove obsolete macro.
20710         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
20711
20712 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
20713
20714         intprops: Sun C 5.11 supports __typeof__
20715         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
20716         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
20717         which is new.
20718         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
20719
20720         intprops: switch to usual gnulib indenting and naming
20721         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
20722         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
20723
20724         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
20725
20726 2011-05-08  Jim Meyering  <meyering@redhat.com>
20727
20728         maint.mk: suppress "Entering/Leaving directory" diag in announcement
20729         * top/maint.mk (release-prep): Use make's --no-print-directory
20730         option when generating the announcement.  This eliminates the
20731         pesky "make[2]: Entering/Leaving directory" diagnostics in the
20732         generated announcement template.
20733
20734 2011-05-08  Bruno Haible  <bruno@clisp.org>
20735
20736         tzset: Fix gettimeofday wrapper on Solaris 2.6.
20737         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
20738         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
20739
20740 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20741
20742         ignore-value, verify: Omit include files from lib_SOURCES.
20743         * modules/ignore-value, modules/verify (Makefile.am):
20744         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
20745         that leads Automake to duplicate use of am__objects_... variables
20746         in Makefile.in.  See
20747         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
20748
20749 2011-05-07  Bruno Haible  <bruno@clisp.org>
20750
20751         fclose: Simplify autoconf macro.
20752         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
20753         defined.
20754
20755 2011-05-07  Bruno Haible  <bruno@clisp.org>
20756
20757         canonicalize-lgpl: Fix autoconf macro ordering bug.
20758         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
20759         gl_STDLIB_H_DEFAULTS.
20760
20761 2011-05-06  Eric Blake  <eblake@redhat.com>
20762
20763         maintainer-makefile: make sc_po_check easier to tune
20764         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
20765         to probe for strings, such as an alternate location for gnulib.
20766
20767         fclose: guarantee behavior on seekable stdin
20768         * modules/fclose (Depends-on): Add fflush.
20769         * doc/posix-functions/fclose.texi (fclose): Document this.
20770         * tests/test-fclose.c (main): Make test for this unconditional.
20771
20772 2011-05-06  Bruno Haible  <bruno@clisp.org>
20773
20774         fflush, fpurge: Relicense under LGPLv2+.
20775         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
20776         * modules/fpurge (License): Likewise.
20777         With permission from Eric Blake and Jim Meyering.
20778         Suggested by Eric Blake.
20779
20780 2011-05-06  Karl Berry  <karl@gnu.org>
20781
20782         * MODULES.html.sh (func_all_modules): remove exit.
20783
20784 2011-05-06  Jim Meyering  <meyering@redhat.com>
20785
20786         maint.mk: use info-gnu@ as the default only for a stable release
20787         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
20788         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
20789         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
20790         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
20791
20792 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20793
20794         assert-h: new module, which supports C1X-style static_assert
20795         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
20796         * lib/verify.h: Revamp so that this can be copied into assert.h,
20797         while retaining the ability to use it standalone as before.
20798         Rename private identifiers so as not to encroach on the
20799         standard C namespace, since this is now used by assert.h.
20800         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
20801         the old verify_true.
20802         (_GL_VERIFY_TRUE): New macro, with much of the contents of
20803         the old verify_true.  Use _GL_VERIFY_TYPE.
20804         (_GL_VERIFY): New macro, with much of the contents of the old verify.
20805         (static_assert): New macro, if _GL_STATIC_ASSERT_H
20806         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
20807         defined when this file is copied into the replacement assert.h.
20808         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
20809         and _Static_assert is not built in.
20810         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
20811         defined, and use the new macros mentioned above.
20812         * doc/posix-headers/assert.texi: Document this.
20813
20814 2011-05-05  Bruno Haible  <bruno@clisp.org>
20815
20816         fclose, fflush: Respect rules for use of AC_LIBOBJ.
20817         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
20818         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
20819         gl_REPLACE_FCLOSE here.
20820         * modules/fflush (Depends-on): Remove fclose.
20821         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
20822         combination with module 'fclose'.
20823
20824 2011-05-05  Bruno Haible  <bruno@clisp.org>
20825
20826         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
20827         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
20828         gl_FUNC_FFLUSH.
20829         (gl_FUNC_FFLUSH): Use it.
20830         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
20831         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
20832         gl_REPLACE_FSEEKO here.
20833
20834 2011-05-05  Bruno Haible  <bruno@clisp.org>
20835
20836         tzset: Relicense under LGPL.
20837         * modules/tzset (License): Change to LGPL.
20838         No agreement needed; it's a no-op.
20839
20840         strtoimax, strtoumax: Relicense under LGPL.
20841         * modules/strtoimax (License): Change to LGPL.
20842         * modules/strtoumax (License): Likewise.
20843         With permission from Jim Meyering, Paul Eggert:
20844         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
20845         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
20846
20847         getgroups: Relicense under LGPL.
20848         * modules/getgroups (License): Change to LGPL.
20849         With permission from Jim Meyering, Paul Eggert, Eric Blake:
20850         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20851         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20852         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20853
20854         nanosleep: Relicense under LGPL.
20855         * modules/nanosleep (License): Change to LGPL.
20856         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
20857         Haible:
20858         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20859         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20860         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20861         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20862
20863         futimens: Relicense under LGPL.
20864         * modules/futimens (License): Change to LGPL.
20865         With permission from Eric Blake:
20866         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20867
20868         fflush: Relicense under LGPL.
20869         * modules/fflush (License): Change to LGPL.
20870         With permission from Eric Blake, Bruno Haible, Jim Meyering:
20871         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20872         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20873         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
20874
20875         tmpfile: Relicense under LGPL.
20876         * modules/tmpfile (License): Change to LGPL.
20877         With permission from Ben Pfaff:
20878         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20879
20880         isfinite: Relicense under LGPL.
20881         * modules/isfinite (License): Change to LGPL.
20882         With permission from Ben Pfaff, Bruno Haible:
20883         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20884         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
20885
20886         acosl..tanl: Relicense under LGPL.
20887         * modules/acosl (License): Change to LGPL.
20888         * modules/asinl (License): Likewise.
20889         * modules/atanl (License): Likewise.
20890         * modules/cosl (License): Likewise.
20891         * modules/expl (License): Likewise.
20892         * modules/logl (License): Likewise.
20893         * modules/sinl (License): Likewise.
20894         * modules/sqrtl (License): Likewise.
20895         * modules/tanl (License): Likewise.
20896         Source code originally from glibc and Paolo Bonzini. Agreements:
20897         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
20898         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
20899
20900 2011-05-05  Bruno Haible  <bruno@clisp.org>
20901
20902         signal: Define sighandler_t.
20903         * lib/signal.in.h (sighandler_t): New type.
20904         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
20905         whether sighandler_t is defined.
20906         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
20907         * modules/signal (Depends-on): Add extensions.
20908         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
20909         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
20910         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
20911
20912 2011-05-05  Eric Blake  <eblake@redhat.com>
20913
20914         maint: remove useless REPLACE_*_H macros
20915         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
20916         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
20917         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
20918         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
20919         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
20920         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
20921         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
20922         * m4/btowc.m4: Update callers.
20923         * m4/dirfd.m4: Likewise.
20924         * m4/duplocale.m4: Likewise.
20925         * m4/fchdir.m4: Likewise.
20926         * m4/fdopendir.m4: Likewise.
20927         * m4/inet_ntop.m4: Likewise.
20928         * m4/inet_pton.m4: Likewise.
20929         * m4/ioctl.m4: Likewise.
20930         * m4/mbrlen.m4: Likewise.
20931         * m4/mbrtowc.m4: Likewise.
20932         * m4/mbsinit.m4: Likewise.
20933         * m4/mbsnrtowcs.m4: Likewise.
20934         * m4/mbsrtowcs.m4: Likewise.
20935         * m4/poll.m4: Likewise.
20936         * m4/setlocale.m4: Likewise.
20937         * m4/wcrtomb.m4: Likewise.
20938         * m4/wcsnrtombs.m4: Likewise.
20939         * m4/wcsrtombs.m4: Likewise.
20940         * m4/wctob.m4: Likewise.
20941         * m4/wcwidth.m4: Likewise.
20942         * modules/posix_spawn: Likewise.
20943         * modules/posix_spawn_file_actions_addclose: Likewise.
20944         * modules/posix_spawn_file_actions_adddup2: Likewise.
20945         * modules/posix_spawn_file_actions_addopen: Likewise.
20946         * modules/posix_spawn_file_actions_destroy: Likewise.
20947         * modules/posix_spawn_file_actions_init: Likewise.
20948         * modules/posix_spawnattr_destroy: Likewise.
20949         * modules/posix_spawnattr_getflags: Likewise.
20950         * modules/posix_spawnattr_getpgroup: Likewise.
20951         * modules/posix_spawnattr_getschedparam: Likewise.
20952         * modules/posix_spawnattr_getschedpolicy: Likewise.
20953         * modules/posix_spawnattr_getsigdefault: Likewise.
20954         * modules/posix_spawnattr_getsigmask: Likewise.
20955         * modules/posix_spawnattr_init: Likewise.
20956         * modules/posix_spawnattr_setflags: Likewise.
20957         * modules/posix_spawnattr_setpgroup: Likewise.
20958         * modules/posix_spawnattr_setschedparam: Likewise.
20959         * modules/posix_spawnattr_setschedpolicy: Likewise.
20960         * modules/posix_spawnattr_setsigdefault: Likewise.
20961         * modules/posix_spawnattr_setsigmask: Likewise.
20962         * modules/posix_spawnp: Likewise.
20963
20964 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
20965
20966         Add option to do-release-commit-and-tag to specify branch.
20967         * build-aux/do-release-commit-and-tag: Add --branch.
20968
20969 2011-05-03  Bruno Haible  <bruno@clisp.org>
20970
20971         Avoid unnecessary compilation units, through conditional dependencies.
20972         * modules/accept (Depends-on): Add conditions to the dependencies.
20973         * modules/acosl (Depends-on): Likewise.
20974         * modules/argz (Depends-on): Likewise.
20975         * modules/asinl (Depends-on): Likewise.
20976         * modules/atanl (Depends-on): Likewise.
20977         * modules/atoll (Depends-on): Likewise.
20978         * modules/bind (Depends-on): Likewise.
20979         * modules/btowc (Depends-on): Likewise.
20980         * modules/canonicalize-lgpl (Depends-on): Likewise.
20981         * modules/ceil (Depends-on): Likewise.
20982         * modules/ceilf (Depends-on): Likewise.
20983         * modules/ceill (Depends-on): Likewise.
20984         * modules/chdir-long (Depends-on): Likewise.
20985         * modules/chown (Depends-on): Likewise.
20986         * modules/close (Depends-on): Likewise.
20987         * modules/connect (Depends-on): Likewise.
20988         * modules/cosl (Depends-on): Likewise.
20989         * modules/dirfd (Depends-on): Likewise.
20990         * modules/dprintf (Depends-on): Likewise.
20991         * modules/dprintf-posix (Depends-on): Likewise.
20992         * modules/error (Depends-on): Likewise.
20993         * modules/euidaccess (Depends-on): Likewise.
20994         * modules/expl (Depends-on): Likewise.
20995         * modules/faccessat (Depends-on): Likewise.
20996         * modules/fchdir (Depends-on): Likewise.
20997         * modules/fclose (Depends-on): Likewise.
20998         * modules/fcntl (Depends-on): Likewise.
20999         * modules/fdopendir (Depends-on): Likewise.
21000         * modules/fflush (Depends-on): Likewise.
21001         * modules/floor (Depends-on): Likewise.
21002         * modules/floorf (Depends-on): Likewise.
21003         * modules/floorl (Depends-on): Likewise.
21004         * modules/fnmatch (Depends-on): Likewise.
21005         * modules/fopen (Depends-on): Likewise.
21006         * modules/fprintf-posix (Depends-on): Likewise.
21007         * modules/frexp (Depends-on): Likewise.
21008         * modules/frexp-nolibm (Depends-on): Likewise.
21009         * modules/frexpl (Depends-on): Likewise.
21010         * modules/frexpl-nolibm (Depends-on): Likewise.
21011         * modules/fseek (Depends-on): Likewise.
21012         * modules/fsusage (Depends-on): Likewise.
21013         * modules/ftell (Depends-on): Likewise.
21014         * modules/ftello (Depends-on): Likewise.
21015         * modules/futimens (Depends-on): Likewise.
21016         * modules/getcwd (Depends-on): Likewise.
21017         * modules/getcwd-lgpl (Depends-on): Likewise.
21018         * modules/getdelim (Depends-on): Likewise.
21019         * modules/getdomainname (Depends-on): Likewise.
21020         * modules/getgroups (Depends-on): Likewise.
21021         * modules/gethostname (Depends-on): Likewise.
21022         * modules/getline (Depends-on): Likewise.
21023         * modules/getlogin_r (Depends-on): Likewise.
21024         * modules/getopt-posix (Depends-on): Likewise.
21025         * modules/getpeername (Depends-on): Likewise.
21026         * modules/getsockname (Depends-on): Likewise.
21027         * modules/getsockopt (Depends-on): Likewise.
21028         * modules/getsubopt (Depends-on): Likewise.
21029         * modules/getusershell (Depends-on): Likewise.
21030         * modules/glob (Depends-on): Likewise.
21031         * modules/grantpt (Depends-on): Likewise.
21032         * modules/iconv_open (Depends-on): Likewise.
21033         * modules/iconv_open-utf (Depends-on): Likewise.
21034         * modules/inet_ntop (Depends-on): Likewise.
21035         * modules/inet_pton (Depends-on): Likewise.
21036         * modules/ioctl (Depends-on): Likewise.
21037         * modules/isapipe (Depends-on): Likewise.
21038         * modules/isfinite (Depends-on): Likewise.
21039         * modules/isinf (Depends-on): Likewise.
21040         * modules/lchown (Depends-on): Likewise.
21041         * modules/ldexpl (Depends-on): Likewise.
21042         * modules/link (Depends-on): Likewise.
21043         * modules/linkat (Depends-on): Likewise.
21044         * modules/listen (Depends-on): Likewise.
21045         * modules/logl (Depends-on): Likewise.
21046         * modules/lstat (Depends-on): Likewise.
21047         * modules/mbrlen (Depends-on): Likewise.
21048         * modules/mbrtowc (Depends-on): Likewise.
21049         * modules/mbsinit (Depends-on): Likewise.
21050         * modules/mbsnrtowcs (Depends-on): Likewise.
21051         * modules/mbsrtowcs (Depends-on): Likewise.
21052         * modules/mbtowc (Depends-on): Likewise.
21053         * modules/memcmp (Depends-on): Likewise.
21054         * modules/mkdir (Depends-on): Likewise.
21055         * modules/mkdtemp (Depends-on): Likewise.
21056         * modules/mkfifo (Depends-on): Likewise.
21057         * modules/mkfifoat (Depends-on): Likewise.
21058         * modules/mknod (Depends-on): Likewise.
21059         * modules/mkostemp (Depends-on): Likewise.
21060         * modules/mkostemps (Depends-on): Likewise.
21061         * modules/mkstemp (Depends-on): Likewise.
21062         * modules/mkstemps (Depends-on): Likewise.
21063         * modules/mktime (Depends-on): Likewise.
21064         * modules/nanosleep (Depends-on): Likewise.
21065         * modules/open (Depends-on): Likewise.
21066         * modules/openat (Depends-on): Likewise.
21067         * modules/perror (Depends-on): Likewise.
21068         * modules/poll (Depends-on): Likewise.
21069         * modules/popen (Depends-on): Likewise.
21070         * modules/posix_spawn (Depends-on): Likewise.
21071         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
21072         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
21073         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
21074         * modules/posix_spawnp (Depends-on): Likewise.
21075         * modules/pread (Depends-on): Likewise.
21076         * modules/printf-posix (Depends-on): Likewise.
21077         * modules/ptsname (Depends-on): Likewise.
21078         * modules/putenv (Depends-on): Likewise.
21079         * modules/pwrite (Depends-on): Likewise.
21080         * modules/readline (Depends-on): Likewise.
21081         * modules/readlink (Depends-on): Likewise.
21082         * modules/readlinkat (Depends-on): Likewise.
21083         * modules/recv (Depends-on): Likewise.
21084         * modules/recvfrom (Depends-on): Likewise.
21085         * modules/regex (Depends-on): Likewise.
21086         * modules/remove (Depends-on): Likewise.
21087         * modules/rename (Depends-on): Likewise.
21088         * modules/renameat (Depends-on): Likewise.
21089         * modules/rmdir (Depends-on): Likewise.
21090         * modules/round (Depends-on): Likewise.
21091         * modules/roundf (Depends-on): Likewise.
21092         * modules/roundl (Depends-on): Likewise.
21093         * modules/rpmatch (Depends-on): Likewise.
21094         * modules/select (Depends-on): Likewise.
21095         * modules/send (Depends-on): Likewise.
21096         * modules/sendto (Depends-on): Likewise.
21097         * modules/setenv (Depends-on): Likewise.
21098         * modules/setlocale (Depends-on): Likewise.
21099         * modules/setsockopt (Depends-on): Likewise.
21100         * modules/shutdown (Depends-on): Likewise.
21101         * modules/sigaction (Depends-on): Likewise.
21102         * modules/signbit (Depends-on): Likewise.
21103         * modules/sigprocmask (Depends-on): Likewise.
21104         * modules/sinl (Depends-on): Likewise.
21105         * modules/sleep (Depends-on): Likewise.
21106         * modules/snprintf (Depends-on): Likewise.
21107         * modules/snprintf-posix (Depends-on): Likewise.
21108         * modules/socket (Depends-on): Likewise.
21109         * modules/sprintf-posix (Depends-on): Likewise.
21110         * modules/sqrtl (Depends-on): Likewise.
21111         * modules/stat (Depends-on): Likewise.
21112         * modules/strchrnul (Depends-on): Likewise.
21113         * modules/strdup-posix (Depends-on): Likewise.
21114         * modules/strerror (Depends-on): Likewise.
21115         * modules/strerror_r-posix (Depends-on): Likewise.
21116         * modules/strndup (Depends-on): Likewise.
21117         * modules/strnlen (Depends-on): Likewise.
21118         * modules/strptime (Depends-on): Likewise.
21119         * modules/strsep (Depends-on): Likewise.
21120         * modules/strsignal (Depends-on): Likewise.
21121         * modules/strstr-simple (Depends-on): Likewise.
21122         * modules/strtod (Depends-on): Likewise.
21123         * modules/strtoimax (Depends-on): Likewise.
21124         * modules/strtok_r (Depends-on): Likewise.
21125         * modules/strtoumax (Depends-on): Likewise.
21126         * modules/symlink (Depends-on): Likewise.
21127         * modules/symlinkat (Depends-on): Likewise.
21128         * modules/tanl (Depends-on): Likewise.
21129         * modules/tcgetsid (Depends-on): Likewise.
21130         * modules/tmpfile (Depends-on): Likewise.
21131         * modules/trunc (Depends-on): Likewise.
21132         * modules/truncf (Depends-on): Likewise.
21133         * modules/truncl (Depends-on): Likewise.
21134         * modules/uname (Depends-on): Likewise.
21135         * modules/unlink (Depends-on): Likewise.
21136         * modules/unlockpt (Depends-on): Likewise.
21137         * modules/unsetenv (Depends-on): Likewise.
21138         * modules/usleep (Depends-on): Likewise.
21139         * modules/utimensat (Depends-on): Likewise.
21140         * modules/vasprintf (Depends-on): Likewise.
21141         * modules/vdprintf (Depends-on): Likewise.
21142         * modules/vdprintf-posix (Depends-on): Likewise.
21143         * modules/vfprintf-posix (Depends-on): Likewise.
21144         * modules/vprintf-posix (Depends-on): Likewise.
21145         * modules/vsnprintf (Depends-on): Likewise.
21146         * modules/vsnprintf-posix (Depends-on): Likewise.
21147         * modules/vsprintf-posix (Depends-on): Likewise.
21148         * modules/wcrtomb (Depends-on): Likewise.
21149         * modules/wcscasecmp (Depends-on): Likewise.
21150         * modules/wcscspn (Depends-on): Likewise.
21151         * modules/wcsdup (Depends-on): Likewise.
21152         * modules/wcsncasecmp (Depends-on): Likewise.
21153         * modules/wcsnrtombs (Depends-on): Likewise.
21154         * modules/wcspbrk (Depends-on): Likewise.
21155         * modules/wcsrtombs (Depends-on): Likewise.
21156         * modules/wcsspn (Depends-on): Likewise.
21157         * modules/wcsstr (Depends-on): Likewise.
21158         * modules/wcstok (Depends-on): Likewise.
21159         * modules/wcswidth (Depends-on): Likewise.
21160         * modules/wctob (Depends-on): Likewise.
21161         * modules/wctomb (Depends-on): Likewise.
21162         * modules/wctype (Depends-on): Likewise.
21163         * modules/wcwidth (Depends-on): Likewise.
21164         * modules/write (Depends-on): Likewise.
21165
21166 2011-05-03  Bruno Haible  <bruno@clisp.org>
21167
21168         Support for conditional dependencies.
21169         * doc/gnulib.texi (Module description): Document the syntax of
21170         conditional dependencies.
21171         * gnulib-tool: New option --conditional-dependencies.
21172         (func_usage): Document it.
21173         (cond_dependencies): New variable.
21174         (func_get_automake_snippet_conditional,
21175         func_get_automake_snippet_unconditional): New functions, extracted from
21176         func_get_automake_snippet.
21177         (func_get_automake_snippet): Use them.
21178         (sed_first_32_chars): New variable.
21179         (func_module_shellfunc_name): New function.
21180         (func_module_shellvar_name): New function.
21181         (func_module_conditional_name): New function.
21182         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
21183         func_cond_module_condition): New functions.
21184         (func_modules_transitive_closure): Add support for conditional
21185         dependencies.
21186         (func_emit_lib_Makefile_am): For a conditional module, enclose the
21187         conditional automake snippet in an automake conditional.
21188         (func_emit_autoconf_snippets): Emit shell functions that contain the
21189         code for conditional modules.
21190         (func_import, func_create_testdir): Update specification.
21191
21192 2011-05-03  Eric Blake  <eblake@redhat.com>
21193
21194         test-getaddrinfo: report error information
21195         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
21196
21197 2011-05-03  Jim Meyering  <meyering@redhat.com>
21198
21199         bootstrap: avoid build failure when $GZIP is set
21200         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
21201         program name.  If defined at all, it is supposed to list gzip options.
21202         Reported by Alan Curry in http://debbugs.gnu.org/8609
21203
21204 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
21205
21206         readme-release: new module with release instructions
21207         * modules/readme-release: New module.
21208         * top/README-release: New file, from coreutils, grep, diffutils.
21209         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21210
21211 2011-05-02  Eric Blake  <eblake@redhat.com>
21212
21213         fflush: also replace fclose when fixing fflush
21214         * modules/fflush (Depends-on): Add fclose.
21215         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
21216         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
21217         memstreams with no backing fd.
21218         * doc/posix-functions/fclose.texi (fclose): Document the use of
21219         fflush module to fix the bug.
21220         * tests/test-fclose.c (main): Relax test when fclose is used in
21221         isolation.
21222
21223         fclose: add some tests
21224         * modules/fclose-tests: New test module.
21225         * tests/test-fclose.c: New file.
21226         * doc/posix-functions/fclose.texi (fclose): Document the bug.
21227
21228         fclose: reduced dependencies
21229         * modules/fclose (Depends-on): Switch from fflush/fseeko to
21230         simpler lseek.
21231         * lib/fclose.c (rpl_fclose): Likewise.
21232         Reported by Simon Josefsson.
21233
21234         exit: drop remaining clients
21235         * modules/argmatch (Depends-on): Replace exit with stdlib.
21236         * modules/copy-file (Depends-on): Likewise.
21237         * modules/execute (Depends-on): Likewise.
21238         * modules/exitfail (Depends-on): Likewise.
21239         * modules/obstack (Depends-on): Likewise.
21240         * modules/pagealign_alloc (Depends-on): Likewise.
21241         * modules/pipe-filter-gi (Depends-on): Likewise.
21242         * modules/pipe-filter-ii (Depends-on): Likewise.
21243         * modules/savewd (Depends-on): Likewise.
21244         * modules/spawn-pipe (Depends-on): Likewise.
21245         * modules/wait-process (Depends-on): Likewise.
21246         * modules/xsetenv (Depends-on): Likewise.
21247         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
21248         * modules/git-merge-changelog (Depends-on): Likewise.
21249         * modules/long-options (Depends-on): Likewise.
21250         * modules/pt_chown (Depends-on): Likewise.
21251         * modules/sysexits (Depends-on): Likewise.
21252
21253         freading: relax license from LGPLv3+ to LGPLv2+
21254         * modules/freading (License): Relax LGPL version.
21255
21256 2011-05-02  Bruno Haible  <bruno@clisp.org>
21257
21258         fchdir: Remove unused dependencies.
21259         * modules/fchdir (Depends-on): Remove include_next.
21260
21261 2011-05-02  Bruno Haible  <bruno@clisp.org>
21262
21263         gnulib-tool: Refactor.
21264         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
21265         from func_emit_autoconf_snippets.
21266         (func_emit_autoconf_snippets): Use it.
21267
21268 2011-05-02  Simon Josefsson  <simon@josefsson.org>
21269
21270         * NEWS: Document removal of 'exit'.
21271         * modules/exit: Remove file.
21272
21273 2011-05-01  Bruno Haible  <bruno@clisp.org>
21274
21275         Update DEPENDENCIES.
21276         * DEPENDENCIES (gettext): Recommend the newest release.
21277         Reported by Simon Josefsson.
21278
21279 2011-05-01  Bruno Haible  <bruno@clisp.org>
21280
21281         gnulib-tool: Reduce code duplication.
21282         * gnulib-tool (func_emit_autoconf_snippets): New function.
21283         (func_import, func_create_testdir): Use it.
21284
21285 2011-04-30  Eric Blake  <eblake@redhat.com>
21286
21287         fclose: don't fail on non-seekable input stream
21288         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
21289         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
21290         since fflush is allowed to fail in that case.
21291
21292 2011-04-30  Bruno Haible  <bruno@clisp.org>
21293
21294         dup3: cleanup
21295         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
21296
21297 2011-04-30  Bruno Haible  <bruno@clisp.org>
21298
21299         netdb: Make it work in C++ mode.
21300         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
21301         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
21302         module.
21303         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
21304         gl_MODULE_INDICATOR_FOR_TESTS.
21305         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
21306         * modules/netdb-c++-tests: New file.
21307         * tests/test-netdb-c++.cc: New file.
21308
21309 2011-04-30  Bruno Haible  <bruno@clisp.org>
21310
21311         New modules 'vfscanf', 'vscanf'.
21312         * modules/vfscanf: New file.
21313         * modules/vscanf: New file.
21314         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
21315         here.
21316         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
21317         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
21318
21319 2011-04-30  Bruno Haible  <bruno@clisp.org>
21320
21321         passfd: Add comments.
21322         * lib/passfd.c: Add comments about platforms.
21323
21324 2011-04-30  Bruno Haible  <bruno@clisp.org>
21325
21326         sys_uio: Make <sys/uio.h> self-contained.
21327         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
21328         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
21329
21330 2011-04-30  Bruno Haible  <bruno@clisp.org>
21331
21332         sys_socket: Ensure 'struct iovec' definition.
21333         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
21334         <sys/socket.h>.
21335         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
21336
21337 2011-04-30  Bruno Haible  <bruno@clisp.org>
21338
21339         sys_uio: Protect definition of 'struct iovec'.
21340         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
21341         it as a C struct.
21342
21343 2011-04-30  Bruno Haible  <bruno@clisp.org>
21344
21345         manywarnings: fix indentation
21346         * m4/manywarnings.m4: Indent by 2 spaces consistently.
21347
21348 2011-04-30  Pádraig Brady <P@draigBrady.com>
21349
21350         manywarnings: add -Wno-missing-field-initializers if needed.
21351         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
21352         option if it's needed to allow initialization with { 0, }
21353
21354 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
21355
21356         announce-gen: cosmetic improvement
21357         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
21358
21359 2011-04-29  Jim Meyering  <meyering@redhat.com>
21360
21361         vc-list-files: indent with spaces, not TABs
21362         * build-aux/vc-list-files: Convert leading TABs to spaces,
21363         to match the style of most other files in gnulib.
21364
21365         announce-gen: indent with spaces, not TABs
21366         * build-aux/announce-gen: Convert all TABs to spaces, to match
21367         the style of most other files in gnulib.
21368
21369 2011-04-29  Eric Blake  <eblake@redhat.com>
21370
21371         quotearg: avoid uninitialized variable use
21372         * lib/quotearg.c (quoting_options_from_style): Initialize
21373         remaining fields, and ensure that custom styles are only used via
21374         quoting_options rather than quoting_style.
21375
21376 2011-04-29  Jim Meyering  <meyering@redhat.com>
21377
21378         maint.mk: remove unused VC-tag variable
21379         * top/maint.mk (VC-tag): Remove unused variable.
21380
21381 2011-04-29  Bruno Haible  <bruno@clisp.org>
21382
21383         netdb: fix gai_strerror replacements
21384         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
21385         * modules/netdb: Substitute it.
21386
21387 2011-04-29  Jim Meyering  <meyering@redhat.com>
21388
21389         test-getcwd.c: avoid new set-but-not-used warning
21390         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
21391         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
21392         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
21393         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
21394
21395         test-hash.c: avoid a new shadowing warning
21396         * tests/test-hash.c (main): Don't shadow "dup".
21397
21398 2011-04-28  Eric Blake  <eblake@redhat.com>
21399
21400         getaddrinfo: fix gai_strerror signature
21401         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
21402         and work around mingw with UNICODE defined.
21403         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
21404         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
21405         * modules/netdb (Makefile.am): Substitute it.
21406         * lib/netdb.in.h (gai_strerror): Declare replacement.
21407         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
21408         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
21409         the fix.
21410
21411         getsockopt: avoid compiler warning
21412         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21413         Reported by Matthias Bolte.
21414
21415         tests: drop unused link dependency
21416         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
21417         * modules/dirent-safer-tests (Makefile.am): Likewise.
21418         * modules/fdopendir-tests (Makefile.am): Likewise.
21419         * modules/mkfifoat-tests (Makefile.am): Likewise.
21420         * modules/openat-safer-tests (Makefile.am): Likewise.
21421         * modules/openat-tests (Makefile.am): Likewise.
21422         * modules/readlinkat-tests (Makefile.am): Likewise.
21423         * modules/symlinkat-tests (Makefile.am): Likewise.
21424         * modules/linkat-tests (Makefile.am): Likewise.
21425         (Depends-on): Switch to filenamecat-lgpl.
21426         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
21427         LIBINTL.
21428         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
21429         * tests/test-linkat.c (main): Don't require xalloc.
21430
21431         hash, mgetgroups: drop xalloc dependency
21432         * lib/hash.c (includes): Adjust includes.
21433         * lib/mgetgroups.c (includes): Likewise.
21434         (xgetgroups): Move...
21435         * lib/xgetgroups.c: ...to new file.
21436         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
21437         * modules/xgetgroups: New file, split from...
21438         * modules/mgetgroups: ...here.
21439         (Depends-on): Add xalloc-oversized.
21440         * modules/hash (Depends-on): Likewise.
21441         * modules/hash-tests (Depends-on): Drop xalloc.
21442         (test_hash_LDADD): Drop unused library.
21443         * tests/test-hash.c (main): Break xalloc dependency.
21444         (includes): Drop unused include.
21445
21446         xalloc-oversized: new module
21447         * modules/xalloc-oversized: New module.
21448         * modules/xalloc (Depends-on): Add it.
21449         * lib/xalloc.h (xalloc_oversized): Move...
21450         * lib/xalloc-oversized.h: ...into new file.
21451
21452         utimecmp: drop dependency on xmalloc
21453         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
21454         due to memory pressure.
21455         * modules/utimecmp (Depends-on): Drop xalloc.
21456
21457 2011-04-27  Eric Blake  <eblake@redhat.com>
21458
21459         getcwd: fix mingw bugs
21460         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
21461         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
21462         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
21463
21464 2011-04-27  Bruno Haible  <bruno@clisp.org>
21465
21466         mkstemps: Ensure declaration on MacOS X 10.5.
21467         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
21468         * doc/glibc-functions/mkstemps.texi: Document header file problem on
21469         MacOS X.
21470
21471 2011-04-27  Bruno Haible  <bruno@clisp.org>
21472
21473         mkstemp: More documentation.
21474         * doc/posix-functions/mkstemp.texi: Document header file problem on
21475         MacOS X.
21476
21477 2011-04-27  Bruno Haible  <bruno@clisp.org>
21478
21479         mkstemp: Tweak configure message when cross-compiling.
21480         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
21481         result as a guess.
21482
21483 2011-04-27  Bruno Haible  <bruno@clisp.org>
21484
21485         clean-temp: Clarify what it does.
21486         * lib/clean-temp.h: Add more comments.
21487         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
21488         module.
21489         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
21490         * doc/glibc-functions/mkstemps.texi: Likewise.
21491         * doc/glibc-functions/mkostemps.texi: Likewise.
21492
21493 2011-04-27  Eric Blake  <eblake@redhat.com>
21494
21495         fchdir: avoid extra chdir and fix test
21496         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
21497         getcwd-lgpl.
21498         * lib/fchdir.c (get_name): Any absolute name will do; it does not
21499         have to be canonical.
21500         (canonicalize_file_name): Drop unused macro.
21501         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
21502
21503         filenamecat-lgpl: fix licence
21504         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
21505         when it was first created.
21506
21507         linkat, renameat: add missing dependency
21508         * modules/linkat (Depends-on): Require getcwd-lgpl.
21509         * modules/renameat (Depends-on): Likewise.
21510
21511         tests: reduce dependencies
21512         * tests/test-linkat.c (main): Use lighter-weight getcwd.
21513         * tests/test-renameat.c (main): Likewise.
21514         * modules/linkat-tests (Depends-on): Relax dependency.
21515         * modules/renameat-tests (Depends-on): Likewise.
21516         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
21517         dependency explicit.
21518
21519         save-cwd: reduce default dependency
21520         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
21521         * lib/save-cwd.c: Update comments.
21522         * NEWS: Document the semantic change.
21523
21524         getcwd: enhance tests
21525         * tests/test-getcwd-lgpl.c: New file, taken from...
21526         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
21527         repeat long path stress tests from m4 probe.
21528         * modules/getcwd-lgpl-tests: New module.
21529         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
21530         * m4/getcwd-abort-bug.m4: Update comment.
21531         * m4/getcwd-path-max.m4: Likewise.
21532
21533         getcwd-lgpl: new module
21534         * modules/getcwd-lgpl: New module.
21535         * lib/getcwd-lgpl.c: New file.
21536         * doc/posix-functions/getcwd.texi (getcwd): Document it.
21537         * MODULES.html.sh (lacking POSIX:2008): Likewise.
21538         * modules/getcwd (configure.ac): Set C witness.
21539         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
21540
21541         getcwd: tweak comments
21542         * m4/getcwd-abort-bug.m4: Fix comments.
21543         * m4/getcwd-path-max.m4: Likewise.
21544         * m4/getcwd.m4: Likewise.
21545
21546 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21547         and Eric Blake  <eblake@redhat.com>
21548
21549         mkstemp: replace if system version uses wrong permissions
21550         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
21551         read/write mode bits set in file created by mkstemp.
21552         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
21553
21554 2011-04-27  Eric Blake  <eblake@redhat.com>
21555
21556         passfd: avoid compiler warning
21557         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
21558         Reported by Laine Stump.
21559
21560 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
21561
21562         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
21563         required by the NetBSD (and perhaps other 4.4BSD derived) join.
21564
21565 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21566         and Eric Blake  <eblake@redhat.com>
21567
21568         mkstemp: mention clean-temp module
21569         * lib/mkstemp.c: Add comment.
21570         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
21571
21572 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
21573
21574         inttypes: also provide default values for 32-bit tests
21575         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
21576         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
21577
21578 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
21579
21580         strtoumax: remove dependency on strtoimax
21581         This is like the strtoull change of yesterday.
21582         * modules/strtoumax (Files): Add lib/strtoimax.c.
21583         (Depends-on): Remove strtoimax and add verify.
21584
21585         inttypes-incomplete: new module
21586         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
21587         all but the PRI* and SCN* parts of gl_INTTYPES_H.
21588         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
21589         of gl_INTTYPES_H.
21590         (gl_INTTYPES_H): Rewrite in terms of these new macros.
21591         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
21592         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
21593         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
21594         * modules/strtoumax, modules/xstrtol (Depends-on):
21595         Depend on inttypes-incomplete, not inttypes.
21596         * modules/inttypes-incomplete: New module, containing the contents
21597         of the old modules/inttypes module, except that the Files: section
21598         omits m4/inttypes-pri.m4, and the configure.ac section invokes
21599         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
21600         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
21601         (Depends-on): Depend only on inttypes-incomplete.
21602         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
21603
21604         inttypes: omit now-redundant strtoimax and strtoumax work
21605         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
21606         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
21607
21608         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
21609         This supports apps that need pointers to strtoimax and strtoumax,
21610         and ports to HP-UX 11.00 64.bit, which has macros that expand to
21611         nonexistent functions.  See
21612         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
21613         et seq.
21614         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
21615         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
21616         a macro.
21617         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21618
21619 2011-04-25  Simon Josefsson  <simon@josefsson.org>
21620
21621         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
21622
21623 2011-04-25  Bruno Haible  <bruno@clisp.org>
21624
21625         strtol, strtoul: Mark modules as obsolete.
21626         * modules/strtol (Status, Notice): New sections.
21627         * modules/strtoul (Status, Notice): New sections.
21628
21629 2011-04-25  Bruno Haible  <bruno@clisp.org>
21630
21631         strtod: Remove check for strtod, unless supporting old platforms.
21632         * modules/strtod-obsolete: New file.
21633         * m4/strtod-obsolete.m4: New file.
21634         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
21635         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
21636         * modules/strtod (Depends-on): Add strtod-obsolete.
21637         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
21638
21639 2011-04-25  Bruno Haible  <bruno@clisp.org>
21640
21641         strcase: Make module obsolete.
21642         * modules/strcase (Status, Notice): New sections.
21643
21644 2011-04-25  Bruno Haible  <bruno@clisp.org>
21645
21646         dup2: Remove check for dup2, unless supporting old obsolete platforms.
21647         * modules/dup2-obsolete: New file.
21648         * m4/dup2-obsolete.m4: New file.
21649         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
21650         gl_FUNC_DUP2_OBSOLETE is not also defined.
21651         * modules/dup2 (Depends-on): Add dup2-obsolete.
21652         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
21653
21654 2011-04-25  Bruno Haible  <bruno@clisp.org>
21655
21656         strnlen: Avoid memchr related link error on old obsolete platforms.
21657         * modules/memchr-obsolete: New file.
21658         * m4/memchr-obsolete.m4: New file.
21659         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
21660         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
21661         * modules/memchr (Depends-on): Add memchr-obsolete.
21662         * modules/strnlen (Depends-on): Likewise.
21663         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
21664
21665 2011-04-25  Jim Meyering  <meyering@redhat.com>
21666
21667         maint.mk: makefile_at_at_check extend and clean up
21668         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
21669         in addition to */Makefile.am.
21670         Exempt legitimate uses of @VAR@ notation, e.g.,
21671         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
21672         Remove obsolete coreutils-specific comment.
21673         Prompted by discussion here:
21674         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
21675
21676 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
21677
21678         strtoul: remove dependency on strtol
21679         This is so that 'configure' need not check for strtol merely because
21680         the application needs strtoul.
21681         * modules/strtoul (Files): Add lib/strtol.c.
21682         (Depends-on): Remove strtol.
21683
21684         strtoull: remove dependency on strtoul
21685         This is like the strtoll change.
21686         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
21687         (Depends-on): Remove strtoul.
21688
21689         strtoll: remove dependency on strtol
21690         This is so that 'configure' need not check for strtol merely because
21691         the application needs strtoll.
21692         * modules/strtoll (Files): Add lib/strtol.c.
21693         (Depends-on): Remove strtol.
21694
21695 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21696
21697         inttypes: Move some configure check to module 'imaxdiv'.
21698         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
21699         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
21700         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
21701
21702 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21703
21704         inttypes: Move some configure check to module 'imaxabs'.
21705         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
21706         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
21707         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
21708
21709 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21710
21711         inttypes: Remove configure tests that are not needed since 2009-12-31.
21712         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
21713         gl_cv_header_working_inttypes_h.
21714
21715 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21716
21717         * modules/strnlen (Depends-on): Remove memchr.
21718         The strnlen implementation doesn't need the memchr module's fixes; see
21719         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
21720
21721         strtol: remove dependency on wchar
21722         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
21723         * modules/strtol (Depends-on): Remove wchar.
21724
21725 2011-04-21  Eric Blake  <eblake@redhat.com>
21726
21727         passfd: fix test regression on Linux
21728         * modules/passfd-tests (configure.ac): Correct socketpair check.
21729
21730         passfd: speed up configure and drop unused code
21731         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
21732         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
21733         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
21734         Instead of probing at configure for unix_scm_rights_bsd44_way,
21735         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
21736         check to a struct member probe.
21737         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
21738         (sendfd, recvfd): Update preprocessor checks.
21739         * modules/passfd (Files): Reflect rename, and drop unused file.
21740         (Depends-on): Drop unused dependency.
21741
21742         passfd: allow compilation on mingw
21743         * modules/sys_socket (Depends-on): Add sys_uio.
21744         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
21745         iovec and a minimal struct msghdr.
21746         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
21747         * tests/test-sys_socket.c (main): Enhance test.
21748         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
21749         guaranteed to provide what we need.
21750         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
21751         * modules/passfd-tests (Depends-on): Add sys_wait.
21752         * tests/test-passfd.c (main): Skip test on mingw, for now.
21753         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
21754         partial 'struct msghdr' implementation.
21755
21756         sys_uio: new module
21757         * modules/sys_uio: New module.
21758         * modules/sys_uio-tests: Likewise.
21759         * lib/sys_uio.in.h: New file.
21760         * m4/sys_uio_h.m4: Likewise.
21761         * tests/test-sys_uio.c: Likewise.
21762         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
21763         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
21764
21765 2011-04-20  Jim Meyering  <meyering@redhat.com>
21766
21767         useless-if-before-free: avoid false-positive
21768         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
21769         disjunct so that it too requires a terminating ";".  Without that,
21770         this script would identify as useless one statement from gcc that
21771         was not:
21772           if (aligned_ptr)
21773             free (((void **) aligned_ptr) [-1]);
21774
21775 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
21776
21777         doc: update users.txt.
21778         * users.txt: Add barcode.
21779
21780 2011-04-19  Bruno Haible  <bruno@clisp.org>
21781
21782         ioctl: Remove link dependency on native Windows.
21783         * lib/fd-hook.h: Renamed from lib/close-hook.h.
21784         (gl_close_fn, gl_ioctl_fn): New types.
21785         (struct fd_hook): Renamed from struct close_hook. Change type of
21786         private_close_fn field. Add private_ioctl_fn field.
21787         (close_hook_fn): Add parameter for primary close method.
21788         (execute_close_hooks, execute_all_close_hooks): Likewise.
21789         (ioctl_hook_fn): New type.
21790         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
21791         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21792         argument.
21793         (unregister_fd_hook): Renamed from unregister_close_hook.
21794         * lib/fd-hook.c: Renamed from lib/close-hook.c.
21795         Don't include <unistd.h>.
21796         (close): Remove undef.
21797         (anchor): Update.
21798         (execute_close_hooks): Add argument for primary close method.
21799         (execute_all_close_hooks): Likewise.
21800         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
21801         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21802         argument. Allow each argument to be NULL.
21803         (unregister_fd_hook): Renamed from unregister_close_hook.
21804         * lib/close.c (rpl_close): Pass 'close' function pointer to
21805         execute_all_close_hooks.
21806         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
21807         (primary_ioctl): New function.
21808         (ioctl): Don't call ioctlsocket here. Instead, call
21809         execute_all_ioctl_hooks.
21810         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
21811         close method.
21812         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
21813         (fd_sockets_hook): Renamed from close_sockets_hook.
21814         (gl_sockets_startup, gl_sockets_cleanup): Update.
21815         * modules/fd-hook: Renamed from modules/close-hook. Update.
21816         * modules/close (Depends-on): Add fd-hook, remove close-hook.
21817         * modules/sockets (Depends-on): Likewise.
21818         * modules/ioctl (Depends-on): Add fd-hook.
21819         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
21820         GNULIB_SOCKET.
21821
21822 2011-04-19  Bruno Haible  <bruno@clisp.org>
21823
21824         Move the support of O_NONBLOCK in open() to the 'open' module.
21825         * modules/nonblocking (Depends-on): Remove 'open'.
21826         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
21827         gl_cv_have_open_O_NONBLOCK.
21828         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
21829         O_NONBLOCK support.
21830         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
21831
21832 2011-04-17  Bruno Haible  <bruno@clisp.org>
21833
21834         pipe2: Simplify code.
21835         * lib/pipe2.c (pipe2): Reduce code duplication.
21836
21837 2011-04-17  Bruno Haible  <bruno@clisp.org>
21838
21839         nonblocking: Add comment.
21840         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
21841
21842 2011-04-17  Bruno Haible  <bruno@clisp.org>
21843
21844         nonblocking: Add tests for sockets.
21845         * tests/test-nonblocking-socket.sh: New file.
21846         * tests/test-nonblocking-socket-main.c: New file.
21847         * tests/test-nonblocking-socket-child.c: New file.
21848         * tests/test-nonblocking-socket.h: New file.
21849         * tests/socket-server.h: New file.
21850         * tests/socket-client.h: New file.
21851         * modules/nonblocking-socket-tests: New file.
21852         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
21853
21854 2011-04-17  Bruno Haible  <bruno@clisp.org>
21855
21856         nonblocking: Add tests for pipes.
21857         * tests/test-nonblocking-pipe.sh: New file.
21858         * tests/test-nonblocking-pipe-main.c: New file.
21859         * tests/test-nonblocking-pipe-child.c: New file.
21860         * tests/test-nonblocking-pipe.h: New file.
21861         * tests/test-nonblocking-writer.h: New file.
21862         * tests/test-nonblocking-reader.h: New file.
21863         * tests/test-nonblocking-misc.h: New file.
21864         * modules/nonblocking-pipe-tests: New file.
21865         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
21866
21867 2011-04-16  Bruno Haible  <bruno@clisp.org>
21868
21869         gettext: Clarify the needed programmer actions.
21870         * modules/gettext (Notice): New field.
21871         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
21872
21873 2011-04-16  Bruno Haible  <bruno@clisp.org>
21874
21875         strchrnul: Tweak last commit.
21876         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
21877         bug.
21878         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
21879         as in _GL_FUNCDECL_SYS.
21880         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
21881         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
21882
21883 2011-04-15  Eric Blake  <eblake@redhat.com>
21884
21885         strchrnul: work around cygwin bug
21886         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
21887         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
21888         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
21889         * modules/string (Makefile.am): Substitute it.
21890         * lib/string.in.h (strchrnul): Use it.
21891
21892 2011-04-15  Bruno Haible  <bruno@clisp.org>
21893
21894         Don't require lib/stdio-write.c when only module 'stdio' is used.
21895         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
21896         invocation.
21897         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
21898
21899 2011-04-14  Bruno Haible  <bruno@clisp.org>
21900
21901         Support non-blocking pipe I/O in read() on native Windows.
21902         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
21903         (read): New declaration.
21904         * lib/read.c: New file.
21905         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
21906         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
21907         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
21908         vscanf): New declarations.
21909         * lib/stdio-read.c: New file.
21910         * m4/read.m4: New file.
21911         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
21912         REPLACE_READ.
21913         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
21914         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21915         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
21916         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
21917         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
21918         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21919         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21920         * modules/read: New file.
21921         * modules/nonblocking (Files): Add lib/stdio-read.c.
21922         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
21923         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
21924         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21925         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21926         * modules/pread (Depends-on): Add read.
21927         * modules/safe-read (Depends-on): Likewise.
21928         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
21929         gets, scanf, vfscanf, vscanf): Verify signatures.
21930         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
21931         problem with non-blocking pipes.
21932         * doc/posix-functions/fgetc.texi: Likewise.
21933         * doc/posix-functions/fgets.texi: Likewise.
21934         * doc/posix-functions/fread.texi: Likewise.
21935         * doc/posix-functions/fscanf.texi: Likewise.
21936         * doc/posix-functions/getc.texi: Likewise.
21937         * doc/posix-functions/getchar.texi: Likewise.
21938         * doc/posix-functions/gets.texi: Likewise.
21939         * doc/posix-functions/scanf.texi: Likewise.
21940         * doc/posix-functions/vfscanf.texi: Likewise.
21941         * doc/posix-functions/vscanf.texi: Likewise.
21942
21943 2011-04-14  Bruno Haible  <bruno@clisp.org>
21944
21945         Support non-blocking pipe I/O in write() on native Windows.
21946         * lib/write.c (rpl_write): Split a write request that failed merely
21947         because the byte count was larger than the pipe buffer's size.
21948         * doc/posix-functions/write.texi: Mention the problem with large byte
21949         counts.
21950
21951 2011-04-14  Bruno Haible  <bruno@clisp.org>
21952
21953         wchar: Ensure that wchar_t gets defined on uClibc.
21954         * lib/wchar.in.h: On uClibc, include <stddef.h>.
21955         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
21956
21957 2011-04-13  Bruno Haible  <bruno@clisp.org>
21958
21959         safe-write, full-read: Avoid unnecessary compilation units.
21960         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
21961         (Depends-on): Remove safe-read. Add ssize_t.
21962         * modules/full-read (Files): Add lib/full-write.c.
21963         (Depends-on): Add full-write.
21964
21965 2011-04-13  Bruno Haible  <bruno@clisp.org>
21966
21967         Support non-blocking pipe I/O and SIGPIPE in pwrite().
21968         * modules/pwrite (Depends-on): Add 'write'.
21969
21970 2011-04-13  Bruno Haible  <bruno@clisp.org>
21971
21972         Support non-blocking pipe I/O in write() on native Windows.
21973         * lib/unistd.in.h (write): Enable replacement also if
21974         GNULIB_UNISTD_H_NONBLOCKING is 1.
21975         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
21976         (rpl_write): When failing to write on a non-blocking pipe, change
21977         errno from ENOSPC to EAGAIN.
21978         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
21979         putchar, puts, vfprintf, vprintf): Enable replacement also if
21980         GNULIB_STDIO_H_NONBLOCKING is 1.
21981         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
21982         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
21983         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
21984         CALL_WITH_SIGPIPE_EMULATION.
21985         (CALL_WITH_SIGPIPE_EMULATION): Use them.
21986         * m4/nonblocking.m4: New file.
21987         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
21988         for non-blocking I/O support.
21989         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21990         GNULIB_UNISTD_H_NONBLOCKING.
21991         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
21992         required for non-blocking I/O support.
21993         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
21994         * modules/nonblocking (Files): Add m4/nonblocking.m4,
21995         lib/stdio-write.c, m4/asm-underscore.m4.
21996         (Depends-on): Add stdio, unistd.
21997         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
21998         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
21999         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
22000         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
22001         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
22002         problem with non-blocking pipes.
22003         * doc/posix-functions/fputc.texi: Likewise.
22004         * doc/posix-functions/fputs.texi: Likewise.
22005         * doc/posix-functions/fwrite.texi: Likewise.
22006         * doc/posix-functions/printf.texi: Likewise.
22007         * doc/posix-functions/putc.texi: Likewise.
22008         * doc/posix-functions/putchar.texi: Likewise.
22009         * doc/posix-functions/puts.texi: Likewise.
22010         * doc/posix-functions/vfprintf.texi: Likewise.
22011         * doc/posix-functions/vprintf.texi: Likewise.
22012         * doc/posix-functions/write.texi: Likewise.
22013
22014 2011-04-10  Jim Meyering  <meyering@redhat.com>
22015
22016         maint.mk: prohibit doubled words
22017         Detect them also when they're separated by a newline.
22018         There are 3 ways to customize it:
22019           - disable the test on a per file basis, as usual with rules using
22020             $(VC_LIST_EXCEPT)
22021           - replace the default doubled-word-selecting regexp (affects all files)
22022           - ignore a particular file-vs-doubled-word match
22023         I nearly used that last one to ignore the "is is" match in
22024         coreutils' NEWS file, since the text was "ls -is is ..."
22025         To do that, I would have added this line to cfg.mk:
22026           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
22027         but it would have ignored any "is is" match in NEWS.
22028         Low probability, but still...
22029         Instead, I changed the text, slightly:
22030           -  ls -is is now consistent with ls -lis in ignoring values returned
22031           +  "ls -is" is now consistent with ls -lis in ignoring values returned
22032         * top/maint.mk (prohibit_double_word_RE_): Provide default.
22033         (prohibit_doubled_word_): Define.
22034         (sc_prohibit_doubled_word): New rule.
22035         (sc_prohibit_the_the): Remove.  Subsumed by the above.
22036
22037 2011-04-10  Jim Meyering  <meyering@redhat.com>
22038
22039         maint: fix doubled-word typo in comment
22040         * m4/gethostname.m4: s/is is/it is/
22041         * m4/getdomainname.m4: Likewise.
22042
22043 2011-04-10  Jim Meyering  <meyering@redhat.com>
22044
22045         maint: remove doubled word: s/it it/it/
22046         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
22047
22048 2011-04-10  Jim Meyering  <meyering@redhat.com>
22049
22050         maint.mk: remove useless semicolon and backslash
22051         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
22052         semicolon and backslash.
22053
22054 2011-04-10  Bruno Haible  <bruno@clisp.org>
22055
22056         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
22057         * modules/stdint-tests (Depends-on): Add wchar.
22058
22059 2011-04-10  Jim Meyering  <meyering@redhat.com>
22060
22061         maint: remove doubled words in comments, e.g., s/a a/a/
22062         * lib/strptime.c (day_of_the_week): s/the the/the/
22063         * tests/test-chown.h (test_chown): s/a a/a/
22064
22065         test-chown.h: correct a cast
22066         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
22067         when the destination is a stat.st_gid.
22068
22069 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
22070
22071         getaddrinfo: Fix test for sa_len member.
22072         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
22073         include <sys/types.h> before <sys/socket.h>.
22074
22075 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22076
22077         maint: change "can not" to "cannot"
22078         * doc/posix-functions/iconv.texi (iconv): This one crossed line
22079         boundaries.
22080
22081 2011-04-09  Jim Meyering  <meyering@redhat.com>
22082
22083         maint: change "a a" to "a"
22084         * tests/test-lchown.h (test_lchown): s/a a/a/
22085
22086         maint.mk: prohibit \<the the\>
22087         * top/maint.mk (sc_prohibit_the_the): New rule.
22088
22089         maint: fix "the the" in comment
22090         * lib/count-one-bits.h: s/the the/the/
22091
22092         maint: change "can not" to "cannot"
22093         But do not change the occurrences in maintain.texi or in
22094         build-aux/po/Makefile.in.in, which I presume comes from gettext.
22095         * doc/gnulib-tool.texi: s/can not/cannot/
22096         * doc/posix-functions/accept.texi (accept): Likewise.
22097         * doc/posix-functions/socket.texi (socket): Likewise.
22098         * lib/mbrtowc.c: Likewise.
22099
22100         maint.mk: prohibit use of "can not"
22101         * top/maint.mk (sc_prohibit_can_not): New rule.
22102         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
22103
22104 2011-04-09  Bruno Haible  <bruno@clisp.org>
22105
22106         careadlinkat: Guard against misuse of careadlinkatcwd.
22107         * lib/careadlinkat.c: Include <stdlib.h>.
22108         (careadlinkatcwd): Check that the fd argument is as expected.
22109
22110 2011-04-09  Bruno Haible  <bruno@clisp.org>
22111
22112         careadlinkat: Use common coding style.
22113         * lib/careadlinkat.c: Move gnulib includes after system includes.
22114
22115 2011-04-09  Bruno Haible  <bruno@clisp.org>
22116
22117         careadlinkat: Clarify specification.
22118         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
22119         (careadlinkatcwd): Add comment.
22120         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
22121
22122 2011-04-09  Bruno Haible  <bruno@clisp.org>
22123
22124         areadlinkat: Avoid link error on many platforms.
22125         * modules/areadlinkat (Depends-on): Add areadlink.
22126
22127 2011-04-09  Bruno Haible  <bruno@clisp.org>
22128
22129         allocator, careadlinkat: Fix double-inclusion guard.
22130         * lib/allocator.h: Fix double-inclusion guard.
22131         * lib/careadlinkat.h: Likewise.
22132
22133 2011-04-09  Bruno Haible  <bruno@clisp.org>
22134
22135         relocatable-prog-wrapper: Update after module 'areadlink' changed.
22136         * lib/relocwrapper.c: Update dependencies hierarchy.
22137         * build-aux/install-reloc: Update list of files to be compiled.
22138         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
22139         lib/allocator.[hc].
22140
22141 2011-04-08  Eric Blake  <eblake@redhat.com>
22142
22143         strftime: silence gnulib-tool warning
22144         * modules/strftime-tests (Depends-on): Drop automatic dependency.
22145
22146 2011-04-08  Bruno Haible  <bruno@clisp.org>
22147
22148         verify: Fix syntax error with GCC 4.6 in C++ mode.
22149         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
22150         (HAVE_STATIC_ASSERT): New macro.
22151         (verify_true, verify): Use 'static_assert' if it is supported and
22152         '_Static_assert' is not supported.
22153
22154 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22155
22156         allocator: New module.
22157         * modules/allocator, lib/allocator.c: New files.
22158         * lib/allocator.h (stdlib_allocator): New decl.
22159         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
22160         Remove.  Do not include <stdlib.h>.
22161         (careadlinkat): Use stdlib_allocator instead of rolling our own.
22162         * modules/careadlinkat (Files): Remove lib/allocator.h.
22163         (Depends-on): Add allocator.
22164
22165         stdlib: let modules use system malloc, realloc
22166         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
22167         if !_GL_USE_STDLIB_ALLOC.
22168         (malloc, realloc): Limit this change to a smaller scope.
22169
22170         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
22171         (malloc, realloc): Don't #undef; no longer needed.
22172         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22173         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22174         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22175         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22176         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22177         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22178         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22179         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22180
22181         careadlinkat: rename members to avoid problem
22182         * lib/allocator.h (struct allocator): Rename members from
22183         malloc/realloc to allocate/reallocate, to avoid problems if malloc
22184         and realloc are #define'd.  Reported by Eric Blake in
22185         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
22186         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
22187
22188 2011-04-08  Eric Blake  <eblake@redhat.com>
22189
22190         nonblocking: reduce dependency
22191         * tests/test-nonblocking.c: Only test sockets when in use.
22192         * modules/nonblocking-tests (Depends-on): Drop socket.
22193         (Makefile.am): Link even if sockets are not present.
22194         * modules/pipe2-tests (Makefile.am): Likewise.
22195         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
22196
22197         pipe2: fix O_NONBLOCK support on mingw
22198         * modules/pipe2 (Depends-on): Add nonblocking.
22199         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
22200         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
22201         * tests/test-nonblocking.c (main): Likewise.
22202         * modules/pipe2-tests (Makefile.am): Avoid link failure.
22203
22204         fcntl-h: fix O_ACCMODE on cygwin
22205         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
22206         * lib/fcntl.in.h (O_ACCMODE): Fix it.
22207
22208         pipe-filter: drop O_NONBLOCK workarounds
22209         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
22210         * modules/pipe-filter-ii (Depends-on): Likewise.
22211         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
22212
22213         nonblocking: provide O_NONBLOCK for mingw
22214         * modules/nonblocking (Depends-on): Add open.
22215         (configure.ac): Set new witness macro.
22216         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
22217         * modules/fcntl-h (Makefile.am): Substitute it.
22218         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
22219         nonblocking module is in use.
22220         * lib/nonblocking.c: Adjust portability test.
22221         * lib/open.c (open): Don't let native open see gnulib flag.
22222         * tests/test-fcntl-h.c (main): Enhance test.
22223         * tests/test-open.h (test_open): Likewise.
22224         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
22225
22226         careadlinkat: fix compilation error on mingw
22227         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
22228         within struct allocator.
22229
22230 2011-04-06  Eric Blake  <eblake@redhat.com>
22231
22232         binary-io: relicense under LGPLv2+
22233         * modules/binary-io (License): Relax to LGPLv2+.
22234         Requested for libvirt, and required by pipe2.
22235
22236 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22237
22238         verify: use _Static_assert if available
22239         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
22240         (verify_true, verify): Use it if available.  This generates better
22241         diagnostics with GCC 4.6.0 and later.
22242
22243 2011-04-05  Bruno Haible  <bruno@clisp.org>
22244
22245         Remove leftover generated .h files after config.status changed.
22246
22247         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
22248         GL_GENERATE_ALLOCA_H.
22249         * modules/alloca-opt (Makefile.am): Remove alloca.h if
22250         GL_GENERATE_ALLOCA_H evaluates to false.
22251
22252         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
22253         GL_GENERATE_ARGZ_H.
22254         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
22255         evaluates to false.
22256
22257         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
22258         GL_GENERATE_BYTESWAP_H.
22259         * modules/byteswap (Makefile.am): Remove byteswap.h if
22260         GL_GENERATE_BYTESWAP_H evaluates to false.
22261
22262         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
22263         GL_GENERATE_ERRNO_H.
22264         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
22265         evaluates to false.
22266
22267         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
22268         GL_GENERATE_FLOAT_H.
22269         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
22270         evaluates to false.
22271
22272         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
22273         GL_GENERATE_FNMATCH_H.
22274         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
22275         GL_GENERATE_FNMATCH_H evaluates to false.
22276
22277         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
22278         GL_GENERATE_GLOB_H.
22279         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
22280         evaluates to false.
22281
22282         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
22283         automake conditional GL_GENERATE_ICONV_H.
22284         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
22285         evaluates to false.
22286
22287         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
22288         GL_GENERATE_NETINET_IN_H.
22289         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
22290         GL_GENERATE_NETINET_IN_H evaluates to false.
22291
22292         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
22293         conditional GL_GENERATE_PTHREAD_H.
22294         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
22295         * modules/pthread (Makefile.am): Remove pthread.h if
22296         GL_GENERATE_PTHREAD_H evaluates to false.
22297
22298         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
22299         GL_GENERATE_SCHED_H.
22300         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
22301         evaluates to false.
22302
22303         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
22304         conditional GL_GENERATE_SELINUX_CONTEXT_H.
22305         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
22306         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
22307
22308         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
22309         GL_GENERATE_STDARG_H.
22310         * modules/stdarg (Makefile.am): Remove stdarg.h if
22311         GL_GENERATE_STDARG_H evaluates to false.
22312
22313         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
22314         GL_GENERATE_STDBOOL_H.
22315         * modules/stdbool (Makefile.am): Remove stdbool.h if
22316         GL_GENERATE_STDBOOL_H evaluates to false.
22317
22318         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
22319         conditional GL_GENERATE_STDDEF_H.
22320         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
22321         * modules/stddef (Makefile.am): Remove stddef.h if
22322         GL_GENERATE_STDDEF_H evaluates to false.
22323
22324         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
22325         GL_GENERATE_STDINT_H.
22326         * modules/stdint (Makefile.am): Remove stdint.h if
22327         GL_GENERATE_STDINT_H evaluates to false.
22328
22329         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
22330         GL_GENERATE_SYSEXITS_H.
22331         * modules/sysexits (Makefile.am): Remove sysexits.h if
22332         GL_GENERATE_SYSEXITS_H evaluates to false.
22333
22334         Reported by Karl Berry and Ralf Wildenhues.
22335
22336 2011-04-05  Bruno Haible  <bruno@clisp.org>
22337
22338         Ensure to rebuild generated .h files when config.status has changed.
22339         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
22340         config.status.
22341         * modules/ctype (Makefile.am): Likewise.
22342         * modules/dirent (Makefile.am): Likewise.
22343         * modules/errno (Makefile.am): Likewise.
22344         * modules/fcntl-h (Makefile.am): Likewise.
22345         * modules/float (Makefile.am): Likewise.
22346         * modules/getopt-posix (Makefile.am): Likewise.
22347         * modules/glob (Makefile.am): Likewise.
22348         * modules/iconv-h (Makefile.am): Likewise.
22349         * modules/inttypes (Makefile.am): Likewise.
22350         * modules/langinfo (Makefile.am): Likewise.
22351         * modules/locale (Makefile.am): Likewise.
22352         * modules/math (Makefile.am): Likewise.
22353         * modules/netdb (Makefile.am): Likewise.
22354         * modules/netinet_in (Makefile.am): Likewise.
22355         * modules/poll-h (Makefile.am): Likewise.
22356         * modules/pthread (Makefile.am): Likewise.
22357         * modules/pty (Makefile.am): Likewise.
22358         * modules/sched (Makefile.am): Likewise.
22359         * modules/search (Makefile.am): Likewise.
22360         * modules/selinux-h (Makefile.am): Likewise.
22361         * modules/signal (Makefile.am): Likewise.
22362         * modules/spawn (Makefile.am): Likewise.
22363         * modules/stdarg (Makefile.am): Likewise.
22364         * modules/stdbool (Makefile.am): Likewise.
22365         * modules/stddef (Makefile.am): Likewise.
22366         * modules/stdint (Makefile.am): Likewise.
22367         * modules/stdio (Makefile.am): Likewise.
22368         * modules/stdlib (Makefile.am): Likewise.
22369         * modules/string (Makefile.am): Likewise.
22370         * modules/strings (Makefile.am): Likewise.
22371         * modules/sys_file (Makefile.am): Likewise.
22372         * modules/sys_ioctl (Makefile.am): Likewise.
22373         * modules/sys_select (Makefile.am): Likewise.
22374         * modules/sys_socket (Makefile.am): Likewise.
22375         * modules/sys_stat (Makefile.am): Likewise.
22376         * modules/sys_time (Makefile.am): Likewise.
22377         * modules/sys_times (Makefile.am): Likewise.
22378         * modules/sys_utsname (Makefile.am): Likewise.
22379         * modules/sys_wait (Makefile.am): Likewise.
22380         * modules/sysexits (Makefile.am): Likewise.
22381         * modules/termios (Makefile.am): Likewise.
22382         * modules/time (Makefile.am): Likewise.
22383         * modules/unistd (Makefile.am): Likewise.
22384         * modules/wchar (Makefile.am): Likewise.
22385         * modules/wctype-h (Makefile.am): Likewise.
22386         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
22387
22388 2011-04-05  Bruno Haible  <bruno@clisp.org>
22389
22390         pipe2: Relicense under LGPLv2+.
22391         * modules/pipe2 (License): Change to LGPLv2+.
22392         Requested by Eric Blake, for libvirt.
22393
22394 2011-04-05  Bruce Korb  <bkorb@gnu.org>
22395
22396         bootstrap: compute gnulib_extra_files after updating build_aux
22397         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
22398         change build_aux or also supply gnulib_extra_files.  Handle correctly.
22399
22400 2011-04-05  Eric Blake  <eblake@redhat.com>
22401
22402         bootstrap: preserve git whitelist item sorting
22403         * build-aux/bootstrap (sort_patterns): New function.
22404         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
22405
22406 2011-04-05  Simon Josefsson  <simon@josefsson.org>
22407
22408         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
22409         sc_space_tab check.
22410
22411 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22412
22413         areadlink, areadlinkat: rewrite in terms of careadlinkat
22414         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
22415         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
22416         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
22417         (malloc, realloc): Remove #undefs.
22418         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
22419         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
22420         readlink, ssize_t, stdint, unistd.
22421         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
22422         areadlink, stdint.
22423
22424         careadlinkat: new module
22425         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
22426         * modules/careadlinkat: New files, written by me with
22427         a review and feedback from Ben Pfaff in
22428         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
22429
22430 2011-04-01  Bruno Haible  <bruno@clisp.org>
22431
22432         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
22433         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
22434         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
22435         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
22436         Reported by Bruce Korb <bruce.korb@gmail.com>.
22437
22438 2011-04-01  Bruno Haible  <bruno@clisp.org>
22439
22440         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
22441         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
22442         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
22443         * modules/wcpcpy (Depends-on): Add extensions.
22444         * modules/wcpncpy (Depends-on): Likewise.
22445         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
22446         systems.
22447         * doc/posix-functions/wcpncpy.texi: Likewise.
22448         * doc/posix-functions/wcwidth.texi: Likewise.
22449
22450 2011-03-31  Eric Blake  <eblake@redhat.com>
22451
22452         nonblocking: fix mingw test failures
22453         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
22454         non-blocking flag on regular file.
22455         (get_nonblocking_flag): Set errno on invalid fd.
22456         * tests/test-nonblocking.c (main): Avoid test failure on
22457         directories if fchdir is not active.
22458         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
22459
22460 2011-03-31  Bruno Haible  <bruno@clisp.org>
22461
22462         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
22463         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
22464         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
22465         Reported by Simon Josefsson <simon@josefsson.org>.
22466
22467 2011-03-31  Bruno Haible  <bruno@clisp.org>
22468         and Eric Blake  <eblake@redhat.com>
22469
22470         nonblocking: new module
22471         * modules/nonblocking: New module.
22472         * modules/nonblocking-tests: Likewise.
22473         * lib/nonblocking.h: New file.
22474         * lib/nonblocking.c: Likewise.
22475         * tests/test-nonblocking.c: New test.
22476         * lib/ioctl.c (ioctl) [mingw]: Update comment.
22477
22478 2011-03-30  Bruno Haible  <bruno@clisp.org>
22479
22480         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
22481         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
22482         instead of 'printf' format for GCC >= 4.4.
22483         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
22484         (fprintf, printf, vfprintf, vprintf): Declare with
22485         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
22486         the system's vfprintf() function.
22487         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
22488
22489 2011-03-30  Eric Blake  <eblake@redhat.com>
22490
22491         passfd: fix scoping bug
22492         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
22493         before sendmsg/recvmsg.
22494
22495         passfd: standardize coding conventions
22496         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
22497         can be learned at compile time.
22498         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
22499         ifdefs.
22500         (sendfd, recvfd): Follow gnulib code conventions.
22501
22502         passfd: fix incorrect sendmsg arguments
22503         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
22504         incorrect msg_controllen value.
22505         * modules/passfd-tests (Depends-on): Check for alarm.
22506         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
22507         Reported by Bastien ROUCARIES.
22508
22509 2011-03-30  Bruno Haible  <bruno@clisp.org>
22510
22511         c-strcasestr: Relicense under LGPLv2+.
22512         * modules/c-strcasestr (License): Change to LGPLv2+.
22513         Requested by Eric Blake, for libvirt.
22514
22515 2011-03-30  Simon Josefsson  <simon@josefsson.org>
22516
22517         * users.txt: Add libidn2.  Fix libtasn1 link.
22518
22519 2011-03-30  Jim Meyering  <meyering@redhat.com>
22520
22521         tests: readlink* ("",... fails with EINVAL on newer kernels
22522         readlink and readlinkat have typically failed with ENOENT for
22523         the invalid, empty file name,  "".  However, with the advent
22524         of linux-2.6.39, they fail with EINVAL.
22525         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
22526         when operating on the empty file name.
22527         * tests/test-readlink.h (test_readlink): Likewise.
22528
22529 2011-03-29  Bruno Haible  <bruno@clisp.org>
22530
22531         Relicense some modules under LGPLv2+, for libidn2.
22532         * modules/array-mergesort (License): Change to LGPLv2+.
22533         * modules/c-strcaseeq (License): Likewise.
22534         * modules/striconveh (License): Likewise.
22535         * modules/striconveha (License): Likewise.
22536         * modules/uniconv/base (License): Likewise.
22537         * modules/uniconv/u8-conv-from-enc (License): Likewise.
22538         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
22539         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
22540         * modules/unictype/base (License): Likewise.
22541         * modules/unictype/bidiclass-of (License): Likewise.
22542         * modules/unictype/category-M (License): Likewise.
22543         * modules/unictype/category-none (License): Likewise.
22544         * modules/unictype/category-of (License): Likewise.
22545         * modules/unictype/category-test (License): Likewise.
22546         * modules/unictype/category-test-withtable (License): Likewise.
22547         * modules/unictype/combining-class (License): Likewise.
22548         * modules/unictype/joiningtype-of (License): Likewise.
22549         * modules/unictype/scripts (License): Likewise.
22550         * modules/uninorm/base (License): Likewise.
22551         * modules/uninorm/canonical-decomposition (License): Likewise.
22552         * modules/uninorm/composition (License): Likewise.
22553         * modules/uninorm/decompose-internal (License): Likewise.
22554         * modules/uninorm/decomposition-table (License): Likewise.
22555         * modules/uninorm/nfc (License): Likewise.
22556         * modules/uninorm/nfd (License): Likewise.
22557         * modules/uninorm/u32-normalize (License): Likewise.
22558         * modules/unistr/base (License): Likewise.
22559         * modules/unistr/u32-cpy (License): Likewise.
22560         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
22561         * modules/unistr/u32-to-u8 (License): Likewise.
22562         * modules/unistr/u32-uctomb (License): Likewise.
22563         * modules/unistr/u8-check (License): Likewise.
22564         * modules/unistr/u8-mblen (License): Likewise.
22565         * modules/unistr/u8-mbtouc (License): Likewise.
22566         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
22567         * modules/unistr/u8-mbtoucr (License): Likewise.
22568         * modules/unistr/u8-prev (License): Likewise.
22569         * modules/unistr/u8-strlen (License): Likewise.
22570         * modules/unistr/u8-to-u32 (License): Likewise.
22571         * modules/unistr/u8-uctomb (License): Likewise.
22572         * modules/unitypes (License): Likewise.
22573         Requested by Simon Josefsson.
22574
22575 2011-03-29  Simon Josefsson  <simon@josefsson.org>
22576
22577         lib-symbol-visibility: Add a notice.
22578         * modules/lib-symbol-visibility (Notice): New field.
22579
22580 2011-03-29  Bruno Haible  <bruno@clisp.org>
22581
22582         getaddrinfo: Doc fix.
22583         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
22584         section "fixed in Gnulib".
22585
22586 2011-03-28  Simon Josefsson  <simon@josefsson.org>
22587
22588         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
22589         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
22590
22591 2011-03-26  Bruno Haible  <bruno@clisp.org>
22592
22593         unictype/property-byname: Reduce the number of load-time relocations.
22594         * lib/unictype/pr_byname.c: Include <stdlib.h>.
22595         (UC_PROPERTY_INDEX_*): New enumeration values.
22596         (uc_property_byname): Convert an index from the lookup table to an
22597         uc_property_t.
22598         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
22599         values.
22600
22601 2011-03-26  Bruno Haible  <bruno@clisp.org>
22602
22603         unictype/property-byname: Allow omitted word separators and aliases.
22604         * lib/unictype/pr_byname.gperf: Add property names without word
22605         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
22606         for 'space'.
22607
22608 2011-03-26  Bruno Haible  <bruno@clisp.org>
22609
22610         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
22611         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
22612         also hyphens to space.
22613         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
22614         without spaces.
22615         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
22616
22617 2011-03-26  Bruno Haible  <bruno@clisp.org>
22618
22619         unictype/joiningtype-byname: Recognize long names as well.
22620         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
22621         a long name.
22622         * lib/unictype/joiningtype_byname.c: Include <string.h>,
22623         unictype/joiningtype_byname.h.
22624         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
22625         * lib/unictype/joiningtype_byname.gperf: New file.
22626         * modules/unictype/joiningtype-byname (Files): Add
22627         lib/unictype/joiningtype_byname.gperf.
22628         (Depends-on): Add gperf.
22629         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
22630         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
22631         long names.
22632
22633         Tests for module 'unictype/joiningtype-longname'.
22634         * modules/unictype/joiningtype-longname-tests: New file.
22635         * tests/unictype/test-joiningtype_longname.c: New file.
22636
22637         New module 'unictype/joiningtype-longname'.
22638         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
22639         * lib/unictype/joiningtype_longname.c: New file.
22640         * modules/unictype/joiningtype-longname: New file.
22641         * modules/unictype/joiningtype-all (Depends-on): Add
22642         unictype/joiningtype-longname.
22643
22644 2011-03-26  Bruno Haible  <bruno@clisp.org>
22645
22646         unictype/bidiclass-byname: Recognize long names as well.
22647         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
22648         name.
22649         * lib/unictype/bidi_byname.c: Include <string.h>,
22650         unictype/bidi_byname.h.
22651         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
22652         * lib/unictype/bidi_byname.gperf: New file.
22653         * modules/unictype/bidiclass-byname (Files): Add
22654         lib/unictype/bidi_byname.gperf.
22655         (Depends-on): Add gperf.
22656         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
22657         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
22658         long names.
22659
22660         Tests for module 'unictype/bidiclass-longname'.
22661         * modules/unictype/bidiclass-longname-tests: New file.
22662         * tests/unictype/test-bidi_longname.c: New file.
22663
22664         New module 'unictype/bidiclass-longname'.
22665         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
22666         * lib/unictype/bidi_longname.c: New file.
22667         * modules/unictype/bidiclass-longname: New file.
22668         * modules/unictype/bidiclass-all (Depends-on): Add
22669         unictype/bidiclass-longname.
22670
22671 2011-03-26  Bruno Haible  <bruno@clisp.org>
22672
22673         unictype/bidi*: Rename modules.
22674         * modules/unictype/bidiclass-all: Renamed from
22675         modules/unictype/bidicategory-all.
22676         * modules/unictype/bidiclass-name: Renamed from
22677         modules/unictype/bidiclass-name.
22678         (Description): Update.
22679         * modules/unictype/bidiclass-name-tests: Renamed from
22680         modules/unictype/bidicategory-name-tests.
22681         * modules/unictype/bidiclass-byname: Renamed from
22682         modules/unictype/bidicategory-byname.
22683         (Description): Update.
22684         * modules/unictype/bidiclass-byname-tests: Renamed from
22685         modules/unictype/bidicategory-byname-tests.
22686         * modules/unictype/bidiclass-of: Renamed from
22687         modules/unictype/bidicategory-of.
22688         (Description): Update.
22689         * modules/unictype/bidiclass-of-tests: Renamed from
22690         modules/unictype/bidicategory-of-tests.
22691         * modules/unictype/bidiclass-test: Renamed from
22692         modules/unictype/bidicategory-test.
22693         (Description): Update.
22694         * modules/unictype/bidiclass-test-tests: Renamed from
22695         modules/unictype/bidicategory-test-tests.
22696         * modules/unictype/bidicategory-all: New file, a simple redirection.
22697         * modules/unictype/bidicategory-name: Likewise.
22698         * modules/unictype/bidicategory-byname: Likewise.
22699         * modules/unictype/bidicategory-of: Likewise.
22700         * modules/unictype/bidicategory-test: Likewise.
22701         * modules/unictype/property-bidi-* (Dependencies): Update.
22702         * lib/unictype/bidi_*.c: Update comment.
22703
22704 2011-03-26  Bruno Haible  <bruno@clisp.org>
22705
22706         unictype/bidi*: Rename functions, part 2.
22707         * modules/unictype/bidicategory-name (configure.ac): Update required
22708         libunistring version.
22709         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
22710
22711 2011-03-25  Bruno Haible  <bruno@clisp.org>
22712
22713         New module 'unictype/combining-class-all'.
22714         * modules/unictype/combining-class-all: New file.
22715
22716         Tests for module 'unictype/combining-class-byname'.
22717         * modules/unictype/combining-class-byname-tests: New file.
22718         * tests/unictype/test-combiningclass_byname.c: New file.
22719
22720         New module 'unictype/combining-class-byname'.
22721         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
22722         * lib/unictype/combiningclass_byname.c: New file.
22723         * lib/unictype/combiningclass_byname.gperf: New file.
22724         * modules/unictype/combining-class-byname: New file.
22725
22726         Tests for module 'unictype/combining-class-longname'.
22727         * modules/unictype/combining-class-longname-tests: New file.
22728         * tests/unictype/test-combiningclass_longname.c: New file.
22729
22730         New module 'unictype/combining-class-longname'.
22731         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
22732         * lib/unictype/combiningclass_longname.c: New file.
22733         * modules/unictype/combining-class-longname: New file.
22734
22735         Tests for module 'unictype/combining-class-name'.
22736         * modules/unictype/combining-class-name-tests: New file.
22737         * tests/unictype/test-combiningclass_name.c: New file.
22738
22739         New module 'unictype/combining-class-name'.
22740         * lib/unictype.in.h (uc_combining_class_name): New declaration.
22741         * lib/unictype/combiningclass_name.c: New file.
22742         * modules/unictype/combining-class-name: New file.
22743
22744 2011-03-25  Bruno Haible  <bruno@clisp.org>
22745
22746         unictype/combining-class: Rename source files.
22747         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
22748         of unictype/combining.h.
22749         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
22750         Update.
22751         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
22752         * modules/unictype/combining-class (Description): Fix.
22753         (Files, Makefile.am): Update.
22754         * tests/unictype/test-combiningclass.c: Renamed from
22755         tests/unictype/test-combining.c.
22756         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
22757
22758 2011-03-25  Bruno Haible  <bruno@clisp.org>
22759
22760         unictype: Update list of canonical combining classes.
22761         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
22762
22763 2011-03-25  Bruno Haible  <bruno@clisp.org>
22764
22765         unictype/category-byname: Recognize long names as well.
22766         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
22767         a long name.
22768         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
22769         unictype/categ_byname.h.
22770         (UC_CATEGORY_INDEX_*): New enumeration values.
22771         (uc_general_category_byname): Use uc_general_category_lookup and
22772         convert from index to value.
22773         * lib/unictype/categ_byname.gperf: New file.
22774         * modules/unictype/category-byname (Files): Add
22775         lib/unictype/categ_byname.gperf.
22776         (Depends-on): Add gperf.
22777         (Makefile.am): Add rule for generating unictype/categ_byname.h.
22778         * tests/unictype/test-categ_byname.c (main): Test the recognition of
22779         long names.
22780
22781         Tests for module 'unictype/category-longname'.
22782         * modules/unictype/category-longname-tests: New file.
22783         * tests/unictype/test-categ_longname.c: New file.
22784
22785         New module 'unictype/category-longname'.
22786         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
22787         * lib/unictype/categ_longname.c: New file.
22788         * modules/unictype/category-longname: New file.
22789         * modules/unictype/category-all (Depends-on): Add it.
22790
22791 2011-03-25  Bruno Haible  <bruno@clisp.org>
22792
22793         Tests for module 'unictype/category-LC'.
22794         * modules/unictype/category-LC-tests: New file.
22795         * tests/unictype/test-categ_LC.c: New file, automatically generated.
22796
22797         New module 'unictype/category-LC'.
22798         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
22799         (UC_CATEGORY_LC): New declaration.
22800         (UC_CASED_LETTER): New macro.
22801         * lib/gen-uni-tables.c (is_category_LC): New function.
22802         (output_categories): Also handle category LC.
22803         (UC_CATEGORY_MASK_LC): New enumeration value.
22804         (general_category_byname): Also handle category LC.
22805         * lib/unictype/categ_LC.c: New file.
22806         * lib/unictype/categ_LC.h: New file, automatically generated.
22807         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
22808         category LC.
22809         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
22810         * modules/unictype/category-LC: New file.
22811         * modules/unictype/category-byname (Depends-on): Add
22812         unictype/category-LC.
22813         * modules/unictype/category-all (Depends-on): Likewise.
22814
22815 2011-03-25  Eric Blake  <eblake@redhat.com>
22816
22817         xmalloc: revert yesterday's regression
22818         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
22819         realloc's underlying behavior (allowing allocation of zero-size
22820         objects, especially if malloc-gnu is also in use).
22821
22822 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
22823
22824         maint.mk: add missing version to VC-tag
22825         * top/maint.mk: git tag was missing actual tag name; add it.
22826
22827         valgrind: do leak checking, and exit with code 1 on error (not 0)
22828         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
22829         to VALGRIND.
22830
22831 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
22832
22833         posix-modules: say what it does.
22834         * posix-modules: Add a line to the --help output saying what it does.
22835
22836 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
22837
22838         xmalloc: Do not leak if underlying realloc is C99 compatible.
22839         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
22840         This avoids a leak on C99-based systems.  See
22841         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
22842
22843 2011-03-24  Eric Blake  <eblake@redhat.com>
22844
22845         realloc: document portability problem
22846         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
22847         passing 0 size to realloc.
22848
22849 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
22850
22851         doc: update users.txt
22852         * users.txt: Add cvsps, tmpwatch
22853
22854 2011-03-23  Matt Rice  <ratmice@gmail.com>
22855
22856         doc: update users.txt
22857         * users.txt: Add gdb.
22858
22859 2011-03-23  Jim Meyering  <meyering@redhat.com>
22860
22861         doc: update users.txt
22862         Looking through matches up to the following URL (there are still
22863         several more pages), I found several projects that use gnulib:
22864         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
22865         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
22866         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
22867
22868 2011-03-22  Bruno Haible  <bruno@clisp.org>
22869
22870         unictype/bidi*: Rename functions.
22871         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
22872         uc_bidi_class, uc_is_bidi_class): New declarations.
22873         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
22874         uc_bidi_category_byname.
22875         (uc_bidi_category_byname): New function.
22876         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
22877         u_bidi_category_name.
22878         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
22879         (uc_bidi_category_name): New function.
22880         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
22881         uc_bidi_category.
22882         (uc_bidi_category): New function.
22883         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
22884         uc_is_bidi_category. Invoke uc_bidi_class.
22885         (uc_is_bidi_category): New function.
22886         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
22887         instead of uc_bidi_category_byname.
22888         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
22889         instead of uc_bidi_category_name.
22890         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
22891         uc_bidi_category.
22892         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
22893         instead of uc_is_bidi_category.
22894
22895 2011-03-21  Bruno Haible  <bruno@clisp.org>
22896
22897         New module 'unictype/joininggroup-all'.
22898         * modules/unictype/joininggroup-all: New file.
22899
22900         Tests for module 'unictype/joininggroup-of'.
22901         * modules/unictype/joininggroup-of-tests: New file.
22902         * tests/unictype/test-joininggroup_of.c: New file.
22903         * tests/unictype/test-joininggroup_of.h: New file, automatically
22904         generated by gen-uni-tables.
22905
22906         New module 'unictype/joininggroup-of'.
22907         * modules/unictype/joininggroup-of: New file.
22908         * lib/unictype/joininggroup_of.c: New file.
22909         * lib/unictype/joininggroup_of.h: New file, automatically generated by
22910         gen-uni-tables.
22911
22912         Tests for module 'unictype/joininggroup-byname'.
22913         * modules/unictype/joininggroup-byname-tests: New file.
22914         * tests/unictype/test-joininggroup_byname.c: New file.
22915
22916         New module 'unictype/joininggroup-byname'.
22917         * modules/unictype/joininggroup-byname: New file.
22918         * lib/unictype/joininggroup_byname.c: New file.
22919         * lib/unictype/joininggroup_byname.gperf: New file.
22920
22921         Tests for module 'unictype/joininggroup-name'.
22922         * modules/unictype/joininggroup-name-tests: New file.
22923         * tests/unictype/test-joininggroup_name.c: New file.
22924
22925         New module 'unictype/joininggroup-name'.
22926         * modules/unictype/joininggroup-name: New file.
22927         * lib/unictype/joininggroup_name.c: New file.
22928         * lib/unictype/joininggroup_name.h: New file.
22929
22930         New module 'unictype/joiningtype-all'.
22931         * modules/unictype/joiningtype-all: New file.
22932
22933         Tests for module 'unictype/joiningtype-of'.
22934         * modules/unictype/joiningtype-of-tests: New file.
22935         * tests/unictype/test-joiningtype_of.c: New file.
22936         * tests/unictype/test-joiningtype_of.h: New file, automatically
22937         generated by gen-uni-tables.
22938
22939         New module 'unictype/joiningtype-of'.
22940         * modules/unictype/joiningtype-of: New file.
22941         * lib/unictype/joiningtype_of.c: New file.
22942         * lib/unictype/joiningtype_of.h: New file, automatically generated by
22943         gen-uni-tables.
22944
22945         Tests for module 'unictype/joiningtype-byname'.
22946         * modules/unictype/joiningtype-byname-tests: New file.
22947         * tests/unictype/test-joiningtype_byname.c: New file.
22948
22949         New module 'unictype/joiningtype-byname'.
22950         * modules/unictype/joiningtype-byname: New file.
22951         * lib/unictype/joiningtype_byname.c: New file.
22952
22953         Tests for module 'unictype/joiningtype-name'.
22954         * modules/unictype/joiningtype-name-tests: New file.
22955         * tests/unictype/test-joiningtype_name.c: New file.
22956
22957         New module 'unictype/joiningtype-name'.
22958         * modules/unictype/joiningtype-name: New file.
22959         * lib/unictype/joiningtype_name.c: New file.
22960
22961         unictype: Add support for Arabic shaping properties.
22962         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
22963         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
22964         declarations.
22965         (UC_JOINING_GROUP_*): New enumeration values.
22966         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
22967         declarations.
22968         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
22969         (unicode_joining_type): New variable.
22970         (UC_JOINING_GROUP_*): New enumeration values.
22971         (unicode_joining_group): New variable.
22972         (fill_arabicshaping, joining_type_as_c_identifier,
22973         output_joining_type_test, output_joining_type,
22974         joining_group_as_c_identifier, output_joining_group_test,
22975         output_joining_group): New functions.
22976         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
22977         fill_arabicshaping and output_joining_type_test, output_joining_type,
22978         output_joining_group_test, output_joining_group.
22979         Reported by Simon Josefsson.
22980
22981 2011-03-21  Jim Meyering  <meyering@redhat.com>
22982
22983         strftime: fix a bug in yesterday's change
22984         * lib/strftime.c (add): Accommodate width's initial value of -1.
22985         Otherwise, nstrftime would copy uninitialized data into
22986         the result buffer.
22987
22988 2011-03-21  Jim Meyering  <meyering@redhat.com>
22989
22990         tests: add strftime-tests module
22991         * tests/test-strftime.c: New file.
22992         * modules/strftime-tests: New module.
22993
22994 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22995
22996         strftime: don't assume a byte count fits in 'int'
22997         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
22998         found this problem by static analysis, using gcc -Wstrict-overflow
22999         (GCC 4.5.2, x86-64).  This reported an optimization that depended
23000         on an integer overflow having undefined behavior, but it turns out
23001         that the argument is a size, which might not fit in 'int' anyway,
23002
23003 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23004
23005         stdio: don't require ignore_value around fwrite
23006
23007         This patch works around libc bug 11959
23008         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
23009         Without this patch, applications must often write
23010         ignore_value (fwrite (...)) even though the ignore_value is
23011         not helpful here.  It's common to write many objects, using
23012         fwrite/printf/etc., and then use ferror to detect output error.
23013
23014         I considered making this patch optional, but decided against it,
23015         because libc is obviously being inconsistent here: there is no
23016         reason libc should insist that user code must inspect fwrite
23017         return's value without also insisting that it inspect printf's,
23018         putchar's, etc.  If user code wants to have a strict style where
23019         all these functions' values are checked (so that ferror need not
23020         be checked), we could add support for that style in a new gnulib
23021         module, but in the meantime it's better to be consistent and to
23022         support common usage.
23023
23024         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
23025         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
23026         that we are compiling in checking mode, and if not C++, and
23027         if not already wrapping fwrite for some other reason.
23028         (fwrite): #define to rpl_fwrite if the latter is defined.
23029
23030 2011-03-20  Bruno Haible  <bruno@clisp.org>
23031
23032         verror: Fix compilation error introduced on 2011-02-13.
23033         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
23034         instead of __attribute__.
23035         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23036
23037 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23038             Bruno Haible  <bruno@clisp.org>
23039
23040         socklen: do not depend on sys_socket
23041         While trying to modify Emacs to use gnulib's socklen module,
23042         I discovered a circular dependency: socklen depends on sys_socket
23043         and vice versa.  Emacs can use socklen, but it does not need
23044         sys_socket because it has its own substitute for sys/socket.h.
23045         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
23046         gl_TYPE_SOCKLEN_T.
23047         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
23048         gl_PREREQ_SYS_H_SOCKET.
23049         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
23050         gl_PREREQ_SYS_H_SOCKET.
23051         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
23052         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
23053         * modules/socklen (Depends-on): Do not depend on sys_socket.
23054         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
23055
23056 2011-03-20  Jim Meyering  <meyering@redhat.com>
23057
23058         maint.mk: sort file names *after* new transformation
23059         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
23060         prefix would have led to an unwarranted failure in GNU parted.
23061         Sort after that transformation.
23062
23063 2011-03-19  Jim Meyering  <meyering@redhat.com>
23064
23065         maint.mk: fix po-file syntax-check rule
23066         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
23067         Patch by Bruno Haible.
23068
23069 2011-03-19  Bruno Haible  <bruno@clisp.org>
23070
23071         socklen: Update comment.
23072         * m4/socklen.m4: Update comment about platforms.
23073
23074 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23075             Bruno Haible  <bruno@clisp.org>
23076
23077         inet_ntop, inet_pton: Simplify.
23078         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
23079         documented to provide socklen_t and we already depend on sys_socket.
23080         * modules/inet_pton (Depends-on): Likewise.
23081         * lib/arpa_inet.in.h: Adjust comment.
23082
23083 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23084             Bruno Haible  <bruno@clisp.org>
23085
23086         netdb: Simplify.
23087         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
23088         documented to provide socklen_t and we already depend on sys_socket.
23089         * lib/netdb.in.h: Adjust comment.
23090
23091 2011-03-19  Bruno Haible  <bruno@clisp.org>
23092
23093         sys_socket, netdb: Document problem with socklen_t.
23094         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
23095         platforms.
23096         * doc/posix-headers/netdb.texi: Likewise.
23097
23098 2011-03-18  Eric Blake  <eblake@redhat.com>
23099
23100         maint.mk: let po check work in VPATH build
23101         * top/maint.mk (po_file): Allow cfg.mk override.
23102         (sc_po_check): Allow VPATH use.
23103         Reported by Jiri Denemark.
23104
23105 2011-03-16  Jim Meyering  <meyering@redhat.com>
23106
23107         maint.mk: allow fine-grained syntax-check exclusion via Make variables
23108         Before, you would have had to create one .x-sc_ file per rule in order
23109         to exempt offending files.  Now, you may instead use a Make variable --
23110         usually defined in cfg.mk -- whose name identifies the affected rule.
23111         * top/maint.mk (_sc_excl): Define.
23112         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
23113         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
23114
23115 2011-03-13  Bruno Haible  <bruno@clisp.org>
23116
23117         ignore-value tests: Avoid warnings.
23118         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
23119         empty for gcc < 3.4.
23120
23121 2011-03-13  Bruno Haible  <bruno@clisp.org>
23122
23123         passfd: Fix link error on Solaris.
23124         * modules/passfd (Description): Correct.
23125         (Depends-on): Add socketlib.
23126         (Link): New section.
23127         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
23128
23129 2011-03-13  Bruno Haible  <bruno@clisp.org>
23130
23131         passfd: Fix link error on AIX 5.2.
23132         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
23133
23134 2011-03-13  Bruno Haible  <bruno@clisp.org>
23135
23136         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
23137         * lib/sys_socket.in.h: Include <stddef.h>.
23138         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
23139         CMSG_FIRSTHDR. Remove unused variable.
23140
23141 2011-03-13  Bruno Haible  <bruno@clisp.org>
23142
23143         passfd: Fix compilation error on OpenBSD.
23144         * lib/passfd.c: Include <sys/uio.h>.
23145
23146 2011-03-13  Bruno Haible  <bruno@clisp.org>
23147
23148         passfd test: Fix warnings.
23149         * tests/test-passfd.c: Include <sys/wait.h>.
23150         (main): Fix typo.
23151
23152 2011-03-13  Bruno Haible  <bruno@clisp.org>
23153
23154         passfd module, part 4, tweaks.
23155         * tests/test-passfd.c: Reorder includes.
23156         (main): Fix perror and printf calls.
23157
23158 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23159
23160         passfd module, part 4.
23161         * modules/passfd-tests: New file.
23162         * tests/test-passfd.c: New file.
23163
23164 2011-03-13  Jim Meyering  <meyering@redhat.com>
23165
23166         Makefile: rely on GNU make; derive syntax-check rule names
23167         Rather than requiring that each sc_ rule be listed as a dependent
23168         of "check", use features of GNU make to derive the list.
23169         * Makefile (syntax-check-rules): Define.
23170         (check): Depend on the new variable, not the hard-coded list.
23171
23172 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
23173             Bruno Haible  <bruno@clisp.org>
23174
23175         passfd module, part 3.
23176         * lib/passfd.h (recvfd): Add a flags argument.
23177         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
23178         (recvfd): Add a flags argument.
23179         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
23180         exists.
23181         * modules/passfd (Depends-on): Add cloexec.
23182         Suggested by Eric Blake.
23183
23184 2011-03-13  Bruno Haible  <bruno@clisp.org>
23185
23186         passfd module, part 2, tweaks.
23187         * modules/passfd (Files): Reorder.
23188         (Depends-on): Remove errno.
23189         (Include): Remove <sys/socket.h>, <sys/un.h>.
23190         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
23191         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
23192         specification header. Include <sys/socket.h> always. Don't include
23193         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
23194         (sendfd): Clarify that it sets errno when it fails.
23195         (recvfd): Fix specification.
23196
23197 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23198
23199         passfd module, part 2.
23200         * modules/passfd: New file.
23201         * lib/passfd.h: New file.
23202         * lib/passfd.c: New file.
23203
23204 2011-03-12  Bruno Haible  <bruno@clisp.org>
23205
23206         wcswidth, mbswidth: Avoid integer overflow.
23207         * lib/wcswidth.c: Include <limits.h>.
23208         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
23209         * lib/mbswidth.c: Include <limits.h>.
23210         (mbsnwidth): Avoid 'int' overflow.
23211         Reported by Jim Meyering.
23212
23213 2011-03-12  Bruno Haible  <bruno@clisp.org>
23214
23215         futimens, utimensat: Avoid endless recursion on Solaris 10.
23216         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
23217         Solaris.
23218         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
23219         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
23220
23221 2011-03-11  Jim Meyering  <meyering@redhat.com>
23222
23223         maint.mk: relax a regexp to accommodate other formatting styles
23224         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
23225         between "ngettext" and the following "(".
23226
23227 2011-03-11  Pádraig Brady <P@draigBrady.com>
23228
23229         maint.mk: suppress a false positive warning
23230         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
23231         diagnostics are marked with ngettext.
23232
23233 2011-03-10  Eric Blake  <eblake@redhat.com>
23234
23235         wchar: add explicit dependencies, for Tru64
23236         * modules/mbmemcasecoll (Depends-on): Add wchar.
23237         * modules/mbtowc (Depends-on): Likewise.
23238         * modules/vasnprintf (Depends-on): Likewise.
23239         * modules/unistdio/u-printf-args (Depends-on): Likewise.
23240         * modules/wctomb (Depends-on): Likewise.
23241         Reported by Peter O'Gorman.
23242
23243 2011-03-08  Bruno Haible  <bruno@clisp.org>
23244
23245         passfd module, part 1, tweaks.
23246         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
23247         Improve indentation. Improve AC_MSG_CHECKING messages.
23248         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
23249         gl_SOCKET_FAMILIES.
23250
23251 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23252
23253         passfd module, part 1.
23254         * m4/afunix.m4: New file.
23255         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
23256         sockets.
23257
23258 2011-03-08  Bruno Haible  <bruno@clisp.org>
23259
23260         regex-quote: New API.
23261         * lib/regex-quote.h: Include <stdbool.h>.
23262         (struct regex_quote_spec): New type.
23263         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23264         New declarations.
23265         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23266         'const struct regex_quote_spec *' argument.
23267         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
23268         (pcre_special): New constant.
23269         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23270         New functions.
23271         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23272         'const struct regex_quote_spec *' argument.
23273         * modules/regex-quote (Depends-on): Add stdbool.
23274         * tests/test-regex-quote.c (check): Update for new API. Add test for
23275         anchored results.
23276         * NEWS: Mention the API change.
23277         Reported by Reuben Thomas and Eric Blake.
23278
23279 2011-03-06  Bruno Haible  <bruno@clisp.org>
23280
23281         regex-quote: Fix creation of POSIX extended regular expressions.
23282         * lib/regex-quote.c (ere_special): Add grouping and alternation
23283         operators.
23284
23285 2011-03-05  Bruno Haible  <bruno@clisp.org>
23286
23287         doc: Improve doc regarding autopoint vs. gnulib.
23288         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
23289         disable autopoint while running autoreconf.
23290         Suggested by Ralf Wildenhues.
23291
23292 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23293
23294         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
23295         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
23296
23297 2011-03-03  Bruce Korb  <bkorb@gnu.org>
23298
23299         parse-duration: remove xalloc.h dependency
23300         * lib/parse-duration.c (parse_period): handle NULL return from
23301         strdup instead of calling xstrdup().
23302         * modules/parse-duration: remove "xalloc" dependency
23303
23304 2011-03-03  Matthew Booth  <mbooth@redhat.com>
23305
23306         bootstrap: honor m4_base when running aclocal
23307         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
23308
23309 2011-03-02  Jim Meyering  <meyering@redhat.com>
23310
23311         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
23312         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
23313         on request from Matt Booth.
23314
23315 2011-03-01  Eric Blake  <eblake@redhat.com>
23316
23317         test-link: work on Hurd
23318         * tests/test-link.h (test_link): Hurd rejects linking directories
23319         with EISDIR instead of the POSIX-mandated EPERM.
23320
23321 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
23322
23323         stdio: simplify by moving files to printf-posix, sigpipe
23324         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
23325         since this symbol is needed only if printf is replaced.
23326         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
23327         Require gl_ASM_SYMBOL_PREFIX.
23328         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
23329         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
23330         (Depends-on): Add 'raise'.
23331         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
23332         * modules/stdio (Files): Remove lib/stdio-write.c,
23333         m4/asm-underscore.m4.
23334         (Depends-on): Remove 'raise'.
23335
23336         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
23337         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
23338         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
23339         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
23340
23341 2011-02-28  Bruno Haible  <bruno@clisp.org>
23342
23343         localcharset: Assume ANSI C behaviour of free().
23344         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
23345         calling free().
23346         Suggested by Simon Josefsson <simon@josefsson.org>.
23347
23348 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
23349             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
23350             Bruno Haible  <bruno@clisp.org>  (tiny change)
23351
23352         On Cygwin, use /proc file system instead of win32 API.
23353         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
23354         Win32 file names.
23355         (DllMain): Simplify by removing Cygwin specific code.
23356         (find_shared_library_fullname): Use Linux specific implementation also
23357         for Cygwin.
23358         (get_shared_library_fullname): Update accordingly.
23359         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
23360         Win32 file names.
23361         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
23362         Cygwin specific code.
23363
23364 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
23365             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
23366
23367         Fix OpenMP flag detection for various Fortran compilers.
23368         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
23369         OpenMP-conditional compilation construct, to force compile
23370         failure with missing OpenMP flag.
23371         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
23372
23373 2011-02-25  Eric Blake  <eblake@redhat.com>
23374
23375         strstr: expand test coverage
23376         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
23377         compilation.
23378         * tests/test-memmem.c (main): Duplicate tests.
23379         * tests/test-strcasestr.c (main): Likewise.
23380         * tests/test-c-strcasestr.c (main): Likewise.
23381
23382 2011-02-25  Jim Meyering  <meyering@redhat.com>
23383
23384         maint.mk: detect missing-NL-at-EOF, too
23385         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
23386         it also detects when a file lacks a newline at EOF.
23387         (require_exactly_one_NL_at_EOF_): Renamed from
23388         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
23389         since people may well have .x-sc_... file names tied to the
23390         existing name.  Suggested by Eric Blake.
23391
23392 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23393
23394         dirname: move m4/dos.m4 functionality into lib/dosname.h
23395
23396         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
23397         extracts symbols from it, puts them into config.h; but it's much
23398         easier to use the symbols directly.  filename.h already does this,
23399         but it disagrees with dos.m4 in some respects.  This patch
23400         introduces a different include file dosname.h that packages up
23401         dos.m4, and then later we can work on merging filename.h and
23402         dosname.h.  Applications that need only the easy-to-configure
23403         symbols should consider including dosname.h rather than dirname.h.
23404         * NEWS: Mention incompatible changes.
23405         * m4/dos.m4: Remove.
23406         * lib/dosname.h, modules/dosname: New files.
23407         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
23408         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
23409         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
23410         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
23411         Include dosname.h, not dirname.h.
23412         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
23413         Include dosname.h, for definitions of symbols like ISSLASH
23414         that used to be in config.h.
23415         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
23416         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23417         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23418         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23419         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
23420         * modules/rmdir (Files): Likewise.
23421         * modules/stat (Files): Likewise.
23422         * modules/unlink (Files): Likewise.
23423         * modules/dirname-lgpl (Depends-on): Add dosname.
23424         * modules/lstat (Depends-on): Likewise.
23425         * modules/openat (Depends-on): Likewise.
23426         * modules/rmdir (Depends-on): Likewise.
23427         * modules/savewd (Depends-on): Likewise.
23428         * modules/stat (Depends-on): Likewise.
23429         * modules/unlink (Depends-on): Likewise.
23430         * modules/openat (Depends-on): Remove dirname-lgpl.
23431         * modules/savewd (Depends-on): Likewise.
23432         * tests/test-dirname.c: Do not use removed symbols like
23433         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
23434         the remaining symbols, e.g., ISSLASH ('\\').
23435
23436 2011-02-25  Eric Blake  <eblake@redhat.com>
23437
23438         strstr: revert patches that introduced bug and pessimization
23439         * lib/str-two-way.h: Add another reference.
23440         (two_way_short_needle, two_way_long_needle): Revert changes from
23441         2011-02-24; they pessimize search speed.
23442         (critical_factorization): Partially revert changes from
23443         2010-06-22; they violate the requirement that the left half of the
23444         needle be smaller than the period of the needle.
23445
23446 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23447
23448         filenamecat: remove unnecessary dependency on dirname-lgpl
23449         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
23450         is no direct dependency, just an indirect one via filenamecat-lgpl.
23451
23452         remove: remove unnecessary use of m4/dos.m4
23453         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
23454         * modules/remove (FILES): Remove m4/dos.m4.
23455
23456         * lib/openat-proc.c: Don't include dirname.h; not needed.
23457
23458         backupfile: remove unnecessary use of m4/dos.m4
23459         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
23460         of its symbols are used by the backupfile code.  backupfile.c does
23461         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
23462         for the rare case of programs that want all their backup file
23463         names to live within 8+3 limits, and dos.m4 doesn't address that.
23464         * modules/backupfile (Files): Remove m4/dos.m4.
23465
23466 2011-02-24  Jim Meyering  <meyering@redhat.com>
23467
23468         strstr: fix a bug whereby strstr would mistakenly return NULL
23469         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
23470         in period calculation.
23471         (two_way_long_needle): Likewise.
23472         The original problem was reported by Mike Stump in
23473         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
23474         Ralf Wildenhues provided the short needle and haystack.
23475         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
23476         Add a more involved test to trigger the bug in two_way_long_needle.
23477
23478 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23479
23480         gnulib-tool: remove use of bold display in help screen
23481         * gnulib-tool (func_usage): Do not use bold display anymore in the
23482         help screen.  That was just meant to be a temporary emphasis for a
23483         backward-incompatible change.
23484
23485 2011-02-23  Bruno Haible  <bruno@clisp.org>
23486
23487         Fix misindentation of preprocessor directives.
23488         * lib/argp-namefrob.h: Reindent preprocessor directives.
23489         * lib/getopt_int.h (struct _getopt_data): Likewise.
23490         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
23491         * lib/vasnprintf.c (decode_long_double): Likewise.
23492         * tests/test-argmatch.c: Insert blank lines, for clarity.
23493         * tests/test-exclude.c: Likewise.
23494
23495 2011-02-22  Bruno Haible  <bruno@clisp.org>
23496
23497         ioctl: Fix for MacOS X in 64-bit mode.
23498         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
23499         value.
23500         Suggested by Eric Blake.
23501         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
23502
23503 2011-02-22  Jim Meyering  <meyering@redhat.com>
23504
23505         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
23506         * Makefile (sc_cpp_indent_check): Don't limit the check to files
23507         in lib/.
23508
23509 2011-02-22  Eric Blake  <eblake@redhat.com>
23510
23511         maint: avoid any CDPATH issue
23512         * Makefile (sc_cpp_indent_check): Anchor cd argument.
23513
23514         maint: adjust cpp indentation for my modules, as well
23515         * Makefile (sc_cpp_indent_check): Add my name.
23516         * lib/fbufmode.c: Filter through cppi.
23517         * lib/fpurge.c: Likewise.
23518         * lib/freadable.c: Likewise.
23519         * lib/freading.c: Likewise.
23520         * lib/fwritable.c: Likewise.
23521         * lib/fwriting.c: Likewise.
23522         * lib/sigaction.c: Likewise.
23523
23524 2011-02-22  Jim Meyering  <meyering@redhat.com>
23525
23526         maint: adjust cpp indentation to reflect nesting depth
23527         I.e., in a block of code that begins with an unnested "#if",
23528         put one space between the "#" in column 1 and following token.
23529         For example,
23530         -#include <sys/vfs.h>
23531         +# include <sys/vfs.h>
23532         Do this only in .c files that are part of a module I maintain.
23533         * lib/linkat.c: Filter through cppi.
23534         * lib/nanosleep.c: Likewise.
23535         * lib/openat.c: Likewise.
23536         * lib/openat-die.c: Likewise.
23537         * lib/dup3.c: Likewise.
23538         * lib/fchownat.c: Likewise.
23539         * lib/flock.c: Likewise.
23540         * lib/fsync.c: Likewise.
23541         * lib/fts.c: Likewise.
23542         * lib/getpass.c: Likewise.
23543         * lib/gettimeofday.c: Likewise.
23544         * lib/userspec.c: Likewise.
23545         * Makefile (sc_cpp_indent_check): New rule, to check this.
23546
23547 2011-02-22  Bruno Haible  <bruno@clisp.org>
23548
23549         New module 'wctomb'.
23550         * lib/stdlib.in.h (wctomb): New declaration.
23551         * lib/wctomb.c: New file.
23552         * lib/wctomb-impl.h: New file.
23553         * m4/wctomb.m4: New file.
23554         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
23555         REPLACE_WCTOMB.
23556         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
23557         REPLACE_WCTOMB.
23558         * modules/wctomb: New file.
23559         * tests/test-stdlib-c++.cc: Test signature of wctomb.
23560         * doc/posix-functions/wctomb.texi: Mention the new module.
23561         * modules/wctob (Depends-on): Add wctomb.
23562
23563 2011-02-22  Bruno Haible  <bruno@clisp.org>
23564
23565         New module 'mbtowc'.
23566         * lib/stdlib.in.h (mbtowc): New declaration.
23567         * lib/mbtowc.c: New file.
23568         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
23569         * m4/mbtowc.m4: New file.
23570         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
23571         REPLACE_MBTOWC.
23572         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
23573         REPLACE_MBTOWC.
23574         * modules/mbtowc: New file.
23575         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
23576         * doc/posix-functions/mbtowc.texi: Mention the new module.
23577         * modules/btowc (Depends-on): Add mbtowc.
23578
23579 2011-02-22  Bruno Haible  <bruno@clisp.org>
23580
23581         wcrtomb: Add more tests for native Windows platforms.
23582         * tests/test-wcrtomb-w32-1.sh: New file.
23583         * tests/test-wcrtomb-w32-2.sh: New file.
23584         * tests/test-wcrtomb-w32-3.sh: New file.
23585         * tests/test-wcrtomb-w32-4.sh: New file.
23586         * tests/test-wcrtomb-w32-5.sh: New file.
23587         * tests/test-wcrtomb-w32.c: New file.
23588         * modules/wcrtomb-tests (Files): Add them.
23589         (Makefile.am): Arrange to run these tests.
23590         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
23591         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
23592
23593 2011-02-20  Bruno Haible  <bruno@clisp.org>
23594
23595         wcrtomb: Enhance test.
23596         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
23597
23598 2011-02-20  Bruno Haible  <bruno@clisp.org>
23599
23600         mbrtowc: Tiny optimization.
23601         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
23602
23603 2011-02-20  Jim Meyering  <meyering@redhat.com>
23604
23605         test-exclude.c: remove unmatched #endif
23606         * tests/test-exclude.c: Remove stray #endif, left over from
23607         the change of a week ago.
23608
23609 2011-02-19  Jim Meyering  <meyering@redhat.com>
23610
23611         git-version-gen: skip "-dirty" check when appropriate
23612         * build-aux/git-version-gen: Don't run any git commands when the
23613         version string comes from .tarball-version.  Prior to this, we
23614         would run git update-index --refresh even from a just-unpacked
23615         tarball directory, and that could affect a .git/ directory in a
23616         parent of the build directory.  Reported by Mike Frysinger.
23617
23618 2011-02-19  Bruno Haible  <bruno@clisp.org>
23619
23620         unictype/property-byname: Reduce the size of the 'data' segment.
23621         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
23622
23623 2011-02-19  Bruno Haible  <bruno@clisp.org>
23624
23625         unictype/scripts: Reduce the size of the 'data' segment.
23626         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
23627         '%pic'.
23628         * lib/unictype/scripts_byname.gperf: Regenerated.
23629
23630 2011-02-19  Bruno Haible  <bruno@clisp.org>
23631
23632         stdint: Update documentation.
23633         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
23634
23635 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
23636
23637         stdint: omit redundant check for wchar.h
23638         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
23639         always tests whether wchar.h exists, so remove the now-redundant test.
23640
23641 2011-02-18  Bruno Haible  <bruno@clisp.org>
23642
23643         stdint: Cut dependency to module 'wchar'.
23644         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
23645         include the necessary prerequisites.
23646         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
23647         * modules/stdint (Depends-on): Remove wchar.
23648         (Makefile.am): Substitute HAVE_WCHAR_H.
23649         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
23650
23651 2011-02-18  Eric Blake  <eblake@redhat.com>
23652
23653         longlong: skip, rather than fail, on cross-compilation
23654         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
23655         when cross-compiling; regression from 2011-02-16.
23656
23657 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23658
23659         * NEWS: Mention 2011-02-08 change to stdlib.
23660
23661 2011-02-17  Bruno Haible  <bruno@clisp.org>
23662
23663         getloadavg: Add comments about platforms.
23664         * m4/getloadavg.m4: Add comment.
23665         * lib/getloadavg.c: Likewise.
23666
23667 2011-02-17  Bruno Haible  <bruno@clisp.org>
23668
23669         getloadavg: Fix link error on Solaris 2.6.
23670         * modules/getloadavg (Link): New section.
23671         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
23672         linking test-getloadavg.
23673         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
23674         getloadavg.
23675
23676 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23677
23678         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
23679         It was 'int', but this doesn't match the IRIX 6.5 manual.
23680         Suggested by Bruno Haible in
23681         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
23682
23683 2011-02-17  Bruno Haible  <bruno@clisp.org>
23684
23685         havelib: Fix comments.
23686         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
23687         change.
23688
23689 2011-02-17  Bruno Haible  <bruno@clisp.org>
23690
23691         havelib: Update config.rpath.
23692         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
23693
23694 2011-02-17  Bruno Haible  <bruno@clisp.org>
23695
23696         getloadavg test: Add some plausibility checks.
23697         * tests/test-getloadavg.c (check_avg): Print a warning when the value
23698         is improbable.
23699
23700 2011-02-16  Eric Blake  <eblake@redhat.com>
23701
23702         maintainer-makefile: make syntax-check a no-op from tarballs
23703         * top/maint.mk (no-vc-detected): New rule.
23704         (local-checks-available): Use it to avoid hanging if someone tries
23705         'make syntax-check' from a tarball.  Also append to any non-syntax
23706         checks already defined in cfg.mk.
23707
23708 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
23709
23710         longlong: tune, particularly for common case of c99
23711
23712         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
23713         or running anything if c99, or if unsigned long long int does not
23714         work.  In either case, we know the answer without further tests.
23715         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
23716         it at most once, and use its results for both long long int and
23717         unsigned long long int.  This is more likely to be efficient in
23718         the common case where the program wants to check for both long
23719         long int and unsigned long long int.
23720         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
23721         since the answer is already known.
23722
23723 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
23724
23725         getloadavg: set errno
23726         * lib/getloadavg.c: Set errno when returning -1.  If no other
23727         error number looks appropriate, set it to ENOSYS if the getloadavg
23728         looks like it can't possibly ever work, ENOTSUP otherwise.
23729         Suggested by Bruno Haible in
23730         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
23731
23732         getloadavg: trim unused parts and speed up 'configure'
23733         * NEWS: Document this.
23734         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
23735         always compiled if getloadavg is absent.
23736         Move test code to ...
23737         * tests/test-getloadavg.c: New file, containing previous
23738         contents of test from lib/getloadavg.c.  It also contains
23739         suggestions by Bruno Haible in
23740         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
23741         * modules/getloadavg-tests: New file.
23742         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
23743         Do tests in the same order as they're needed for getloadavg.c.
23744         Omit setgid-related tests that generate symbols KMEM_GROUP,
23745         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
23746         Do only the tests that are needed to see whether the system has
23747         getloadavg, moving the other tests into ...
23748         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
23749         NLIST_NAME_UNION; nobody should be using it.  Do not define
23750         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
23751         relevant, as the user of this module shouldn't care how getloadavg
23752         is implemented.
23753
23754         getloadavg: omit unused var
23755         * lib/getloadavg.c (getloadavg): Omit unused local variable.
23756
23757 2011-02-15  Jim Meyering  <meyering@redhat.com>
23758
23759         doc: update users.txt
23760         * users.txt: Update iwhd's URL.
23761
23762 2011-02-13  Bruno Haible  <bruno@clisp.org>
23763
23764         Consistent macro naming for macros that use GCC __attribute__.
23765         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
23766         _ATTRIBUTE_NONNULL_.
23767         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
23768         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
23769         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
23770         ATTRIBUTE_DEPRECATED.
23771         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
23772         ATTRIBUTE_NORETURN.
23773         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23774         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23775         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23776         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23777         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
23778         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
23779         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
23780         ATTRIBUTE_SENTINEL.
23781         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
23782         ATTRIBUTE_RETURN_CHECK.
23783         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
23784         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
23785         ATTRIBUTE_NORETURN.
23786         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
23787         Reported by Paul Eggert.
23788
23789 2011-02-13  Bruno Haible  <bruno@clisp.org>
23790
23791         Don't interfere with a program's definition of __attribute__.
23792         * lib/argp.h (__attribute__): Remove definition.
23793         (_GL_ATTRIBUTE_FORMAT): New macro.
23794         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
23795         * lib/argp-fmtstream.h (__attribute__): Remove definition.
23796         (_GL_ATTRIBUTE_FORMAT): New macro.
23797         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
23798         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
23799         GCC 3 or newer.
23800         * lib/error.h (__attribute__): Remove definition.
23801         (_GL_ATTRIBUTE_FORMAT): New macro.
23802         (error, error_at_line): Use it.
23803         * lib/hash.h (__attribute__): Remove definition.
23804         (ATTRIBUTE_WUR): Update definition. Define always.
23805         * lib/openat.h (__attribute__): Remove definition.
23806         (ATTRIBUTE_NORETURN): Update definition. Define always.
23807         * lib/sigpipe-die.h (__attribute__): Remove definition.
23808         (ATTRIBUTE_NORETURN): Update definition. Define always.
23809         * lib/vasnprintf.h (__attribute__): Remove definition.
23810         (_GL_ATTRIBUTE_FORMAT): New macro.
23811         (asnprintf, vasnprintf): Use it.
23812         * lib/xalloc.h (__attribute__): Remove definition.
23813         (ATTRIBUTE_NORETURN): Update definition. Define always.
23814         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
23815         * lib/xmemdup0.h (__attribute__): Remove definition.
23816         (ATTRIBUTE_NORETURN): Update definition. Define always.
23817         * lib/xprintf.h (__attribute__): Remove definition.
23818         (_GL_ATTRIBUTE_FORMAT): New macro.
23819         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
23820         * lib/xstrtol.h (__attribute__): Remove definition.
23821         (ATTRIBUTE_NORETURN): Update definition. Define always.
23822         * lib/xvasprintf.h (__attribute__): Remove definition.
23823         (_GL_ATTRIBUTE_FORMAT): New macro.
23824         (xasprintf, xvasprintf): Use it.
23825         * tests/test-argmatch.c (__attribute__): Remove definition.
23826         (ATTRIBUTE_NORETURN): Update definition. Define always.
23827         * tests/test-exclude.c (__attribute__): Remove definition.
23828         (ATTRIBUTE_NORETURN): Update definition. Define always.
23829         Reported by Paul Eggert.
23830
23831 2011-02-13  Bruno Haible  <bruno@clisp.org>
23832
23833         mbrtowc: Add more tests for native Windows platforms.
23834         * tests/test-mbrtowc-w32-1.sh: New file.
23835         * tests/test-mbrtowc-w32-2.sh: New file.
23836         * tests/test-mbrtowc-w32-3.sh: New file.
23837         * tests/test-mbrtowc-w32-4.sh: New file.
23838         * tests/test-mbrtowc-w32-5.sh: New file.
23839         * tests/test-mbrtowc-w32.c: New file.
23840         * modules/mbrtowc-tests (Files): Add them.
23841         (Makefile.am): Arrange to run these tests.
23842         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
23843         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
23844
23845 2011-02-13  Bruno Haible  <bruno@clisp.org>
23846
23847         mbrtowc: Work around native Windows bug.
23848         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
23849         guess when no suitable locale for testing was found.
23850         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
23851
23852 2011-02-13  Bruno Haible  <bruno@clisp.org>
23853
23854         mbsinit: Work around mingw bug.
23855         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
23856         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
23857         Windows.
23858         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
23859
23860 2011-02-13  Bruno Haible  <bruno@clisp.org>
23861
23862         mbsinit: Don't crash for a NULL argument.
23863         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
23864         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
23865
23866 2011-02-13  Bruno Haible  <bruno@clisp.org>
23867
23868         Don't interfere with a program's definition of __attribute__.
23869         * lib/stdio.in.h (__attribute__): Remove definition.
23870         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
23871         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
23872         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
23873         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
23874         * lib/string.in.h (__attribute__): Remove definition.
23875         Reported by Paul Eggert.
23876
23877 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23878
23879         stdlib: don't get in the way of non-GCC __attribute__
23880         See thread starting at
23881         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
23882         Revert previous stdlib change, installing the following instead:
23883         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
23884         to get in the way of a non-GCC compiler that supports __attribute__.
23885         (_GL_ATTRIBUTE_RETURN): New macro.
23886         (_Exit): Use it instead of __attribute__.
23887
23888 2011-02-12  Bruno Haible  <bruno@clisp.org>
23889
23890         quotearg test: Avoid test failure on mingw.
23891         * tests/test-quotearg.sh: Convert the locale identifier from native
23892         Windows syntax to Unix syntax.
23893
23894 2011-02-12  Bruno Haible  <bruno@clisp.org>
23895
23896         setlocale: Prefer gnulib's override over libintl's override.
23897         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
23898         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
23899         GNULIB_defined_setlocale is set.
23900
23901 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23902
23903         stdlib: support non-GCC __attribute__
23904
23905         Fix a serious and tricky problem encountered when attempting to
23906         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
23907         5.5, but it crashed due to memory corruption on Solaris 10 with
23908         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
23909         bits that are otherwise zero.  This tagging is optional inside
23910         Emacs but is preferred and is used when __attribute__ ((__aligned
23911         (8))) works, as it does with both recent-enough GCC and with Sun C
23912         5.11.  However, Sun C 5.11 is not GCC and does not #define
23913         __GNUC__ and __GNUC_MINOR__.
23914
23915         When I added the getloadavg module to Emacs, it brought in
23916         stdlib.in.h, which contained this fragment:
23917
23918            #ifndef __attribute__
23919            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
23920            #  define __attribute__(Spec)   /* empty */
23921            # endif
23922            #endif
23923
23924         When files that include <stdlib.h> were compiled with Sun C 5.11,
23925         the above code disabled __attribute__ ((__aligned (8))), which
23926         caused variables to not be properly aligned, which eventually led
23927         to the pointer corruption mentioned above.  (This was a bit hard
23928         to diagnose, unfortunately.)
23929
23930         Several "#define __attribute__(X) /* empty */" code snippets need
23931         to be eradicated from Gnulib to work with non-GCC compilers that
23932         support __attribute__.  The Autoconf way to do this is to test for
23933         each kind of attribute that we want support for, and selectively
23934         enable that in source code.
23935
23936         Fix this problem just for stdlib.h, by adding a test for the
23937         __noreturn__ attribute, and change stdlib.in.h to use that test
23938         when needed.  This technique can be easily generalized to the
23939         other *.in.h files and attributes, and a similar technique can be
23940         used for *.h and *.c files.  This patch is enough to solve the
23941         problem for Emacs + getloadavg, and I thought I'd publish it for
23942         feedback before undertaking further, similar fixes in other
23943         modules.
23944
23945         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
23946         because it's not needed for stdlib.h.  It merely substitutes the
23947         value directly into stdlib.h.  We may well need to #define it, or
23948         similar symbols, for other modules, but it's nice to also have an
23949         option to not #define it for applications like Emacs that do not
23950         need it.
23951
23952         * lib/stdlib.in.h (__attribute__): Do not #define.
23953         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
23954         be defined only if the _Exit module is also used.
23955         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
23956         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
23957         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
23958         platforms.
23959         * modules/_Exit (Files): Add m4/attribute.m4.
23960         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
23961         * m4/attribute.m4: New file.
23962
23963 2011-02-12  Bruno Haible  <bruno@clisp.org>
23964
23965         wcsrtombs: Work around bug on native Windows.
23966         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
23967         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
23968         instead of len.
23969         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
23970
23971 2011-02-12  Bruno Haible  <bruno@clisp.org>
23972
23973         mbsrtowcs: Work around bug on native Windows.
23974         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
23975         against mingw bug.
23976         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
23977
23978 2011-02-12  Bruno Haible  <bruno@clisp.org>
23979
23980         Avoid setlocale bugs in tests.
23981         * modules/btowc (Dependencies): Add setlocale.
23982         * modules/c-strcase (Dependencies): Likewise.
23983         * modules/mbmemcasecmp (Dependencies): Likewise.
23984         * modules/mbmemcasecoll (Dependencies): Likewise.
23985         * modules/mbrtowc (Dependencies): Likewise.
23986         * modules/mbscasecmp (Dependencies): Likewise.
23987         * modules/mbscasestr (Dependencies): Likewise.
23988         * modules/mbschr (Dependencies): Likewise.
23989         * modules/mbscspn (Dependencies): Likewise.
23990         * modules/mbsinit (Dependencies): Likewise.
23991         * modules/mbsncasecmp (Dependencies): Likewise.
23992         * modules/mbsnrtowcs (Dependencies): Likewise.
23993         * modules/mbspbrk (Dependencies): Likewise.
23994         * modules/mbspcasecmp (Dependencies): Likewise.
23995         * modules/mbsrchr (Dependencies): Likewise.
23996         * modules/mbsrtowcs (Dependencies): Likewise.
23997         * modules/mbsspn (Dependencies): Likewise.
23998         * modules/mbsstr (Dependencies): Likewise.
23999         * modules/nl_langinfo (Dependencies): Likewise.
24000         * modules/quotearg (Dependencies): Likewise.
24001         * modules/unicase/locale-language (Dependencies): Likewise.
24002         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
24003         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
24004         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
24005         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
24006         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
24007         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
24008         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
24009         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
24010         * modules/vasnprintf-posix (Dependencies): Likewise.
24011         * modules/wcrtomb (Dependencies): Likewise.
24012         * modules/wcsnrtombs (Dependencies): Likewise.
24013         * modules/wcsrtombs (Dependencies): Likewise.
24014
24015 2011-02-12  Bruno Haible  <bruno@clisp.org>
24016
24017         setlocale: Workaround native Windows bug.
24018         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
24019         succeeds but sets LC_CTYPE to "C", report a failure.
24020         * tests/test-setlocale2.sh: New file.
24021         * tests/test-setlocale2.c: New file.
24022         * modules/setlocale-tests (Files): Add the new files.
24023         (Makefile.am): Enable test-setlocale2.sh test.
24024         * doc/posix-functions/setlocale.texi: Mention workaround.
24025
24026 2011-02-11  Bruno Haible  <bruno@clisp.org>
24027
24028         Tests for module 'setlocale'.
24029         * modules/setlocale-tests: New file.
24030         * tests/test-setlocale1.sh: New file.
24031         * tests/test-setlocale1.c: New file.
24032
24033         New module 'setlocale'.
24034         * lib/locale.in.h (setlocale): New declaration.
24035         * lib/setlocale.c: New file, based on
24036         gettext/gettext-runtime/intl/setlocale.c.
24037         * m4/setlocale.m4: New file.
24038         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
24039         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
24040         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
24041         REPLACE_SETLOCALE.
24042         * modules/setlocale: New file.
24043         * tests/test-locale-c++.cc: Test the declaration of setlocale.
24044         * doc/posix-functions/setlocale.texi: Mention the new module.
24045
24046 2011-02-11  Bruno Haible  <bruno@clisp.org>
24047
24048         Prepare for locale dependent tests on mingw.
24049         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
24050         because it has the wrong locale encoding.
24051         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
24052         French_France.1252 instead of "fr".
24053         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
24054         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
24055         because it has the wrong locale encoding.
24056         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
24057         native Windows, try Turkish_Turkey.65001.
24058         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
24059         Chinese_China.54936.
24060
24061         Prepare for locale dependent tests on mingw.
24062         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
24063         differently.
24064         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
24065         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
24066         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
24067         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24068
24069 2011-02-11  Eric Blake  <eblake@redhat.com>
24070
24071         strptime: avoid compiler warnings
24072         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
24073         compiler warnings about dead code.
24074         Reported by Daniel P. Berrange.
24075
24076 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
24077
24078         doc: update users.txt
24079         * users.txt: Add rcs.
24080
24081 2011-02-10  John W. Eaton  <jwe@gnu.org>
24082
24083         doc: update users.txt
24084         * users.txt: Add octave.
24085
24086 2011-02-10  Jim Meyering  <meyering@redhat.com>
24087
24088         doc: update users.txt
24089         * users.txt: Add iwhd.
24090
24091 2011-02-09  Bruno Haible  <bruno@clisp.org>
24092
24093         gnulib-tool: Make copyright notice adjustment more robust.
24094         * gnulib-tool (func_import): In sed_transform_main_lib_file,
24095         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
24096         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
24097         License".
24098         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
24099
24100 2011-02-06  Bruno Haible  <bruno@clisp.org>
24101
24102         New module 'towctrans'.
24103         * modules/towctrans: New file.
24104         * lib/wctype.in.h (towctrans): New declaration.
24105         * lib/towctrans.c: New file.
24106         * lib/towctrans-impl.h: New file.
24107         * m4/towctrans.m4: New file.
24108         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
24109         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
24110         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
24111         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
24112         * doc/posix-functions/towctrans.texi: Mention the new module.
24113
24114 2011-02-06  Bruno Haible  <bruno@clisp.org>
24115
24116         New module 'wctrans'.
24117         * modules/wctrans: New file.
24118         * lib/wctype.in.h (wctrans): New declaration.
24119         * lib/wctrans.c: New file.
24120         * lib/wctrans-impl.h: New file.
24121         * m4/wctrans.m4: New file.
24122         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
24123         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
24124         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
24125         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
24126         * doc/posix-functions/wctrans.texi: Mention the new module.
24127
24128 2011-02-06  Bruno Haible  <bruno@clisp.org>
24129
24130         New module 'iswctype'.
24131         * modules/iswctype: New file.
24132         * lib/wctype.in.h (iswctype): New declaration.
24133         * lib/iswctype.c: New file.
24134         * lib/iswctype-impl.h: New file.
24135         * m4/iswctype.m4: New file.
24136         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
24137         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
24138         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
24139         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
24140         * doc/posix-functions/iswctype.texi: Mention the new module and the
24141         HP-UX 11.00 problem.
24142
24143 2011-02-06  Bruno Haible  <bruno@clisp.org>
24144
24145         New module 'wctype'.
24146         * modules/wctype: Change to represent the wctype() substitute.
24147         * lib/wctype.in.h (wctype): New declaration.
24148         * lib/wctype.c: New file.
24149         * lib/wctype-impl.h: New file.
24150         * m4/wctype.m4: New file.
24151         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
24152         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
24153         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
24154         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
24155         * doc/posix-functions/wctype.texi: Mention the new module and the
24156         HP-UX 11.00 problem.
24157
24158 2011-02-06  Bruno Haible  <bruno@clisp.org>
24159
24160         wctype-h: Ensure wctype_t and wctrans_t are defined.
24161         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
24162         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24163         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24164         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
24165         HAVE_WCTRANS_T.
24166         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
24167
24168 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
24169
24170         flock: fix license typo
24171
24172         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
24173         omitted.
24174
24175 2011-02-08  Bruno Haible  <bruno@clisp.org>
24176
24177         Split large sed scripts, for HP-UX sed.
24178         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
24179         to avoid HP-UX limit of 99 commands, in the near future.
24180         * modules/stdlib (Makefile.am): Likewise.
24181         * modules/unistd (Makefile.am): Likewise.
24182         * modules/wchar (Makefile.am): Likewise.
24183         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24184         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
24185         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
24186
24187 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24188             Bruno Haible  <bruno@clisp.org>
24189
24190         stdlib: improve random_r modularization
24191         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
24192         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
24193         you also need the random_r module to get this material right.
24194         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
24195         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
24196         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
24197
24198 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24199
24200         stdlib: don't depend on stdint
24201         * lib/stdlib.in.h: Don't include <stdint.h> merely because
24202         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
24203         be independent of whether stdint.h is needed.
24204         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
24205         here, instead of ...
24206         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
24207         struct random_data should be using the random_r module, not just
24208         the stdlib module (which wouldn't make sense: what package needs
24209         just struct random_data without also needing random_r?).
24210         * modules/stdlib (Depends-on): Remove stdint.
24211
24212         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
24213         See the thread rooted at
24214         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
24215         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
24216         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
24217         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
24218         __VMS)); previously it was always included (via fcntl--.h).
24219         (getloadavg): Do not use c_strtod.  Instead, approximate it by
24220         hand; this is good enough for load averages.  Also, do not use
24221         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
24222         flags directly if available and don't bother otherwise.  (Packages
24223         that need the extra reliability should use the modules that define
24224         these flags on older platforms that lack them.)
24225         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
24226         fcntl-safer.
24227
24228 2011-02-08  Jim Meyering  <meyering@redhat.com>
24229
24230         di-set.h, ino-map.h: add multiple-inclusion guard
24231         Technically, the guard is required only for ino-map.h, due to its
24232         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
24233         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
24234         * lib/ino-map.h: Likewise.
24235
24236 2011-02-06  Bruno Haible  <bruno@clisp.org>
24237
24238         iswblank: Ensure declaration on glibc systems.
24239         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
24240         * modules/iswblank (Dependencies): Add 'extensions'.
24241         * doc/posix-functions/iswblank.texi: Document the glibc problem.
24242
24243 2011-02-06  Bruno Haible  <bruno@clisp.org>
24244
24245         New module 'iswblank'.
24246         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
24247         * modules/iswblank: New file.
24248         * modules/wctype-h (Files): Remove lib/iswblank.c.
24249         (Makefile.am): Substitute GNULIB_ISWBLANK.
24250         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
24251         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
24252         (gl_WCTYPE_H_DEFAULTS): New macro.
24253         (gl_WCTYPE_H): Require it. Remove iswblank related code.
24254         * modules/iswblank-tests: New file.
24255         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
24256         * tests/test-wctype-h.c (main): Remove iswblank tests.
24257         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
24258         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
24259         of 'wctype-h'.
24260         * NEWS: Mention the change.
24261         * modules/mbchar (Depends-on): Add iswblank.
24262
24263 2011-02-08  Bruno Haible  <bruno@clisp.org>
24264
24265         di-set tests: Refactor.
24266         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
24267         unnecessary includes.
24268         (ASSERT): Remove macro.
24269         (main): Make C90 compliant by avoiding variable declaration after
24270         statement.
24271         * modules/di-set-tests (Files): Add tests/macros.h.
24272
24273 2011-02-08  Bruno Haible  <bruno@clisp.org>
24274
24275         ino-map tests: Refactor.
24276         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
24277         unnecessary includes.
24278         (ASSERT): Remove macro.
24279         (main): Make C90 compliant by avoiding variable declaration after
24280         statement.
24281         * modules/ino-map-tests (Files): Add tests/macros.h.
24282
24283 2011-02-08  Jim Meyering  <meyering@redhat.com>
24284
24285         di-set: add "const" to a cast
24286         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
24287         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
24288
24289 2011-02-06  Bruno Haible  <bruno@clisp.org>
24290
24291         Rename module 'wctype' to 'wctype-h'.
24292         * modules/wctype-h: Renamed from modules/wctype.
24293         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
24294         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
24295         (Files, Depends-on, Makefile.am): Update.
24296         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
24297         (Files, Makefile.am): Update.
24298         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
24299         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
24300         * doc/posix-headers/wctype.texi: Update.
24301         * doc/posix-functions/iswalnum.texi: Update.
24302         * doc/posix-functions/iswalpha.texi: Update.
24303         * doc/posix-functions/iswblank.texi: Update.
24304         * doc/posix-functions/iswcntrl.texi: Update.
24305         * doc/posix-functions/iswdigit.texi: Update.
24306         * doc/posix-functions/iswgraph.texi: Update.
24307         * doc/posix-functions/iswlower.texi: Update.
24308         * doc/posix-functions/iswprint.texi: Update.
24309         * doc/posix-functions/iswpunct.texi: Update.
24310         * doc/posix-functions/iswspace.texi: Update.
24311         * doc/posix-functions/iswupper.texi: Update.
24312         * doc/posix-functions/iswxdigit.texi: Update.
24313         * doc/posix-functions/towlower.texi: Update.
24314         * doc/posix-functions/towupper.texi: Update.
24315         * NEWS: Mention the change.
24316         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
24317         * modules/mbchar (Dependencies): Likewise.
24318         * modules/mbswidth (Dependencies): Likewise.
24319         * modules/quotearg (Dependencies): Likewise.
24320         * modules/regex (Dependencies): Likewise.
24321         * modules/wcscasecmp (Dependencies): Likewise.
24322         * modules/wcsncasecmp (Dependencies): Likewise.
24323         * modules/wcwidth (Dependencies): Likewise.
24324
24325 2011-02-06  Bruno Haible  <bruno@clisp.org>
24326
24327         New module 'wcswidth'.
24328         * modules/wcswidth: New file.
24329         * lib/wchar.in.h (wcswidth): New declaration.
24330         * lib/wcswidth.c: New file.
24331         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
24332         * m4/wcswidth.m4: New file.
24333         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
24334         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
24335         REPLACE_WCSWIDTH.
24336         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
24337         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
24338         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
24339         * doc/posix-functions/wcswidth.texi: Mention the new module.
24340
24341 2011-02-06  Bruno Haible  <bruno@clisp.org>
24342
24343         New module 'wcstok'.
24344         * modules/wcstok: New file.
24345         * lib/wchar.in.h (wcstok): New declaration.
24346         * lib/wcstok.c: New file.
24347         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
24348         * m4/wcstok.m4: New file.
24349         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
24350         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
24351         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
24352         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
24353         * doc/posix-functions/wcstok.texi: Mention the new module.
24354
24355 2011-02-06  Bruno Haible  <bruno@clisp.org>
24356
24357         New module 'wcsstr'.
24358         * modules/wcsstr: New file.
24359         * lib/wchar.in.h (wcsstr): New declaration.
24360         * lib/wcsstr.c: New file.
24361         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
24362         * m4/wcsstr.m4: New file.
24363         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
24364         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
24365         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
24366         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
24367         * doc/posix-functions/wcsstr.texi: Mention the new module.
24368
24369 2011-02-06  Bruno Haible  <bruno@clisp.org>
24370
24371         New module 'wcspbrk'.
24372         * modules/wcspbrk: New file.
24373         * lib/wchar.in.h (wcspbrk): New declaration.
24374         * lib/wcspbrk.c: New file.
24375         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
24376         * m4/wcspbrk.m4: New file.
24377         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
24378         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
24379         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
24380         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
24381         * doc/posix-functions/wcspbrk.texi: Mention the new module.
24382
24383 2011-02-06  Bruno Haible  <bruno@clisp.org>
24384
24385         New module 'wcsspn'.
24386         * modules/wcsspn: New file.
24387         * lib/wchar.in.h (wcsspn): New declaration.
24388         * lib/wcsspn.c: New file.
24389         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
24390         * m4/wcsspn.m4: New file.
24391         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
24392         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
24393         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
24394         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
24395         * doc/posix-functions/wcsspn.texi: Mention the new module.
24396
24397 2011-02-06  Bruno Haible  <bruno@clisp.org>
24398
24399         New module 'wcscspn'.
24400         * modules/wcscspn: New file.
24401         * lib/wchar.in.h (wcscspn): New declaration.
24402         * lib/wcscspn.c: New file.
24403         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
24404         * m4/wcscspn.m4: New file.
24405         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
24406         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
24407         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
24408         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
24409         * doc/posix-functions/wcscspn.texi: Mention the new module.
24410
24411 2011-02-06  Bruno Haible  <bruno@clisp.org>
24412
24413         New module 'wcsrchr'.
24414         * modules/wcsrchr: New file.
24415         * lib/wchar.in.h (wcsrchr): New declaration.
24416         * lib/wcsrchr.c: New file.
24417         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
24418         * m4/wcsrchr.m4: New file.
24419         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
24420         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
24421         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
24422         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
24423         * doc/posix-functions/wcsrchr.texi: Mention the new module.
24424
24425 2011-02-06  Bruno Haible  <bruno@clisp.org>
24426
24427         New module 'wcschr'.
24428         * modules/wcschr: New file.
24429         * lib/wchar.in.h (wcschr): New declaration.
24430         * lib/wcschr.c: New file.
24431         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
24432         * m4/wcschr.m4: New file.
24433         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
24434         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
24435         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
24436         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
24437         * doc/posix-functions/wcschr.texi: Mention the new module.
24438
24439 2011-02-06  Bruno Haible  <bruno@clisp.org>
24440
24441         New module 'wcsdup'.
24442         * modules/wcsdup: New file.
24443         * lib/wchar.in.h (wcsdup): New declaration.
24444         * lib/wcsdup.c: New file.
24445         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
24446         * m4/wcsdup.m4: New file.
24447         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
24448         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
24449         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
24450         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
24451         * doc/posix-functions/wcsdup.texi: Mention the new module.
24452
24453 2011-02-06  Bruno Haible  <bruno@clisp.org>
24454
24455         New module 'wcsxfrm'.
24456         * modules/wcsxfrm: New file.
24457         * lib/wchar.in.h (wcsxfrm): New declaration.
24458         * lib/wcsxfrm.c: New file.
24459         * lib/wcsxfrm-impl.h: New file.
24460         * m4/wcsxfrm.m4: New file.
24461         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
24462         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
24463         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
24464         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
24465         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
24466
24467 2011-02-06  Bruno Haible  <bruno@clisp.org>
24468
24469         New module 'wcscoll'.
24470         * modules/wcscoll: New file.
24471         * lib/wchar.in.h (wcscoll): New declaration.
24472         * lib/wcscoll.c: New file.
24473         * lib/wcscoll-impl.h: New file.
24474         * m4/wcscoll.m4: New file.
24475         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
24476         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
24477         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
24478         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
24479         * doc/posix-functions/wcscoll.texi: Mention the new module.
24480
24481 2011-02-06  Bruno Haible  <bruno@clisp.org>
24482
24483         New module 'wcsncasecmp'.
24484         * modules/wcsncasecmp: New file.
24485         * lib/wchar.in.h (wcsncasecmp): New declaration.
24486         * lib/wcsncasecmp.c: New file.
24487         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
24488         * m4/wcsncasecmp.m4: New file.
24489         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
24490         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
24491         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
24492         HAVE_WCSNCASECMP.
24493         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
24494         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
24495
24496 2011-02-06  Bruno Haible  <bruno@clisp.org>
24497
24498         New module 'wcscasecmp'.
24499         * modules/wcscasecmp: New file.
24500         * lib/wchar.in.h (wcscasecmp): New declaration.
24501         * lib/wcscasecmp.c: New file.
24502         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
24503         * m4/wcscasecmp.m4: New file.
24504         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
24505         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
24506         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
24507         HAVE_WCSCASECMP.
24508         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
24509         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
24510
24511 2011-02-05  Bruno Haible  <bruno@clisp.org>
24512
24513         New module 'wcsncmp'.
24514         * modules/wcsncmp: New file.
24515         * lib/wchar.in.h (wcsncmp): New declaration.
24516         * lib/wcsncmp.c: New file.
24517         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
24518         * m4/wcsncmp.m4: New file.
24519         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
24520         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
24521         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
24522         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
24523         * doc/posix-functions/wcsncmp.texi: Mention the new module.
24524
24525 2011-02-05  Bruno Haible  <bruno@clisp.org>
24526
24527         New module 'wcscmp'.
24528         * modules/wcscmp: New file.
24529         * lib/wchar.in.h (wcscmp): New declaration.
24530         * lib/wcscmp.c: New file.
24531         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
24532         * m4/wcscmp.m4: New file.
24533         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
24534         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
24535         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
24536         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
24537         * doc/posix-functions/wcscmp.texi: Mention the new module.
24538
24539 2011-02-05  Bruno Haible  <bruno@clisp.org>
24540
24541         New module 'wcsncat'.
24542         * modules/wcsncat: New file.
24543         * lib/wchar.in.h (wcsncat): New declaration.
24544         * lib/wcsncat.c: New file.
24545         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
24546         * m4/wcsncat.m4: New file.
24547         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
24548         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
24549         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
24550         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
24551         * doc/posix-functions/wcsncat.texi: Mention the new module.
24552
24553 2011-02-05  Bruno Haible  <bruno@clisp.org>
24554
24555         New module 'wcscat'.
24556         * modules/wcscat: New file.
24557         * lib/wchar.in.h (wcscat): New declaration.
24558         * lib/wcscat.c: New file.
24559         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
24560         * m4/wcscat.m4: New file.
24561         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
24562         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
24563         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
24564         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
24565         * doc/posix-functions/wcscat.texi: Mention the new module.
24566
24567 2011-02-05  Bruno Haible  <bruno@clisp.org>
24568
24569         New module 'wcpncpy'.
24570         * modules/wcpncpy: New file.
24571         * lib/wchar.in.h (wcpncpy): New declaration.
24572         * lib/wcpncpy.c: New file.
24573         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
24574         * m4/wcpncpy.m4: New file.
24575         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
24576         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
24577         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
24578         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
24579         * doc/posix-functions/wcpncpy.texi: Mention the new module.
24580
24581 2011-02-05  Bruno Haible  <bruno@clisp.org>
24582
24583         New module 'wcsncpy'.
24584         * modules/wcsncpy: New file.
24585         * lib/wchar.in.h (wcsncpy): New declaration.
24586         * lib/wcsncpy.c: New file.
24587         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
24588         * m4/wcsncpy.m4: New file.
24589         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
24590         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
24591         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
24592         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
24593         * doc/posix-functions/wcsncpy.texi: Mention the new module.
24594
24595 2011-02-05  Bruno Haible  <bruno@clisp.org>
24596
24597         New module 'wcpcpy'.
24598         * modules/wcpcpy: New file.
24599         * lib/wchar.in.h (wcpcpy): New declaration.
24600         * lib/wcpcpy.c: New file.
24601         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
24602         * m4/wcpcpy.m4: New file.
24603         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
24604         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
24605         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
24606         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
24607         * doc/posix-functions/wcpcpy.texi: Mention the new module.
24608
24609 2011-02-05  Bruno Haible  <bruno@clisp.org>
24610
24611         New module 'wcscpy'.
24612         * modules/wcscpy: New file.
24613         * lib/wchar.in.h (wcscpy): New declaration.
24614         * lib/wcscpy.c: New file.
24615         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
24616         * m4/wcscpy.m4: New file.
24617         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
24618         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
24619         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
24620         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
24621         * doc/posix-functions/wcscpy.texi: Mention the new module.
24622
24623 2011-02-05  Bruno Haible  <bruno@clisp.org>
24624
24625         New module 'wcsnlen'.
24626         * modules/wcsnlen: New file.
24627         * lib/wchar.in.h (wcsnlen): New declaration.
24628         * lib/wcsnlen.c: New file.
24629         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
24630         * m4/wcsnlen.m4: New file.
24631         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
24632         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
24633         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
24634         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
24635         * doc/posix-functions/wcsnlen.texi: Mention the new module.
24636
24637 2011-02-05  Bruno Haible  <bruno@clisp.org>
24638
24639         New module 'wcslen'.
24640         * modules/wcslen: New file.
24641         * lib/wchar.in.h (wcslen): New declaration.
24642         * lib/wcslen.c: New file.
24643         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
24644         * m4/wcslen.m4: New file.
24645         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
24646         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
24647         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
24648         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
24649         * doc/posix-functions/wcslen.texi: Mention the new module.
24650
24651 2011-02-05  Bruno Haible  <bruno@clisp.org>
24652
24653         New module 'wmemset'.
24654         * modules/wmemset: New file.
24655         * lib/wchar.in.h (wmemset): New declaration.
24656         * lib/wmemset.c: New file.
24657         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
24658         * m4/wmemset.m4: New file.
24659         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
24660         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
24661         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
24662         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
24663         * doc/posix-functions/wmemset.texi: Mention the new module.
24664
24665 2011-02-05  Bruno Haible  <bruno@clisp.org>
24666
24667         New module 'wmemmove'.
24668         * modules/wmemmove: New file.
24669         * lib/wchar.in.h (wmemmove): New declaration.
24670         * lib/wmemmove.c: New file.
24671         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
24672         * m4/wmemmove.m4: New file.
24673         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
24674         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
24675         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
24676         HAVE_WMEMMOVE.
24677         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
24678         * doc/posix-functions/wmemmove.texi: Mention the new module.
24679
24680 2011-02-05  Bruno Haible  <bruno@clisp.org>
24681
24682         New module 'wmemcpy'.
24683         * modules/wmemcpy: New file.
24684         * lib/wchar.in.h (wmemcpy): New declaration.
24685         * lib/wmemcpy.c: New file.
24686         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
24687         * m4/wmemcpy.m4: New file.
24688         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
24689         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
24690         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
24691         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
24692         * doc/posix-functions/wmemcpy.texi: Mention the new module.
24693
24694 2011-02-05  Bruno Haible  <bruno@clisp.org>
24695
24696         New module 'wmemcmp'.
24697         * modules/wmemcmp: New file.
24698         * lib/wchar.in.h (wmemcmp): New declaration.
24699         * lib/wmemcmp.c: New file.
24700         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
24701         * m4/wmemcmp.m4: New file.
24702         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
24703         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
24704         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
24705         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
24706         * doc/posix-functions/wmemcmp.texi: Mention the new module.
24707
24708 2011-02-07  Jim Meyering  <meyering@redhat.com>
24709
24710         di-set, ino-map: new modules, from coreutils
24711         * lib/di-set.c: New file.
24712         * lib/di-set.h: Likewise.
24713         * lib/ino-map.c: Likewise.
24714         * lib/ino-map.h: Likewise.
24715         * modules/di-set: Likewise.
24716         * modules/di-set-tests: Likewise.
24717         * modules/ino-map: Likewise.
24718         * modules/ino-map-tests: Likewise.
24719         * tests/test-di-set.c: Likewise.
24720         * tests/test-ino-map.c: Likewise.
24721
24722 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
24723
24724         getloadavg: merge minor changes from Emacs
24725
24726         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
24727         (getloadavg): Use memset, not bzero.
24728
24729         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
24730         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
24731         clash (bug#86).
24732
24733 2010-11-14  Bruno Haible  <bruno@clisp.org>
24734
24735         Allow multiple gnulib generated replacements to coexist.
24736         * lib/getopt.in.h (struct option): Avoid identical redefinition.
24737         * lib/inttypes.in.h (imaxdiv_t): Likewise.
24738         * lib/langinfo.in.h (nl_item): Likewise.
24739         * lib/math.in.h (_NaN, NAN): Likewise.
24740         * lib/netdb.in.h (struct addrinfo): Likewise.
24741         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
24742         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
24743         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
24744         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
24745         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
24746         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
24747         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
24748         pthread_mutexattr_init, pthread_mutexattr_settype,
24749         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
24750         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
24751         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
24752         pthread_spin_trylock, pthread_spin_unlock): Likewise.
24753         * lib/sched.in.h (struct sched_param): Likewise.
24754         * lib/se-selinux.in.h (security_class_t, security_context_t,
24755         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
24756         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
24757         lsetfilecon, fsetfilecon, security_check_context,
24758         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
24759         Likewise.
24760         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
24761         Likewise.
24762         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
24763         _gl_function_taking_int_returning_void_t, union sigval,
24764         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
24765         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
24766         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24767         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
24768         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
24769         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
24770         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
24771         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
24772         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
24773         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
24774         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
24775         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
24776         socklen_t, rpl_fd_isset): Likewise.
24777         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
24778         * lib/sys_time.in.h (struct timeval): Likewise.
24779         * lib/sys_times.in.h (struct tms): Likewise.
24780         * lib/sys_utsname.in.h (struct utsname):
24781         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
24782         * lib/unistd.in.h (getpagesize): Likewise.
24783         * lib/wchar.in.h (mbstate_t): Likewise.
24784         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
24785         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
24786         towlower, towupper): Likewise.
24787         Reported by Sam Steingold <sds@gnu.org>.
24788
24789 2011-02-05  Eric Blake  <eblake@redhat.com>
24790
24791         unsetenv: work around Haiku issues
24792         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
24793         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
24794
24795 2010-12-30  Bruce Korb  <bkorb@gnu.org>
24796
24797         libposix: avoid calling error() within libposix
24798         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
24799         is defined.
24800
24801 2011-02-05  Eric Blake  <eblake@redhat.com>
24802
24803         strerror_r-posix: port to cygwin
24804         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
24805         implementation.
24806         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
24807         * tests/test-strerror_r.c (main): Fix test.
24808         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
24809         issue.
24810
24811 2011-02-05  Bruno Haible  <bruno@clisp.org>
24812
24813         New module 'wmemchr'.
24814         * modules/wmemchr: New file.
24815         * lib/wchar.in.h (wmemchr): New declaration.
24816         * lib/wmemchr.c: New file.
24817         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
24818         * m4/wmemchr.m4: New file.
24819         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
24820         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
24821         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
24822         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
24823         * doc/posix-functions/wmemchr.texi: Mention the new module.
24824
24825 2011-02-04  Eric Blake  <eblake@redhat.com>
24826
24827         fdopendir: detect FreeBSD bug
24828         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
24829         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
24830
24831 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
24832
24833         stdbool: do not define HAVE_STDBOOL_H
24834         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
24835         AC_HEADER_STDBOOL.  All uses changed.  Do not define
24836         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
24837         imported from the latest Autoconf git.  It was motivated by Emacs,
24838         which uses gnulib but does not need HAVE_STDBOOL_H.
24839
24840 2011-02-04  Bruno Haible  <bruno@clisp.org>
24841
24842         wcsnrtombs: Prepare for new module wwcsnrtombs.
24843         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
24844         * lib/wcsnrtombs.c: Include it.
24845         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
24846
24847         wcsrtombs: Prepare for new module wwcsrtombs.
24848         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
24849         * lib/wcsrtombs.c: Include it.
24850         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
24851
24852         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
24853         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
24854         * lib/mbsnrtowcs.c: Include it.
24855         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
24856
24857         mbsrtowcs: Prepare for new module mbsrtowwcs.
24858         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
24859         * lib/mbsrtowcs.c: Include it.
24860         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
24861
24862 2011-02-04  Bruno Haible  <bruno@clisp.org>
24863
24864         vasnprintf: Reduce use of malloc for small format strings.
24865         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
24866         (arguments): Add room for the first 7 arguments.
24867         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
24868         (char_directives, u8_directives, u16_directives, u32_directives): Add
24869         room for the first 7 directives.
24870         * lib/printf-parse.c: Include <string.h>.
24871         (PRINTF_PARSE): Change memory handling code so that it uses the first
24872         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
24873         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
24874         Reported by Pádraig Brady <P@draigbrady.com>.
24875
24876 2011-01-31  Eric Blake  <eblake@redhat.com>
24877
24878         dup2: work around Haiku bug
24879         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
24880         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
24881         * doc/posix-functions/dup2.texi (dup2): Document the bug.
24882         * tests/test-dup2.c (main): Enhance test.
24883
24884 2011-01-31  Simon Josefsson  <simon@josefsson.org>
24885
24886         doc: off_t is not available in eglibc 2.11.2 stdio.h.
24887         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
24888         declared by eglibc 2.11.2.
24889         * lib/stdio.in.h: Likewise.
24890
24891 2011-01-31  Eric Blake  <eblake@redhat.com>
24892
24893         ignore-value: add missing test dependency
24894         * tests/test-ignore-value.c: Revert previous change; stdio.h
24895         provides off_t.
24896         * modules/ignore-value-tests (Depends-on): Add missing dependency.
24897
24898 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
24899
24900         mktime: clarify long_int width checking
24901         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
24902         the top level, to make it clearer that the assumption about
24903         long_int width is being checked.  See
24904         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
24905
24906 2011-01-30  Simon Josefsson  <simon@josefsson.org>
24907
24908         ignore-value: Fix self-test.
24909         * tests/test-ignore-value.c: Include sys/types.h for off_t.
24910
24911 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
24912
24913         TYPE_MAXIMUM: avoid theoretically undefined behavior
24914         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
24915         negative number, which the C Standard says has undefined behavior.
24916         In practice this is not a problem, but might as well do it by the book.
24917         Reported by Rich Felker and Eric Blake; see
24918         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
24919         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
24920         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
24921         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24922         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
24923         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24924         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
24925
24926         mktime: #undef mktime before #defining it
24927         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
24928
24929         mktime: systematically normalize tm_isdst comparisons
24930         * lib/mktime.c (isdst_differ): New function.
24931         (__mktime_internal): Use it systematically for all isdst comparisons.
24932         This completes the fix for libc BZ #6723, and removes the need for
24933         normalizing tm_isdst.  See
24934         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
24935         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
24936
24937         mktime: fix some integer overflow issues and sidestep the rest
24938
24939         This was prompted by a bug report by Benjamin Lindner for MinGW
24940         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
24941         His bug is due to signed integer overflow (0 - INT_MIN), and I
24942         I scanned through mktime.c looking for other integer overflow
24943         problems, fixing all the bugs I found.
24944
24945         Although the C Standard says the resulting code is still not safe
24946         in the presence of integer overflow, in practice it should be good
24947         enough for all real-world two's-complement implementations, except
24948         for debugging environments that deliberately trap on integer
24949         overflow (e.g., gcc -ftrapv).
24950
24951         * lib/mktime.c (WRAPV): New macro.
24952         (SHR): Also check that long_int and time_t shift right in the
24953         usual way, before using the fast-but-unportable method.
24954         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
24955         used.  The code already assumed two's complement, so there's
24956         no need to test for alternatives.  All uses removed.
24957         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
24958         the C standard.  Problem reported by Rich Felker in
24959         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
24960         (twos_complement_arithmetic): Also check long_int and time_t.
24961         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
24962         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
24963         (__mktime_internal): Avoid integer overflow with unary subtraction
24964         in two instances where -1 - X is an adequate replacement for -X,
24965         since the calculations are approximate.
24966
24967 2011-01-29  Eric Blake  <eblake@redhat.com>
24968
24969         mktime: avoid infinite loop
24970         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
24971         type; behavior is still undefined but portable to all known targets.
24972         Reported by Rich Felker.
24973
24974 2011-01-29  Simon Josefsson  <simon@josefsson.org>
24975
24976         rename, unlink, same-inode: Relicense.
24977         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
24978         * modules/unlink (License): Likewise.
24979         * modules/same-inode (License): Likewise.
24980
24981 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
24982
24983         mktime: avoid problems on NetBSD 5 / i386
24984         * lib/mktime.c (long_int): New type.  This works around a problem
24985         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
24986         but time_t is 64 bits, and where I expect the existing code is
24987         wrong in some cases.
24988         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
24989         (ydhms_diff): Bring back the compile-time check for wide-enough
24990         year and yday.
24991
24992         mktime: fix misspelling in comment
24993         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
24994         This merges all recent glibc changes of importance.
24995
24996 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24997
24998         move-if-change: cope with concurrent mv of identical file.
24999         * build-aux/move-if-change (CMPPROG): Accept environment
25000         variable as an override for `cmp'.
25001         (usage): Document CMPPROG.
25002         Adjust comparison to drop stdout.  Cope with failure of mv if
25003         the target file exists and is identical to the source, for
25004         parallel builds.
25005         Report from H.J. Lu against binutils in PR binutils/12283.
25006
25007 2011-01-28  Bruce Korb  <bkorb@gnu.org>
25008
25009         * users.txt: Mention sharutils.
25010
25011 2011-01-28  Simon Josefsson  <simon@josefsson.org>
25012
25013         * users.txt: Mention OATH Toolkit.
25014
25015 2011-01-27  Bruno Haible  <bruno@clisp.org>
25016
25017         Prepare for supporting FreeBSD 10.
25018         * build-aux/config.libpath: Remove handling of freebsd1*.
25019
25020 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
25021
25022         Prepare for supporting FreeBSD 10.
25023         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
25024         match FreeBSD 10.0.
25025
25026 2011-01-27  Bruno Haible  <bruno@clisp.org>
25027
25028         vma-iter, get-rusage-as: Add OpenBSD support.
25029         * modules/vma-iter (configure.ac): Test for mquery.
25030         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
25031         * lib/vma-iter.c: Include <sys/mman.h>.
25032         (vma_iterate): Add an implementation based on mquery().
25033         * lib/resource-ext.h (get_rusage_as): Update comments.
25034         * lib/get-rusage-as.c: Likewise.
25035         * lib/get-rusage-data.c: Likewise.
25036
25037 2011-01-26  Karl Berry  <karl@gnu.org>
25038
25039         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
25040         variables to make it easier to override the makeinfo program used.
25041
25042 2011-01-26  Eric Blake  <eblake@redhat.com>
25043
25044         fcntl: work around Haiku F_DUPFD bugs
25045         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
25046         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
25047         cloexec bit on duplication.
25048         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
25049
25050 2011-01-26  Bruno Haible  <bruno@clisp.org>
25051
25052         Enable memory leak tests on AIX.
25053         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
25054         * tests/test-fprintf-posix3.c (main): Likewise.
25055
25056 2011-01-26  Bruno Haible  <bruno@clisp.org>
25057
25058         Tests for module 'get-rusage-data'.
25059         * modules/get-rusage-data-tests: New file.
25060         * tests/test-get-rusage-data.c: New file.
25061
25062         New module 'get-rusage-data'.
25063         * lib/resource-ext.h (get_rusage_data): New declaration.
25064         * lib/get-rusage-data.c: New file.
25065         * modules/get-rusage-data: New file.
25066
25067 2011-01-25  Bruno Haible  <bruno@clisp.org>
25068
25069         get-rusage-as: Allow for easier testing.
25070         * lib/resource-ext.h (get_rusage_as): Add comment.
25071         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
25072         (main): New function for interactive testing.
25073
25074 2011-01-25  Bruno Haible  <bruno@clisp.org>
25075
25076         vma-iter: Treat Haiku like BeOS.
25077         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
25078         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
25079
25080 2011-01-25  Eric Blake  <eblake@redhat.com>
25081
25082         c-stack: fix regression on cygwin when libsigsegv is present
25083         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
25084
25085 2011-01-24  Bruno Haible  <bruno@clisp.org>
25086
25087         vma-iter: Avoid empty intervals.
25088         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
25089         on an empty interval.
25090
25091 2011-01-24  Jim Meyering  <meyering@redhat.com>
25092
25093         u64: remove unnecessary #include
25094         * lib/u64.h: Don't include <stddef.h>.  It was not used.
25095
25096 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25097
25098         Allow the user to avoid the HAVE_RAW_DECL_* macros.
25099         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
25100
25101 2011-01-23  Bruno Haible  <bruno@clisp.org>
25102
25103         New module 'vma-iter'.
25104         * lib/vma-iter.h: New file.
25105         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
25106         * modules/vma-iter: New file.
25107         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
25108         for get_rusage_as_via_iterator.
25109         (vma_iterate_callback): New function.
25110         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
25111         * modules/get-rusage-as (Depends-on): Add vma-iter.
25112
25113 2011-01-23  Bruno Haible  <bruno@clisp.org>
25114
25115         uninorm: Tweak includes.
25116         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
25117         Reported by Jim Meyering.
25118
25119 2011-01-23  Bruno Haible  <bruno@clisp.org>
25120
25121         get-rusage-as: Improve on NetBSD.
25122         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
25123         /proc, like on FreeBSD.
25124
25125 2011-01-23  Jim Meyering  <meyering@redhat.com>
25126
25127         xreadlink.h: remove unnecessary #include
25128         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
25129
25130         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
25131         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
25132
25133 2011-01-23  Bruno Haible  <bruno@clisp.org>
25134
25135         get-rusage-as: Fix bug.
25136         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
25137         original limit when aborting the first loop.
25138
25139 2011-01-23  Bruno Haible  <bruno@clisp.org>
25140
25141         wctype: Ensure valid C syntax.
25142         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
25143         unconditionally, instead of gl_NEXT_HEADERS conditionally.
25144
25145 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25146
25147         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
25148         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
25149         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
25150         as they are needed only for configure's test case.
25151         This removes two unnecessary symbols from config.h.
25152
25153         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
25154         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
25155         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
25156         AC_CHECK_HEADERS_ONCE on a header that we also invoke
25157         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
25158         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
25159         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
25160         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
25161         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25162         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25163         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
25164         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25165         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25166         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25167         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
25168         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25169         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25170         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25171
25172 2011-01-21  Eric Blake  <eblake@redhat.com>
25173
25174         maintainer-makefile: work with older git for submodule check
25175         * top/maint.mk (public-submodule-commit): Rewrite to avoid
25176         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
25177         Reported by Matthias Bolte.
25178
25179         bootstrap: minor portability fixes
25180         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
25181         (usage): Omit leading capital and trailing . on help phrases, per
25182         GNU Coding Standards.
25183         (check_versions, top level): Prefix messages with script name.
25184
25185 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
25186
25187         bootstrap: support --no-git option
25188         * build-aux/bootstrap: Add --no-git option, to be used when
25189         --gnulib-srcdir points to the exact desired checkout.
25190
25191 2011-01-21  Eric Blake  <eblake@redhat.com>
25192
25193         strerror_r-posix: work with glibc 2.13
25194         * lib/strerror_r.c (strerror_r): Fix return type.
25195
25196 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25197             Bruno Haible  <bruno@clisp.org>
25198
25199         uN_strstr: New unit tests.
25200         * modules/unistr/u8-strstr-tests: New file.
25201         * modules/unistr/u16-strstr-tests: New file.
25202         * modules/unistr/u32-strstr-tests: New file.
25203         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
25204         * tests/unistr/test-u8-strstr.c: New file.
25205         * tests/unistr/test-u16-strstr.c: New file.
25206         * tests/unistr/test-u32-strstr.c: New file.
25207
25208 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25209             Bruno Haible  <bruno@clisp.org>
25210
25211         Make uN_strstr functions O(n) worst-case.
25212         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
25213         16-bit and 32-bit unit cases, use the unibyte algorithm from
25214         lib/mbsstr.c.
25215         * lib/unistr/u8-strstr.c: Include <string.h>.
25216         (UNIT_IS_UINT8_T): New macro.
25217         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
25218         (U_STRLEN, U_STRNLEN): New macros.
25219         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
25220         (U_STRLEN, U_STRNLEN): New macros.
25221         * modules/unistr/u8-strstr (Depends-on): Add strstr.
25222         (configure.ac): Update required libunistring version.
25223         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
25224         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
25225         malloca.
25226         (configure.ac): Update required libunistring version.
25227         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
25228         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
25229         malloca.
25230         (configure.ac): Update required libunistring version.
25231
25232 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25233             Bruno Haible  <bruno@clisp.org>
25234
25235         Prepare for faster uN_strstr functions.
25236         * lib/str-kmp.h: Support definable UNITs.
25237         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
25238         needle_len argument.
25239         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
25240         * lib/mbscasestr.c (mbscasestr): Likewise.
25241
25242 2011-01-21  Pádraig Brady <P@draigBrady.com>
25243
25244         malloca-tests: make faster by unsetting MALLOC_PERTURB_
25245         * tests/test-malloca.c (main): Unset the environment variable
25246         to greatly speed up the test.
25247         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
25248         * modules/malloca-tests: Depend on unsetenv.
25249
25250 2011-01-21  Pádraig Brady <P@draigBrady.com>
25251
25252         ignore-value: remove stdint dependency
25253         * lib/ignore-value.h: Remove <stdint.h>
25254         * modules/ignore-value: Remove stdint dependency.
25255
25256 2011-01-21  Jim Meyering  <meyering@redhat.com>
25257
25258         maint.mk: adjust variable name to be consistent with other gl_ vars
25259         * top/maint.mk (gl_public_submodule_commit): Rename the variable
25260         to be lower case.
25261
25262 2011-01-20  Jim Meyering  <meyering@redhat.com>
25263
25264         maint.mk: make "check" depend on public-submodule-commit by default
25265         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
25266
25267 2011-01-20  Bruno Haible  <bruno@clisp.org>
25268
25269         mbfile, mbiter: Complete change from 2008-12-21.
25270         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
25271         * m4/mbiter.m4 (gl_MBITER): Likewise.
25272
25273 2011-01-20  Jim Meyering  <meyering@redhat.com>
25274
25275         init.sh: insert space between each function name and "()"
25276         * tests/init.sh: Make it a little easier to see that a function's
25277         name is "warn_", and not "warn" when looking at the first part of
25278         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
25279
25280 2011-01-20  Jim Meyering  <meyering@redhat.com>
25281
25282         mountlist: clean up code formatting
25283         * lib/mountlist.c (read_file_system_list): Split a long line,
25284         correct bracing style, use NULL in place of "(struct statfs *)0",
25285         don't parenthesize return value, add spaces around "=" and after
25286         ";-in-for-stmt".
25287
25288 2011-01-14  Markus Duft <mduft@gentoo.org>
25289
25290         mountlist: add support for Interix
25291         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
25292         Apply statvfs to all entries of /dev/fs.
25293         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
25294         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
25295
25296 2011-01-20  Jim Meyering  <meyering@redhat.com>
25297
25298         maint.mk: improve the public-submodule-commit rule
25299         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
25300         to suppress printing of its commands... unless V=1.
25301         Add git submodule's --quiet option to suppress printing of e.g.,
25302         "Entering gnulib" output.
25303         "cd" into $(srcdir) before running git submodule.
25304
25305 2011-01-20  Bruno Haible  <bruno@clisp.org>
25306
25307         include_next: Fix bug introduced on 2011-01-18.
25308         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
25309         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
25310         ac_cv_header_... variable if the second argument is not 'check'.
25311         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
25312         gl_NEXT_HEADERS_INTERNAL.
25313
25314 2011-01-20  Bruno Haible  <bruno@clisp.org>
25315
25316         Allow the user to avoid the GNULIB_TEST_* macros.
25317         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
25318         Suggested by Paul Eggert.
25319
25320 2011-01-14  Jim Meyering  <meyering@redhat.com>
25321
25322         bootstrap: avoid failure when there is no .gitmodules file
25323         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
25324         has been assigned to, even when its value is the empty string.
25325         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
25326         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
25327         Reported by John W. Eaton <jwe@gnu.org>.
25328
25329 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25330
25331         assume <ctype.h>, ..., <time.h> exist
25332         For years gnulib has been assuming the existence of the headers
25333         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
25334         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
25335         them, since they don't appear to be needed.
25336         * README (Portability guidelines): Document this.
25337         * lib/flock.c: Assume <fcntl.h> exists.
25338         * lib/regex_internal.h: Assume <locale.h> exists.
25339         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
25340         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
25341         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
25342         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
25343         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
25344         * m4/regex.m4 (gl_REGEX): Likewise.
25345         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
25346         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
25347         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
25348         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
25349         * tests/test-argp.c: Likewise.
25350         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
25351
25352         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
25353         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
25354         AA_APPLE_UNIVERSAL_BUILD.  See
25355         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
25356         * NEWS: Document this.
25357
25358 2011-01-19  Eric Blake  <eblake@redhat.com>
25359
25360         c-stack: assume stack overflow if SA_SIGINFO unsupported
25361         * lib/c-stack.c (SIGACTION_WORKS): Rename...
25362         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
25363         sigaction will work.
25364         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
25365         behavior match Linux.
25366         * tests/test-c-stack.c (main): Prefer NULL for pointers.
25367
25368         stdbool-tests: accommodate Haiku
25369         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
25370
25371         binary-io: fix O_TEXT on Haiku
25372         * modules/binary-io (Depends-on): Add fcntl-h.
25373         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
25374         than blindly undefining O_TEXT.
25375         Reported by Scott McCreary.
25376
25377 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25378
25379         include_next: do not check for standard headers like stddef.h
25380
25381         I found this problem when modifying Emacs to use gnulib.
25382         I noticed that it added HAVE_STDDEF_H to config.h, even though
25383         gnulib always assumes <stddef.h> exists as per README and this
25384         symbol is unnecessary.
25385         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
25386         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
25387         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
25388         faster for headers like stddef.h that are known to exist.
25389         (gl_CHECK_NEXT_HEADERS): Use it.
25390         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
25391         rather than gl_CHECK_NEXT_HEADERS.
25392         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
25393         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
25394
25395 2011-01-18  Eric Blake  <eblake@redhat.com>
25396
25397         ansi-c++-opt: skip C++ dependency style if C++ is unused
25398         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
25399         tests when we know C++ compilation is not desired.
25400         Reported by Scott McCreary.
25401
25402 2011-01-18  Bruno Haible  <bruno@clisp.org>
25403
25404         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
25405         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
25406         (main): Perform test also when getrlimit and setrlimit don't exist or
25407         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
25408         limiting the address space size using setrlimit, compare the address
25409         space size before and after the the test.
25410         * tests/test-dprintf-posix2.c: Likewise.
25411         * tests/test-fprintf-posix3.sh: Update skip messages.
25412         * tests/test-dprintf-posix2.sh: Likewise.
25413         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
25414         * modules/dprintf-posix-tests (Depends-on): Likewise.
25415         Reported by Bruce Korb <bkorb@gnu.org> and
25416         Gary V. Vaughan <gary@gnu.org>.
25417
25418 2011-01-18  Bruno Haible  <bruno@clisp.org>
25419
25420         get-rusage-as: Improvement for Cygwin.
25421         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
25422         areas that are merely reserved.
25423
25424 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25425
25426         strftime: remove dependencies on multibyte modules
25427
25428         strftime depended on mbrlen, mbsinit, and wchar, but these modules
25429         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
25430         only if __osf__ is defined, and I suspect OSF doesn't need these
25431         other modules.  If my guess is wrong, we'll need to come up with a
25432         variant of strftime that doesn't need the multibyte modules.
25433
25434         I discovered this problem when attempting modify Emacs to use the
25435         strftime module.  With the previous gnulib, this caused Emacs to
25436         need 31 new files, ranging from lib/config.charset to
25437         m4/wint_t.m4.  This was overkill and I expect would be offputting
25438         to the Emacs maintainers.  After this change, only 6 new files are
25439         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
25440         stdbool.m4, and tm_gmtoff.m4.
25441
25442         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
25443         Suggested by Bruno Haible in
25444         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
25445         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
25446         and do not check for wchar.h.
25447         * modules/strftime (Files): Remove m4/mbstate_t.m4.
25448         (Depends-on): Remove mbrlen, mbsinit, wchar.
25449
25450 2011-01-18  Bruno Haible  <bruno@clisp.org>
25451
25452         Tests for module 'get-rusage-as'.
25453         * modules/get-rusage-as-tests: New file.
25454         * tests/test-get-rusage-as.c: New file.
25455
25456         New module 'get-rusage-as'.
25457         * modules/get-rusage-as: New file.
25458         * lib/resource-ext.h: New file.
25459         * lib/get-rusage-as.c: New file.
25460
25461 2011-01-17  Eric Blake  <eblake@redhat.com>
25462
25463         sigaction: relax license from LGPLv3+ to LGPLv2+
25464         * modules/sigaction (License): Relax to LGPLv2+.
25465
25466 2011-01-14  Bruno Haible  <bruno@clisp.org>
25467
25468         filemode: Make function declarations usable in C++ mode.
25469         * lib/filemode.h: Enclose function declarations in extern "C" block.
25470         Reported by John W. Eaton <jwe@gnu.org>.
25471
25472 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
25473
25474         save-cwd: no longer include "xgetcwd.h"
25475         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
25476         This avoids a compilation failure in projects that use save-cwd
25477         without also using the xgetcwd module.
25478
25479 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25480
25481         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
25482         This is so that a program like Emacs, which needs only dtoastr,
25483         does not have to bother with distributing and compiling ftoastr
25484         and ldtoastr.
25485         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
25486         * modules/dtoastr, modules/ldtoastr: New files.
25487         * modules/ftoastr: Now works just for 'float'.
25488         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
25489         (Makefile.am): Remove ftoastr.h (not needed and no effect),
25490         dtoastr.c, ldtoastr.c.
25491
25492 2011-01-11  Jim Meyering  <meyering@redhat.com>
25493
25494         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
25495         There is no need to work around the lack of the fchdir function,
25496         since gnulib can now provide a replacement when required.
25497         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
25498         * modules/save-cwd (Depends-on): Add fchdir.
25499
25500 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25501
25502         openat, save-cwd: avoid xmalloc
25503
25504         This removes a direct (but undocumented) dependency of openat on
25505         xalloc, along with an indirect dependency via save-cwd.  It also
25506         removes a dependency of save-cwd on xgetcwd, and thereby
25507         indirectly on xalloc.  This change causes the openat substitute
25508         to fall back on save_cwd when memory is tight, and for save_cwd to
25509         fail instead of dying when memory is tight, but that's good enough.
25510         Problem and initial idea for fix reported by Bastien Roucaries in
25511         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
25512
25513         * lib/openat-proc.c: Include stdlib.h (for malloc), not
25514         xalloc.h (for xmalloc).
25515         (openat_proc_name): Use malloc, not xmalloc.
25516         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
25517         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
25518
25519         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
25520         This avoids heap allocation for file names whose lengths are in
25521         the range 512..1023, with the upper bound increasing to at most
25522         4031 depending on the platform's PATH_MAX.  (We do not want
25523         pathmax.h here as it might supply a non-constant PATH_MAX.)
25524         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
25525         Perhaps they should be moved to malloca.h?
25526         (OPENAT_BUFFER_SIZE): Use them.
25527
25528 2011-01-10  Bruno Haible  <bruno@clisp.org>
25529
25530         doc: Update users.txt.
25531         * users.txt: Add recutils.
25532
25533 2011-01-09  Karl Berry  <karl@gnu.org>
25534
25535         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
25536
25537         * doc/configmake.texi: New file.
25538         * doc/gnulib.texi: Include it.
25539         * modules/configmake: Move documentation from here.
25540
25541 2011-01-09  Bruno Haible  <bruno@clisp.org>
25542
25543         Update to Unicode 6.0.0.
25544         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
25545         (get_lbp): Update for Unicode 6.0.0.
25546         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
25547         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
25548         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
25549         U+11001, U+11038..U+11046. Remove U+06DE.
25550         (uc_width): Fix bounds of planes.
25551         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25552         lib/uniwidth/width.c.
25553         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
25554         trailing whitespace removed.
25555         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
25556         without comments, but with the original copyright notice.
25557         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
25558         * lib/unicase/ignorable.h: Likewise.
25559         * lib/unicase/tocasefold.h: Likewise.
25560         * lib/unicase/tolower.h: Likewise.
25561         * lib/unicase/totitle.h: Likewise.
25562         * lib/unicase/toupper.h: Likewise.
25563         * lib/unictype/bidi_of.h: Likewise.
25564         * lib/unictype/blocks.h: Likewise.
25565         * lib/unictype/categ_C.h: Likewise.
25566         * lib/unictype/categ_Cn.h: Likewise.
25567         * lib/unictype/categ_L.h: Likewise.
25568         * lib/unictype/categ_Ll.h: Likewise.
25569         * lib/unictype/categ_Lm.h: Likewise.
25570         * lib/unictype/categ_Lo.h: Likewise.
25571         * lib/unictype/categ_Lu.h: Likewise.
25572         * lib/unictype/categ_M.h: Likewise.
25573         * lib/unictype/categ_Mc.h: Likewise.
25574         * lib/unictype/categ_Me.h: Likewise.
25575         * lib/unictype/categ_Mn.h: Likewise.
25576         * lib/unictype/categ_N.h: Likewise.
25577         * lib/unictype/categ_Nd.h: Likewise.
25578         * lib/unictype/categ_No.h: Likewise.
25579         * lib/unictype/categ_P.h: Likewise.
25580         * lib/unictype/categ_Po.h: Likewise.
25581         * lib/unictype/categ_S.h: Likewise.
25582         * lib/unictype/categ_Sc.h: Likewise.
25583         * lib/unictype/categ_Sk.h: Likewise.
25584         * lib/unictype/categ_Sm.h: Likewise.
25585         * lib/unictype/categ_So.h: Likewise.
25586         * lib/unictype/categ_of.h: Likewise.
25587         * lib/unictype/combining.h: Likewise.
25588         * lib/unictype/ctype_alnum.h: Likewise.
25589         * lib/unictype/ctype_alpha.h: Likewise.
25590         * lib/unictype/ctype_graph.h: Likewise.
25591         * lib/unictype/ctype_lower.h: Likewise.
25592         * lib/unictype/ctype_print.h: Likewise.
25593         * lib/unictype/ctype_punct.h: Likewise.
25594         * lib/unictype/ctype_upper.h: Likewise.
25595         * lib/unictype/decdigit.h: Likewise.
25596         * lib/unictype/digit.h: Likewise.
25597         * lib/unictype/numeric.h: Likewise.
25598         * lib/unictype/pr_alphabetic.h: Likewise.
25599         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25600         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25601         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25602         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25603         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25604         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25605         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25606         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25607         * lib/unictype/pr_case_ignorable.h: Likewise.
25608         * lib/unictype/pr_cased.h: Likewise.
25609         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
25610         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
25611         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
25612         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
25613         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
25614         * lib/unictype/pr_combining.h: Likewise.
25615         * lib/unictype/pr_composite.h: Likewise.
25616         * lib/unictype/pr_currency_symbol.h: Likewise.
25617         * lib/unictype/pr_decimal_digit.h: Likewise.
25618         * lib/unictype/pr_deprecated.h: Likewise.
25619         * lib/unictype/pr_format_control.h: Likewise.
25620         * lib/unictype/pr_grapheme_base.h: Likewise.
25621         * lib/unictype/pr_grapheme_extend.h: Likewise.
25622         * lib/unictype/pr_grapheme_link.h: Likewise.
25623         * lib/unictype/pr_id_continue.h: Likewise.
25624         * lib/unictype/pr_id_start.h: Likewise.
25625         * lib/unictype/pr_ideographic.h: Likewise.
25626         * lib/unictype/pr_lowercase.h: Likewise.
25627         * lib/unictype/pr_math.h: Likewise.
25628         * lib/unictype/pr_numeric.h: Likewise.
25629         * lib/unictype/pr_other_alphabetic.h: Likewise.
25630         * lib/unictype/pr_other_id_continue.h: Likewise.
25631         * lib/unictype/pr_other_math.h: Likewise.
25632         * lib/unictype/pr_punctuation.h: Likewise.
25633         * lib/unictype/pr_sentence_terminal.h: Likewise.
25634         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25635         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25636         * lib/unictype/pr_unified_ideograph.h: Likewise.
25637         * lib/unictype/pr_uppercase.h: Likewise.
25638         * lib/unictype/pr_xid_continue.h: Likewise.
25639         * lib/unictype/pr_xid_start.h: Likewise.
25640         * lib/unictype/scripts.h: Likewise.
25641         * lib/unictype/scripts_byname.gperf: Likewise.
25642         * lib/unictype/sy_java_ident.h: Likewise.
25643         * lib/unigbrk/gbrkprop.h: Likewise.
25644         * lib/unilbrk/lbrkprop1.h: Likewise.
25645         * lib/unilbrk/lbrkprop2.h: Likewise.
25646         * lib/uninorm/decomposition-table2.h: Likewise.
25647         * lib/uniwbrk/wbrkprop.h: Likewise.
25648         * tests/unicase/test-cased.c: Likewise.
25649         * tests/unicase/test-ignorable.c: Likewise.
25650         * tests/unicase/test-uc_tolower.c: Likewise.
25651         * tests/unicase/test-uc_totitle.c: Likewise.
25652         * tests/unicase/test-uc_toupper.c: Likewise.
25653         * tests/unictype/test-categ_C.c: Likewise.
25654         * tests/unictype/test-categ_Cn.c: Likewise.
25655         * tests/unictype/test-categ_L.c: Likewise.
25656         * tests/unictype/test-categ_Ll.c: Likewise.
25657         * tests/unictype/test-categ_Lm.c: Likewise.
25658         * tests/unictype/test-categ_Lo.c: Likewise.
25659         * tests/unictype/test-categ_Lu.c: Likewise.
25660         * tests/unictype/test-categ_M.c: Likewise.
25661         * tests/unictype/test-categ_Mc.c: Likewise.
25662         * tests/unictype/test-categ_Me.c: Likewise.
25663         * tests/unictype/test-categ_Mn.c: Likewise.
25664         * tests/unictype/test-categ_N.c: Likewise.
25665         * tests/unictype/test-categ_Nd.c: Likewise.
25666         * tests/unictype/test-categ_No.c: Likewise.
25667         * tests/unictype/test-categ_P.c: Likewise.
25668         * tests/unictype/test-categ_Po.c: Likewise.
25669         * tests/unictype/test-categ_S.c: Likewise.
25670         * tests/unictype/test-categ_Sc.c: Likewise.
25671         * tests/unictype/test-categ_Sk.c: Likewise.
25672         * tests/unictype/test-categ_Sm.c: Likewise.
25673         * tests/unictype/test-categ_So.c: Likewise.
25674         * tests/unictype/test-ctype_alnum.c: Likewise.
25675         * tests/unictype/test-ctype_alpha.c: Likewise.
25676         * tests/unictype/test-ctype_graph.c: Likewise.
25677         * tests/unictype/test-ctype_lower.c: Likewise.
25678         * tests/unictype/test-ctype_print.c: Likewise.
25679         * tests/unictype/test-ctype_punct.c: Likewise.
25680         * tests/unictype/test-ctype_upper.c: Likewise.
25681         * tests/unictype/test-decdigit.h: Likewise.
25682         * tests/unictype/test-digit.h: Likewise.
25683         * tests/unictype/test-numeric.h: Likewise.
25684         * tests/unictype/test-pr_alphabetic.c: Likewise.
25685         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25686         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
25687         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
25688         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25689         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25690         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25691         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25692         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25693         * tests/unictype/test-pr_case_ignorable.c: Likewise.
25694         * tests/unictype/test-pr_cased.c: Likewise.
25695         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
25696         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
25697         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
25698         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
25699         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
25700         * tests/unictype/test-pr_combining.c: Likewise.
25701         * tests/unictype/test-pr_composite.c: Likewise.
25702         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25703         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25704         * tests/unictype/test-pr_deprecated.c: Likewise.
25705         * tests/unictype/test-pr_format_control.c: Likewise.
25706         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25707         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25708         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25709         * tests/unictype/test-pr_id_continue.c: Likewise.
25710         * tests/unictype/test-pr_id_start.c: Likewise.
25711         * tests/unictype/test-pr_ideographic.c: Likewise.
25712         * tests/unictype/test-pr_lowercase.c: Likewise.
25713         * tests/unictype/test-pr_math.c: Likewise.
25714         * tests/unictype/test-pr_numeric.c: Likewise.
25715         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25716         * tests/unictype/test-pr_other_id_continue.c: Likewise.
25717         * tests/unictype/test-pr_other_math.c: Likewise.
25718         * tests/unictype/test-pr_punctuation.c: Likewise.
25719         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25720         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25721         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25722         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25723         * tests/unictype/test-pr_uppercase.c: Likewise.
25724         * tests/unictype/test-pr_xid_continue.c: Likewise.
25725         * tests/unictype/test-pr_xid_start.c: Likewise.
25726         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25727         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25728         changes.
25729         * lib/unictype/categ_Cc.h: Likewise.
25730         * lib/unictype/categ_Cf.h: Likewise.
25731         * lib/unictype/categ_Co.h: Likewise.
25732         * lib/unictype/categ_Cs.h: Likewise.
25733         * lib/unictype/categ_Lt.h: Likewise.
25734         * lib/unictype/categ_Nl.h: Likewise.
25735         * lib/unictype/categ_Pc.h: Likewise.
25736         * lib/unictype/categ_Pd.h: Likewise.
25737         * lib/unictype/categ_Pe.h: Likewise.
25738         * lib/unictype/categ_Pf.h: Likewise.
25739         * lib/unictype/categ_Pi.h: Likewise.
25740         * lib/unictype/categ_Ps.h: Likewise.
25741         * lib/unictype/categ_Z.h: Likewise.
25742         * lib/unictype/categ_Zl.h: Likewise.
25743         * lib/unictype/categ_Zp.h: Likewise.
25744         * lib/unictype/categ_Zs.h: Likewise.
25745         * lib/unictype/ctype_blank.h: Likewise.
25746         * lib/unictype/ctype_cntrl.h: Likewise.
25747         * lib/unictype/ctype_digit.h: Likewise.
25748         * lib/unictype/ctype_space.h: Likewise.
25749         * lib/unictype/ctype_xdigit.h: Likewise.
25750         * lib/unictype/mirror.h: Likewise.
25751         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25752         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25753         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25754         * lib/unictype/pr_bidi_control.h: Likewise.
25755         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25756         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25757         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25758         * lib/unictype/pr_bidi_pdf.h: Likewise.
25759         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25760         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25761         * lib/unictype/pr_dash.h: Likewise.
25762         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25763         * lib/unictype/pr_diacritic.h: Likewise.
25764         * lib/unictype/pr_extender.h: Likewise.
25765         * lib/unictype/pr_hex_digit.h: Likewise.
25766         * lib/unictype/pr_hyphen.h: Likewise.
25767         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25768         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25769         * lib/unictype/pr_ignorable_control.h: Likewise.
25770         * lib/unictype/pr_iso_control.h: Likewise.
25771         * lib/unictype/pr_join_control.h: Likewise.
25772         * lib/unictype/pr_left_of_pair.h: Likewise.
25773         * lib/unictype/pr_line_separator.h: Likewise.
25774         * lib/unictype/pr_logical_order_exception.h: Likewise.
25775         * lib/unictype/pr_non_break.h: Likewise.
25776         * lib/unictype/pr_not_a_character.h: Likewise.
25777         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25778         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25779         * lib/unictype/pr_other_id_start.h: Likewise.
25780         * lib/unictype/pr_other_lowercase.h: Likewise.
25781         * lib/unictype/pr_other_uppercase.h: Likewise.
25782         * lib/unictype/pr_paired_punctuation.h: Likewise.
25783         * lib/unictype/pr_paragraph_separator.h: Likewise.
25784         * lib/unictype/pr_pattern_syntax.h: Likewise.
25785         * lib/unictype/pr_pattern_white_space.h: Likewise.
25786         * lib/unictype/pr_private_use.h: Likewise.
25787         * lib/unictype/pr_quotation_mark.h: Likewise.
25788         * lib/unictype/pr_radical.h: Likewise.
25789         * lib/unictype/pr_soft_dotted.h: Likewise.
25790         * lib/unictype/pr_space.h: Likewise.
25791         * lib/unictype/pr_titlecase.h: Likewise.
25792         * lib/unictype/pr_variation_selector.h: Likewise.
25793         * lib/unictype/pr_white_space.h: Likewise.
25794         * lib/unictype/pr_zero_width.h: Likewise.
25795         * lib/unictype/sy_c_ident.h: Likewise.
25796         * lib/unictype/sy_c_whitespace.h: Likewise.
25797         * lib/unictype/sy_java_whitespace.h: Likewise.
25798         * lib/uninorm/composition-table.gperf: Likewise.
25799         * lib/uninorm/decomposition-table1.h: Likewise.
25800         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
25801         LB8.
25802         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25803         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25804         * modules/unictype/*: Bump version number of expected libunistring
25805         version.
25806
25807 2011-01-09  Bruno Haible  <bruno@clisp.org>
25808
25809         Update to Unicode 5.2.0.
25810         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
25811         trailing whitespace removed.
25812
25813 2011-01-09  Bruno Haible  <bruno@clisp.org>
25814
25815         New Unicode character properties, from Unicode 5.2.0.
25816         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
25817         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
25818         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
25819         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
25820         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
25821         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
25822         uc_is_property_cased, uc_is_property_case_ignorable,
25823         uc_is_property_changes_when_lowercased,
25824         uc_is_property_changes_when_uppercased,
25825         uc_is_property_changes_when_titlecased,
25826         uc_is_property_changes_when_casefolded,
25827         uc_is_property_changes_when_casemapped): New declarations.
25828         * lib/unictype/pr_byname.gperf: Add the new properties.
25829         * modules/unictype/property-byname (Depends-on): Depend on the new
25830         properties modules.
25831         * modules/unictype/property-all (Depends-on): Likewise.
25832         * MODULES.html.sh (Unicode string functions): Add
25833         unictype/property-case-ignorable, unictype/property-cased,
25834         unictype/property-changes-when-casefolded,
25835         unictype/property-changes-when-casemapped,
25836         unictype/property-changes-when-lowercased,
25837         unictype/property-changes-when-titlecased,
25838         unictype/property-changes-when-uppercased.
25839
25840         New module 'unictype/property-changes-when-casemapped'.
25841         * modules/unictype/property-changes-when-casemapped: New file.
25842         * lib/unictype/pr_changes_when_casemapped.c: New file.
25843         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
25844         generated by gen-uni-tables.
25845         * modules/unictype/property-changes-when-casemapped-tests: New file.
25846         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
25847         automatically generated by gen-uni-tables.
25848
25849         New module 'unictype/property-changes-when-casefolded'.
25850         * modules/unictype/property-changes-when-casefolded: New file.
25851         * lib/unictype/pr_changes_when_casefolded.c: New file.
25852         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
25853         generated by gen-uni-tables.
25854         * modules/unictype/property-changes-when-casefolded-tests: New file.
25855         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
25856         automatically generated by gen-uni-tables.
25857
25858         New module 'unictype/property-changes-when-titlecased'.
25859         * modules/unictype/property-changes-when-titlecased: New file.
25860         * lib/unictype/pr_changes_when_titlecased.c: New file.
25861         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
25862         generated by gen-uni-tables.
25863         * modules/unictype/property-changes-when-titlecased-tests: New file.
25864         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
25865         automatically generated by gen-uni-tables.
25866
25867         New module 'unictype/property-changes-when-uppercased'.
25868         * modules/unictype/property-changes-when-uppercased: New file.
25869         * lib/unictype/pr_changes_when_uppercased.c: New file.
25870         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
25871         generated by gen-uni-tables.
25872         * modules/unictype/property-changes-when-uppercased-tests: New file.
25873         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
25874         automatically generated by gen-uni-tables.
25875
25876         New module 'unictype/property-changes-when-lowercased'.
25877         * modules/unictype/property-changes-when-lowercased: New file.
25878         * lib/unictype/pr_changes_when_lowercased.c: New file.
25879         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
25880         generated by gen-uni-tables.
25881         * modules/unictype/property-changes-when-lowercased-tests: New file.
25882         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
25883         automatically generated by gen-uni-tables.
25884
25885         New module 'unictype/property-case-ignorable'.
25886         * modules/unictype/property-case-ignorable: New file.
25887         * lib/unictype/pr_case_ignorable.c: New file.
25888         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
25889         by gen-uni-tables.
25890         * modules/unictype/property-case-ignorable-tests: New file.
25891         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
25892         generated by gen-uni-tables.
25893
25894         New module 'unictype/property-cased'.
25895         * modules/unictype/property-cased: New file.
25896         * lib/unictype/pr_cased.c: New file.
25897         * lib/unictype/pr_cased.h: New file, automatically generated by
25898         gen-uni-tables.
25899         * modules/unictype/property-cased-tests: New file.
25900         * tests/unictype/test-pr_cased.c: New file, automatically generated by
25901         gen-uni-tables.
25902
25903 2011-01-09  Bruno Haible  <bruno@clisp.org>
25904
25905         Update to Unicode 5.2.0.
25906         * lib/gen-uni-tables.c (output_predicate, output_category,
25907         output_combclass, output_bidi_category, output_decimal_digit_test,
25908         output_decimal_digit, output_digit_test, output_digit,
25909         output_numeric_test, output_numeric, output_mirror, output_scripts,
25910         output_scripts_byname, output_blocks, output_ident_category): Fix
25911         comment header.
25912         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
25913         get_wbp.
25914         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
25915         items.
25916         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
25917         Changes_When_Lowercased, Changes_When_Uppercased,
25918         Changes_When_Titlecased, Changes_When_Casefolded,
25919         Changes_When_Casemapped.
25920         (is_property_alphabetic, is_property_default_ignorable_code_point):
25921         Update for Unicode 5.2.0.
25922         (is_property_cased, is_property_case_ignorable,
25923         is_property_changes_when_lowercased,
25924         is_property_changes_when_uppercased,
25925         is_property_changes_when_titlecased,
25926         is_property_changes_when_casefolded,
25927         is_property_changes_when_casemapped): New functions.
25928         (output_properties): Output also the properties cased, case_ignorable,
25929         changes_when_lowercased, changes_when_uppercased,
25930         changes_when_titlecased, changes_when_casefolded,
25931         changes_when_casemapped.
25932         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
25933         Unicode TR#11 revision 17 -> 19.
25934         (LBP_CP): New enumeration value.
25935         (LBP_*): Adjust values accordingly.
25936         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25937         TR#14 revision 22 -> 24.
25938         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
25939         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
25940         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25941         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
25942         is_WBP_MIDLETTER.
25943         (output_composition_tables): Allow for 24 bits instead of 16 bits in
25944         the code1 and code2 of each composition rule.
25945         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
25946         * lib/unicase/ignorable.h: Likewise.
25947         * lib/unicase/tocasefold.h: Likewise.
25948         * lib/unicase/tolower.h: Likewise.
25949         * lib/unicase/totitle.h: Likewise.
25950         * lib/unicase/toupper.h: Likewise.
25951         * lib/unictype/bidi_of.h: Likewise.
25952         * lib/unictype/blocks.h: Likewise.
25953         * lib/unictype/categ_C.h: Likewise.
25954         * lib/unictype/categ_Cf.h: Likewise.
25955         * lib/unictype/categ_Cn.h: Likewise.
25956         * lib/unictype/categ_L.h: Likewise.
25957         * lib/unictype/categ_Ll.h: Likewise.
25958         * lib/unictype/categ_Lm.h: Likewise.
25959         * lib/unictype/categ_Lo.h: Likewise.
25960         * lib/unictype/categ_Lu.h: Likewise.
25961         * lib/unictype/categ_M.h: Likewise.
25962         * lib/unictype/categ_Mc.h: Likewise.
25963         * lib/unictype/categ_Mn.h: Likewise.
25964         * lib/unictype/categ_N.h: Likewise.
25965         * lib/unictype/categ_Nd.h: Likewise.
25966         * lib/unictype/categ_Nl.h: Likewise.
25967         * lib/unictype/categ_No.h: Likewise.
25968         * lib/unictype/categ_P.h: Likewise.
25969         * lib/unictype/categ_Pd.h: Likewise.
25970         * lib/unictype/categ_Po.h: Likewise.
25971         * lib/unictype/categ_S.h: Likewise.
25972         * lib/unictype/categ_Sc.h: Likewise.
25973         * lib/unictype/categ_So.h: Likewise.
25974         * lib/unictype/categ_of.h: Likewise.
25975         * lib/unictype/combining.h: Likewise.
25976         * lib/unictype/ctype_alnum.h: Likewise.
25977         * lib/unictype/ctype_alpha.h: Likewise.
25978         * lib/unictype/ctype_graph.h: Likewise.
25979         * lib/unictype/ctype_lower.h: Likewise.
25980         * lib/unictype/ctype_print.h: Likewise.
25981         * lib/unictype/ctype_punct.h: Likewise.
25982         * lib/unictype/ctype_upper.h: Likewise.
25983         * lib/unictype/decdigit.h: Likewise.
25984         * lib/unictype/digit.h: Likewise.
25985         * lib/unictype/numeric.h: Likewise.
25986         * lib/unictype/pr_alphabetic.h: Likewise.
25987         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25988         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25989         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25990         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25991         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25992         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25993         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25994         * lib/unictype/pr_combining.h: Likewise.
25995         * lib/unictype/pr_composite.h: Likewise.
25996         * lib/unictype/pr_currency_symbol.h: Likewise.
25997         * lib/unictype/pr_dash.h: Likewise.
25998         * lib/unictype/pr_decimal_digit.h: Likewise.
25999         * lib/unictype/pr_deprecated.h: Likewise.
26000         * lib/unictype/pr_diacritic.h: Likewise.
26001         * lib/unictype/pr_extender.h: Likewise.
26002         * lib/unictype/pr_grapheme_base.h: Likewise.
26003         * lib/unictype/pr_grapheme_extend.h: Likewise.
26004         * lib/unictype/pr_grapheme_link.h: Likewise.
26005         * lib/unictype/pr_id_continue.h: Likewise.
26006         * lib/unictype/pr_id_start.h: Likewise.
26007         * lib/unictype/pr_ideographic.h: Likewise.
26008         * lib/unictype/pr_ignorable_control.h: Likewise.
26009         * lib/unictype/pr_logical_order_exception.h: Likewise.
26010         * lib/unictype/pr_lowercase.h: Likewise.
26011         * lib/unictype/pr_numeric.h: Likewise.
26012         * lib/unictype/pr_other_alphabetic.h: Likewise.
26013         * lib/unictype/pr_punctuation.h: Likewise.
26014         * lib/unictype/pr_sentence_terminal.h: Likewise.
26015         * lib/unictype/pr_terminal_punctuation.h: Likewise.
26016         * lib/unictype/pr_unassigned_code_value.h: Likewise.
26017         * lib/unictype/pr_unified_ideograph.h: Likewise.
26018         * lib/unictype/pr_uppercase.h: Likewise.
26019         * lib/unictype/pr_xid_continue.h: Likewise.
26020         * lib/unictype/pr_xid_start.h: Likewise.
26021         * lib/unictype/pr_zero_width.h: Likewise.
26022         * lib/unictype/scripts.h: Likewise.
26023         * lib/unictype/scripts_byname.gperf: Likewise.
26024         * lib/unictype/sy_java_ident.h: Likewise.
26025         * lib/unigbrk/gbrkprop.h: Likewise.
26026         * lib/unilbrk/lbrkprop1.h: Likewise.
26027         * lib/unilbrk/lbrkprop2.h: Likewise.
26028         * lib/unilbrk/lbrktables.h: Likewise.
26029         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
26030         LBP_CP. Implement rule LB30.
26031         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
26032         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
26033         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
26034         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
26035         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
26036         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
26037         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
26038         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
26039         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
26040         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
26041         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
26042         bits instead of 16 bits in the code1 and code2 of each composition
26043         rule.
26044         (uc_composition): Update for Unicode 5.2.0.
26045         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
26046         * lib/uninorm/decomposition-table2.h: Likewise.
26047         * lib/uniwbrk/wbrkprop.h: Likewise.
26048         * tests/unicase/test-cased.c: Likewise.
26049         * tests/unicase/test-ignorable.c: Likewise.
26050         * tests/unicase/test-uc_tolower.c: Likewise.
26051         * tests/unicase/test-uc_totitle.c: Likewise.
26052         * tests/unicase/test-uc_toupper.c: Likewise.
26053         * tests/unictype/test-categ_C.c: Likewise.
26054         * tests/unictype/test-categ_Cf.c: Likewise.
26055         * tests/unictype/test-categ_Cn.c: Likewise.
26056         * tests/unictype/test-categ_L.c: Likewise.
26057         * tests/unictype/test-categ_Ll.c: Likewise.
26058         * tests/unictype/test-categ_Lm.c: Likewise.
26059         * tests/unictype/test-categ_Lo.c: Likewise.
26060         * tests/unictype/test-categ_Lu.c: Likewise.
26061         * tests/unictype/test-categ_M.c: Likewise.
26062         * tests/unictype/test-categ_Mc.c: Likewise.
26063         * tests/unictype/test-categ_Mn.c: Likewise.
26064         * tests/unictype/test-categ_N.c: Likewise.
26065         * tests/unictype/test-categ_Nd.c: Likewise.
26066         * tests/unictype/test-categ_Nl.c: Likewise.
26067         * tests/unictype/test-categ_No.c: Likewise.
26068         * tests/unictype/test-categ_P.c: Likewise.
26069         * tests/unictype/test-categ_Pd.c: Likewise.
26070         * tests/unictype/test-categ_Po.c: Likewise.
26071         * tests/unictype/test-categ_S.c: Likewise.
26072         * tests/unictype/test-categ_Sc.c: Likewise.
26073         * tests/unictype/test-categ_So.c: Likewise.
26074         * tests/unictype/test-ctype_alnum.c: Likewise.
26075         * tests/unictype/test-ctype_alpha.c: Likewise.
26076         * tests/unictype/test-ctype_graph.c: Likewise.
26077         * tests/unictype/test-ctype_lower.c: Likewise.
26078         * tests/unictype/test-ctype_print.c: Likewise.
26079         * tests/unictype/test-ctype_punct.c: Likewise.
26080         * tests/unictype/test-ctype_upper.c: Likewise.
26081         * tests/unictype/test-decdigit.h: Likewise.
26082         * tests/unictype/test-digit.h: Likewise.
26083         * tests/unictype/test-numeric.h: Likewise.
26084         * tests/unictype/test-pr_alphabetic.c: Likewise.
26085         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26086         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26087         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26088         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26089         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26090         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26091         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26092         * tests/unictype/test-pr_combining.c: Likewise.
26093         * tests/unictype/test-pr_composite.c: Likewise.
26094         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26095         * tests/unictype/test-pr_dash.c: Likewise.
26096         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26097         * tests/unictype/test-pr_deprecated.c: Likewise.
26098         * tests/unictype/test-pr_diacritic.c: Likewise.
26099         * tests/unictype/test-pr_extender.c: Likewise.
26100         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26101         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26102         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26103         * tests/unictype/test-pr_id_continue.c: Likewise.
26104         * tests/unictype/test-pr_id_start.c: Likewise.
26105         * tests/unictype/test-pr_ideographic.c: Likewise.
26106         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26107         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26108         * tests/unictype/test-pr_lowercase.c: Likewise.
26109         * tests/unictype/test-pr_numeric.c: Likewise.
26110         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26111         * tests/unictype/test-pr_punctuation.c: Likewise.
26112         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26113         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26114         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26115         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26116         * tests/unictype/test-pr_uppercase.c: Likewise.
26117         * tests/unictype/test-pr_xid_continue.c: Likewise.
26118         * tests/unictype/test-pr_xid_start.c: Likewise.
26119         * tests/unictype/test-pr_zero_width.c: Likewise.
26120         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26121         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
26122         changed behaviour: line breaking is now disallowed between a letter
26123         or '=' and '('.
26124         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26125         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26126         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
26127         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
26128         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26129         lib/uniwidth/width.c.
26130         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
26131         without comments, but with the original copyright notice.
26132         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26133         changes.
26134         * lib/unictype/categ_Cc.h: Likewise.
26135         * lib/unictype/categ_Co.h: Likewise.
26136         * lib/unictype/categ_Cs.h: Likewise.
26137         * lib/unictype/categ_Lt.h: Likewise.
26138         * lib/unictype/categ_Me.h: Likewise.
26139         * lib/unictype/categ_Pc.h: Likewise.
26140         * lib/unictype/categ_Pe.h: Likewise.
26141         * lib/unictype/categ_Pf.h: Likewise.
26142         * lib/unictype/categ_Pi.h: Likewise.
26143         * lib/unictype/categ_Ps.h: Likewise.
26144         * lib/unictype/categ_Sk.h: Likewise.
26145         * lib/unictype/categ_Sm.h: Likewise.
26146         * lib/unictype/categ_Z.h: Likewise.
26147         * lib/unictype/categ_Zl.h: Likewise.
26148         * lib/unictype/categ_Zp.h: Likewise.
26149         * lib/unictype/categ_Zs.h: Likewise.
26150         * lib/unictype/ctype_blank.h: Likewise.
26151         * lib/unictype/ctype_cntrl.h: Likewise.
26152         * lib/unictype/ctype_digit.h: Likewise.
26153         * lib/unictype/ctype_space.h: Likewise.
26154         * lib/unictype/ctype_xdigit.h: Likewise.
26155         * lib/unictype/mirror.h: Likewise.
26156         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26157         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26158         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26159         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26160         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26161         * lib/unictype/pr_bidi_control.h: Likewise.
26162         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26163         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26164         * lib/unictype/pr_bidi_pdf.h: Likewise.
26165         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26166         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26167         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26168         * lib/unictype/pr_format_control.h: Likewise.
26169         * lib/unictype/pr_hex_digit.h: Likewise.
26170         * lib/unictype/pr_hyphen.h: Likewise.
26171         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26172         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26173         * lib/unictype/pr_iso_control.h: Likewise.
26174         * lib/unictype/pr_join_control.h: Likewise.
26175         * lib/unictype/pr_left_of_pair.h: Likewise.
26176         * lib/unictype/pr_line_separator.h: Likewise.
26177         * lib/unictype/pr_math.h: Likewise.
26178         * lib/unictype/pr_non_break.h: Likewise.
26179         * lib/unictype/pr_not_a_character.h: Likewise.
26180         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26181         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26182         * lib/unictype/pr_other_id_continue.h: Likewise.
26183         * lib/unictype/pr_other_id_start.h: Likewise.
26184         * lib/unictype/pr_other_lowercase.h: Likewise.
26185         * lib/unictype/pr_other_math.h: Likewise.
26186         * lib/unictype/pr_other_uppercase.h: Likewise.
26187         * lib/unictype/pr_paired_punctuation.h: Likewise.
26188         * lib/unictype/pr_paragraph_separator.h: Likewise.
26189         * lib/unictype/pr_pattern_syntax.h: Likewise.
26190         * lib/unictype/pr_pattern_white_space.h: Likewise.
26191         * lib/unictype/pr_private_use.h: Likewise.
26192         * lib/unictype/pr_quotation_mark.h: Likewise.
26193         * lib/unictype/pr_radical.h: Likewise.
26194         * lib/unictype/pr_soft_dotted.h: Likewise.
26195         * lib/unictype/pr_space.h: Likewise.
26196         * lib/unictype/pr_titlecase.h: Likewise.
26197         * lib/unictype/pr_variation_selector.h: Likewise.
26198         * lib/unictype/pr_white_space.h: Likewise.
26199         * lib/unictype/sy_c_ident.h: Likewise.
26200         * lib/unictype/sy_c_whitespace.h: Likewise.
26201         * lib/unictype/sy_java_whitespace.h: Likewise.
26202         * modules/uni*/*: Bump version number of expected libunistring version.
26203         Reported by Simon Josefsson.
26204
26205 2011-01-09  Karl Heuer  <kwzh@gnu.org>
26206
26207         useless-if-before-free: fix typo in --help and make the internal,
26208         automatic version date update process work once again.
26209         --help output contained a NUL character instead of the
26210         backslash-zero that was intended.  Also, the "must lie within
26211         the first 8 lines" line is on line 9, and hence not getting
26212         automatically updated.
26213         * build-aux/useless-if-before-free: Fix the former by adding a
26214         backslash, and the latter by condensing the three lines of what-it-does
26215         to a single line, leaving one line of slack for the future.
26216
26217 2011-01-09  Bruno Haible  <bruno@clisp.org>
26218
26219         uniwidth/width: Fix width of U+1D173..U+1D17A.
26220         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
26221         symbolic_width, output_width_property_test): New functions.
26222         (main): Invoke output_nonspacing_property, output_width_property_test.
26223         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
26224         U+1D173..U+1D17A.
26225         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
26226         1.
26227         * modules/uniwidth/*: Bump version number of expected libunistring
26228         version.
26229         * modules/unilbrk/*: Likewise.
26230
26231 2011-01-08  Bruno Haible  <bruno@clisp.org>
26232
26233         uninorm tests: Preserve copyright of Unicode data file.
26234         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
26235         Mention modifications.
26236
26237 2011-01-08  Bruno Haible  <bruno@clisp.org>
26238
26239         gen-uni-tables: Prepare for Unicode 5.2.0.
26240         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
26241         (debug_output_lbp, output_lbp): Update.
26242
26243 2011-01-08  Bruno Haible  <bruno@clisp.org>
26244
26245         unilbrk: Clarify gen-uni-tables.c code.
26246         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
26247         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
26248         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
26249
26250 2011-01-07  Bruno Haible  <bruno@clisp.org>
26251
26252         strtod: Restore errno when successfully parsing Infinity or NaN.
26253         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
26254         restore the original errno.
26255
26256 2011-01-07  Bruno Haible  <bruno@clisp.org>
26257
26258         remove test: Avoid failure on HP-UX 11.
26259         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
26260
26261 2011-01-07  Bruno Haible  <bruno@clisp.org>
26262
26263         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
26264         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
26265         error code.
26266
26267 2011-01-07  Pádraig Brady <P@draigBrady.com>
26268
26269         ignore-value: fixup comments, and add Eric Blake
26270         as an author since he rewrote the macros.
26271         * lib/ignore-value.h (ignore_value):  State that
26272         we now support aggregates.  Also specify exactly
26273         when the GCC warn_unused_result feature was added.
26274
26275 2011-01-06  Eric Blake  <eblake@redhat.com>
26276
26277         ignore-value: support aggregate types
26278         * lib/ignore-value.h (ignore_value): Provide separate gcc
26279         definition.
26280         * modules/ignore-value-tests: New test module.
26281         * tests/test-ignore-value.c: New test.
26282
26283         maint.mk: improve sc_prohibit_strcmp regex
26284         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
26285         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
26286         definition of STRNEQ.
26287
26288         signal: work around Haiku issue with SIGBUS
26289         * lib/siglist.h: Add comment.
26290         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
26291         strsignal's favoring of SIGSEGV.
26292         * tests/test-signal.c (main): Avoid test failure.
26293         * doc/posix-headers/signal.texi (signal.h): Document the issue.
26294         Reported by Scott McCreary.
26295
26296         maint.mk: add pre-release check to ensure submodule commits are public
26297         * top/maint.mk (public-submodule-commit): New rule.
26298         (submodule-checks): New variable.
26299         (alpha beta stable): Depend on the variable.
26300
26301 2011-01-05  Pádraig Brady <P@draigBrady.com>
26302         and Jim Meyering  <meyering@redhat.com>
26303
26304         ignore-value: make ignore_value more generic; deprecate ignore_ptr
26305         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
26306         (ATTRIBUTE_DEPRECATED): Define.
26307         (_ignore_case): New function.
26308         (ignore_value): New macro, to replace the old function.
26309         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
26310         * modules/ignore-value (Depends-on): Add stdint.
26311
26312 2011-01-04  Eric Blake  <eblake@redhat.com>
26313
26314         doc: regenerate INSTALL
26315         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
26316         @firstparagraphindent support, now that autoconf dropped it.
26317         (INSTALL_PRELUDE): Reinstate old macro.
26318         * doc/install.texi: Resync from autoconf.
26319         * doc/INSTALL: Reflect recent autoconf update.
26320         * doc/INSTALL.ISO: Likewise.
26321         * doc/INSTALL.UTF-8: Likewise.
26322         Reported by Karl Berry.
26323
26324 2011-01-04  Bruce Korb  <address@hidden>
26325
26326         git-version-gen: avoid a sub-shell
26327         * build-aux/git-version-gen: Redirect stderr in `...` via
26328         "exec 2>...", rather than via an added sub-shell.
26329
26330 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
26331
26332         git-version-gen: use (...) rather than sh -c '...'
26333         * build-aux/git-version-gen: Rather than hard-coding a shell's name
26334         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
26335
26336 2011-01-03  Jim Meyering  <meyering@redhat.com>
26337
26338         git-version-gen: convert leading TABs to spaces
26339         * build-aux/git-version-gen: Expand leading TABs.
26340
26341         git-version-gen: handle failed "git rev-list"
26342         * build-aux/git-version-gen: Rather than leaking a "fatal" error
26343         from git and proceeding as if it had succeeded but printed no SHA1
26344         checksums, suppress the diagnostic and handle the failure.
26345         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
26346
26347         git-version-gen: include command name in one more diagnostic
26348         * build-aux/git-version-gen: When the required .tarball-version file
26349         was missing or unreadable, you might see the diagnostic from "cat",
26350         but no trace of the name of the invoking script.  Now, you still see
26351         the diagnostic from cat, but also get one from "git-version-gen: ".
26352         Inspired by a patch from Bruce Korb.
26353
26354         update-copyright: adjust test to match changed code
26355         * tests/test-update-copyright.sh: Change test's expected output
26356         to match new actual output.
26357
26358 2011-01-02  Bruno Haible  <bruno@clisp.org>
26359
26360         getlogin_r: Avoid test failure on HP-UX 11.
26361         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
26362         ERANGE when the second argument is zero.
26363         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
26364         portability problem.
26365
26366 2011-01-02  Bruce Korb  <bkorb@gnu.org>
26367
26368         * build-aux/update-copyright: doc Simon's changes
26369
26370 2011-01-02  Simon Josefsson  <simon@josefsson.org>
26371
26372         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
26373         environment variable.
26374
26375 2011-01-02  Bruno Haible  <bruno@clisp.org>
26376
26377         unigbrk: Avoid gcc warnings.
26378         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
26379         unused variable.
26380         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
26381         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
26382         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
26383         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
26384         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
26385         Change type of first argument to 'const char *'.
26386         (main): Remove unused variable.
26387         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
26388         type of first argument to 'const char *'.
26389         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
26390         Likewise.
26391         (main): Change type of variable 's'.
26392         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
26393         to 'int'.
26394
26395 2011-01-02  Bruno Haible  <bruno@clisp.org>
26396
26397         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
26398         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
26399         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
26400         bug.
26401         * lib/pwrite.c: Undo 2010-12-31 patch.
26402         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
26403
26404 2011-01-02  Bruno Haible  <bruno@clisp.org>
26405
26406         pread: Fix test whether it works.
26407         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
26408
26409 2011-01-02  Bruno Haible  <bruno@clisp.org>
26410
26411         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
26412         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
26413         ends in "6". Don't require a specific month name. Try also the locale
26414         names found on HP-UX 11 and Solaris 7.
26415
26416 2011-01-02  Bruno Haible  <bruno@clisp.org>
26417
26418         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
26419         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
26420         C linkage.
26421         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
26422
26423 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26424
26425         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
26426         for consistency, since the "cluster" term is not used elsewhere.
26427         * lib/unigbrk.in.h: Update name.
26428         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
26429         * lib/unigbrk/u16-grapheme-next.c: Update name.
26430         * lib/unigbrk/u16-grapheme-prev.c: Update name.
26431         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
26432         * lib/unigbrk/u32-grapheme-next.c: Update name.
26433         * lib/unigbrk/u32-grapheme-prev.c: Update name.
26434         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
26435         * lib/unigbrk/u8-grapheme-next.c: Update name.
26436         * lib/unigbrk/u8-grapheme-prev.c: Update name.
26437         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
26438         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
26439         Suggested by Bruno Haible.
26440
26441 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26442
26443         Remove module 'u8-grapheme-len' as too redundant with
26444         'u8-grapheme-next'.
26445         * modules/unigbrk/u8-grapheme-len: Delete file.
26446         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
26447         * lib/unigbrk.in.h: Remove prototype for deleted function.
26448         * lib/unigbrk/u8-grapheme-len.c: Delete file.
26449         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
26450
26451         Remove module 'u16-grapheme-len' as too redundant with
26452         'u16-grapheme-next'.
26453         * modules/unigbrk/u16-grapheme-len: Delete file.
26454         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
26455         * lib/unigbrk.in.h: Remove prototype for deleted function.
26456         * lib/unigbrk/u16-grapheme-len.c: Delete file.
26457         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
26458
26459         Remove module 'u32-grapheme-len' as too redundant with
26460         'u32-grapheme-next'.
26461         * modules/unigbrk/u32-grapheme-len: Delete file.
26462         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
26463         * lib/unigbrk.in.h: Remove prototype for deleted function.
26464         * lib/unigbrk/u32-grapheme-len.c: Delete file.
26465         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
26466
26467         Suggested by Bruno Haible.
26468
26469 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26470
26471         * unigbrk.in.h: Fix typo: "ben" => "been".
26472         Reported by Bruno Haible.
26473
26474 2011-01-01  Jim Meyering  <meyering@redhat.com>
26475
26476         maint: update almost all copyright ranges to include 2011
26477         Run the new "make update-copyright" rule.
26478
26479 2011-01-01  Jim Meyering  <meyering@redhat.com>
26480
26481         maint: update-copyright: exempt doc/INSTALL*
26482         * Makefile (update-copyright): Also exclude doc/INSTALL*,
26483         since they are generated.  Suggested by Bruno Haible.
26484
26485 2011-01-01  Jim Meyering  <meyering@redhat.com>
26486
26487         maint: refine the update-copyright rule
26488         * Makefile (update-copyright): Also exclude any file that includes
26489         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
26490         code that merely generates the comment.
26491
26492 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26493
26494         New module 'u8-grapheme-len'.
26495         * modules/unigbrk/u8-grapheme-len: New file.
26496         * modules/unigbrk/u8-grapheme-len-tests: New file.
26497         * lib/unigbrk.in.h: Add prototype for new function.
26498         * lib/unigbrk/u8-grapheme-len.c: New file.
26499         * tests/unigbrk/test-u8-grapheme-len.c: New file.
26500
26501         New module 'u16-grapheme-len'.
26502         * modules/unigbrk/u16-grapheme-len: New file.
26503         * modules/unigbrk/u16-grapheme-len-tests: New file.
26504         * lib/unigbrk.in.h: Add prototype for new function.
26505         * lib/unigbrk/u16-grapheme-len.c: New file.
26506         * tests/unigbrk/test-u16-grapheme-len.c: New file.
26507
26508         New module 'u32-grapheme-len'.
26509         * modules/unigbrk/u32-grapheme-len: New file.
26510         * modules/unigbrk/u32-grapheme-len-tests: New file.
26511         * lib/unigbrk.in.h: Add prototype for new function.
26512         * lib/unigbrk/u32-grapheme-len.c: New file.
26513         * tests/unigbrk/test-u32-grapheme-len.c: New file.
26514
26515         New module 'u8-grapheme-next'.
26516         * modules/unigbrk/u8-grapheme-next: New file.
26517         * modules/unigbrk/u8-grapheme-next-tests: New file.
26518         * lib/unigbrk.in.h: Add prototype for new function.
26519         * lib/unigbrk/u8-grapheme-next.c: New file.
26520         * tests/unigbrk/test-u8-grapheme-next.c: New file.
26521
26522         New module 'u16-grapheme-next'.
26523         * modules/unigbrk/u16-grapheme-next: New file.
26524         * modules/unigbrk/u16-grapheme-next-tests: New file.
26525         * lib/unigbrk.in.h: Add prototype for new function.
26526         * lib/unigbrk/u16-grapheme-next.c: New file.
26527         * tests/unigbrk/test-u16-grapheme-next.c: New file.
26528
26529         New module 'u32-grapheme-next'.
26530         * modules/unigbrk/u32-grapheme-next: New file.
26531         * modules/unigbrk/u32-grapheme-next-tests: New file.
26532         * lib/unigbrk.in.h: Add prototype for new function.
26533         * lib/unigbrk/u32-grapheme-next.c: New file.
26534         * tests/unigbrk/test-u32-grapheme-next.c: New file.
26535
26536         New module 'u8-grapheme-prev'.
26537         * modules/unigbrk/u8-grapheme-prev: New file.
26538         * modules/unigbrk/u8-grapheme-prev-tests: New file.
26539         * lib/unigbrk.in.h: Add prototype for new function.
26540         * lib/unigbrk/u8-grapheme-prev.c: New file.
26541         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
26542
26543         New module 'u16-grapheme-prev'.
26544         * modules/unigbrk/u16-grapheme-prev: New file.
26545         * modules/unigbrk/u16-grapheme-prev-tests: New file.
26546         * lib/unigbrk.in.h: Add prototype for new function.
26547         * lib/unigbrk/u16-grapheme-prev.c: New file.
26548         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
26549
26550         New module 'u32-grapheme-prev'.
26551         * modules/unigbrk/u32-grapheme-prev: New file.
26552         * modules/unigbrk/u32-grapheme-prev-tests: New file.
26553         * lib/unigbrk.in.h: Add prototype for new function.
26554         * lib/unigbrk/u32-grapheme-prev.c: New file.
26555         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
26556
26557         New module 'u8-grapheme-breaks'.
26558         * modules/unigbrk/u8-grapheme-breaks: New file.
26559         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
26560         * lib/unigbrk.in.h: Add prototype for new function.
26561         * lib/unigbrk/u8-grapheme-breaks.c: New file.
26562         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
26563
26564         New module 'u16-grapheme-breaks'.
26565         * modules/unigbrk/u16-grapheme-breaks: New file.
26566         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
26567         * lib/unigbrk.in.h: Add prototype for new function.
26568         * lib/unigbrk/u16-grapheme-breaks.c: New file.
26569         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
26570
26571         New module 'u32-grapheme-breaks'.
26572         * modules/unigbrk/u32-grapheme-breaks: New file.
26573         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
26574         * lib/unigbrk.in.h: Add prototype for new function.
26575         * lib/unigbrk/u32-grapheme-breaks.c: New file.
26576         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
26577
26578         New module 'ulc-grapheme-breaks'.
26579         * modules/unigbrk/ulc-grapheme-breaks: New file.
26580         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
26581         * m4/locale-ar.m4: New file.
26582         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
26583         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
26584         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
26585
26586 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26587
26588         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
26589         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
26590         modified how this file was generated before I initially submitted
26591         the module, but failed to regenerate it.  This meant that several
26592         of the level2 entries were wrong.
26593         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
26594         Remove the division-by-2 that is folded into the table now that
26595         gbrkprop.h has been regenerated properly.  Now -1 entries are
26596         handled correctly.
26597
26598         New module 'unigbrk/uc-gbrk-prop-tests'.
26599         * modules/unigbrk/uc-gbrk-prop-tests: New file.
26600         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
26601         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
26602         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
26603
26604 2011-01-01  Bruno Haible  <bruno@clisp.org>
26605
26606         Avoid use of hexadecimal escapes.
26607         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
26608         instead of hexadecimal escapes.
26609
26610 2011-01-01  Jim Meyering  <meyering@redhat.com>
26611
26612         maint: new rule to update copyright year ranges
26613         * Makefile (update-copyright): New rule.
26614
26615         maint: indent with TABs in Makefile
26616         * Makefile: Expand leading sequences of spaces to TABs
26617
26618         version-etc: update the copyright year it reports
26619         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
26620
26621 2010-12-31  Bruno Haible  <bruno@clisp.org>
26622
26623         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
26624         * lib/isfinite.c (zerof, zerod, zerol): New variables.
26625         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
26626         zero.
26627
26628 2010-12-31  Bruno Haible  <bruno@clisp.org>
26629
26630         pwrite: Work around HP-UX 11.11 bug.
26631         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
26632         works and set REPLACE_PWRITE if not.
26633         * lib/pwrite.c (pwrite): Add an implementation that uses the system
26634         function.
26635         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
26636
26637 2010-12-31  Bruno Haible  <bruno@clisp.org>
26638
26639         pread: Work around HP-UX 11 bugs.
26640         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
26641         and set REPLACE_PREAD if not.
26642         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
26643
26644 2010-12-31  Eric Blake  <eblake@redhat.com>
26645
26646         nl_langinfo: fix YESEXPR on Irix 6.5
26647         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
26648         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
26649         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
26650         it.
26651
26652 2010-12-31  Bruno Haible  <bruno@clisp.org>
26653
26654         iconv: Document HP-UX 11 bug.
26655         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
26656
26657 2010-12-31  Bruno Haible  <bruno@clisp.org>
26658
26659         ldexpl: Fix link error on HP-UX 11.
26660         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
26661         LDEXPL_LIBM, using $ISNANL_LIBM.
26662
26663 2010-12-31  Eric Blake  <eblake@redhat.com>
26664
26665         ftello: avoid compilation failure with SunStudio c89
26666         * lib/ftello.c (ftello): Use lseek, not llseek.
26667
26668         tests: avoid failing coreutils tests on cygwin
26669         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
26670         (create_exe_shims_): Return 0 when skipping.
26671
26672 2010-12-31  Bruno Haible  <bruno@clisp.org>
26673
26674         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
26675         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
26676
26677 2010-12-31  Bruno Haible  <bruno@clisp.org>
26678
26679         waitpid: Fix link error in C++ mode.
26680         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
26681
26682 2010-12-31  Bruno Haible  <bruno@clisp.org>
26683
26684         isnan: Use GCC built-ins when possible.
26685         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
26686         __builtin_isnan.
26687         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
26688         (isnan): Define using GCC built-ins for GCC >= 4.0.
26689
26690 2010-12-31  Bruno Haible  <bruno@clisp.org>
26691
26692         isnand: Fix mistake.
26693         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
26694         __builtin_isnand.
26695
26696 2010-12-31  Bruno Haible  <bruno@clisp.org>
26697
26698         open: Avoid C++ error on HP-UX 11.
26699         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
26700
26701 2010-12-31  Bruno Haible  <bruno@clisp.org>
26702
26703         time_r: Add missing declarations on HP-UX 11.
26704         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
26705         instead of HAVE_LOCALTIME_R.
26706         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
26707         HAVE_LOCALTIME_R always.
26708         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
26709         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
26710         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
26711         HAVE_LOCALTIME_R.
26712         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
26713         * doc/posix-functions/localtime_r.texi: Likewise.
26714
26715 2010-12-29  Eric Blake  <eblake@redhat.com>
26716
26717         mountlist: tweak previous commit
26718         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
26719         Reported by Paul Eggert.
26720
26721         mountlist: fix local drive detection on cygwin
26722         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
26723         that works for cygwin.
26724
26725 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26726
26727         ftoastr, snprintf: ftoastr + snprintf module
26728         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
26729         since the snprintf module now should be good enough here.
26730         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
26731         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
26732         and gl_MODULE_INDICATOR([snprintf]), but the former enables
26733         GNULIB_SNPRINTF only for the test directory, and the latter
26734         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
26735         seems to suffice by itself.
26736
26737 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
26738
26739         alloca: one step towards thread-safety
26740         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
26741         need for a static variable.  All callers changed.  This does not
26742         make the alloca replacement thread-safe, but it's one step.
26743
26744         tests: minor indenting change
26745         * tests/init.sh: Sync from coreutils housekeeping patch
26746         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
26747         to keep lines within 80 columns.
26748
26749 2010-12-28  Jim Meyering  <meyering@redhat.com>
26750
26751         regex: don't infloop on persistent failing calloc
26752         * lib/regexec.c (build_trtable): Return failure indication upon
26753         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
26754         In glibc, this was fixed for version 2.13:
26755         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
26756
26757 2010-12-28  Bruno Haible  <bruno@clisp.org>
26758             Paul Eggert <eggert@cs.ucla.edu>
26759
26760         linkat: Make implementation robust against system behaviour variations.
26761         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
26762         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
26763         way, and to -2 if it needs a generic runtime test.
26764         * lib/linkat.c (solaris_optimized_link_immediate,
26765         solaris_optimized_link_follow): New functions.
26766         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
26767         (check_same_link): Use it.
26768
26769 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
26770
26771         New module 'unigbrk/base'.
26772         * modules/unigbrk/base: New file.
26773         * lib/unigbrk.in.h: New file.
26774
26775         New module 'unigbrk/uc-gbrk-prop'.
26776         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
26777         * modules/unigbrk/uc-gbrk-prop: New file.
26778         * lib/unigbrk/gbrkprop.h: New file.
26779         * lib/unigbrk/uc-gbrk-prop.c: New file.
26780
26781         New module 'unigbrk/uc-is-grapheme-break'.
26782         * modules/unigbrk/uc-is-grapheme-break: New file.
26783         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
26784         * lib/unigbrk/uc-is-grapheme-break.c: New file.
26785         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
26786         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
26787         * tests/unigbrk/GraphemeBreakTest.txt: New file.
26788
26789         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
26790
26791 2010-12-27  Bruno Haible  <bruno@clisp.org>
26792
26793         linkat test: Avoid failure on Solaris 11 2010-11.
26794         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
26795
26796 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26797
26798         utimens: work around glibc rounding bug on more platforms
26799         * lib/utimens.c (fdutimens): Work around rounding bug even if
26800         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
26801         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
26802
26803 2010-12-27  Bruno Haible  <bruno@clisp.org>
26804
26805         select tests: Improve comments.
26806         * tests/test-select.c (do_select): Add comments.
26807
26808 2010-12-27  Bruno Haible  <bruno@clisp.org>
26809
26810         select tests: Safer way of handling timeout.
26811         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
26812         at every invocation.
26813
26814 2010-12-27  Bruno Haible  <bruno@clisp.org>
26815
26816         select tests: Use 'bool' where appropriate.
26817         * tests/test-select.c (connect_to_socket): Change argument type to
26818         'bool'.
26819
26820 2010-12-27  Bruno Haible  <bruno@clisp.org>
26821
26822         select tests: Use existing modules.
26823         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
26824         (configure.ac): Don't test for unistd.h.
26825         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
26826         declared in <unistd.h>.
26827
26828 2010-12-27  Bruno Haible  <bruno@clisp.org>
26829
26830         mbrtowc: Work around a Solaris 7 bug.
26831         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
26832         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
26833         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
26834         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
26835         MBRTOWC_NULL_ARG1_BUG.
26836         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
26837         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
26838         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
26839         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
26840
26841 2010-12-27  Jim Meyering  <meyering@redhat.com>
26842
26843         read-file.c: tweak syntax
26844         * lib/read-file.c (fread_file): Remove space after "*" in function
26845         definitions.
26846
26847 2010-12-27  Bruno Haible  <bruno@clisp.org>
26848
26849         times test: Avoid gcc warnings on OSF/1.
26850         * tests/test-times.c (main): Cast printf arguments from clock_t to
26851         'long int'.
26852
26853 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26854
26855         utimens: work around glibc rounding bug on older Linux kernels
26856         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
26857         on Linux with a glibc whose utimes might not work, then work
26858         around a longstanding glibc bug involving rounding rather than
26859         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
26860         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26861
26862 2010-12-26  Bruno Haible  <bruno@clisp.org>
26863
26864         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
26865         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
26866         _GL_CXXALIAS_SYS.
26867         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26868
26869 2010-12-26  Bruno Haible  <bruno@clisp.org>
26870
26871         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
26872         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
26873         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
26874         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
26875         looking for the declaration.
26876         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
26877         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
26878         problem.
26879         * doc/posix-functions/inet_pton.texi: Likewise.
26880
26881 2010-12-26  Bruno Haible  <bruno@clisp.org>
26882
26883         arpa_inet: Use the common idioms with C++ support.
26884         * lib/arpa_inet.in.h: Include c++defs.h.
26885         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
26886         support.
26887         * modules/arpa_inet (Depends-on): Add c++defs.
26888         (Makefile.am): Substitute the contents of c++defs.h.
26889         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
26890         * modules/arpa_inet-c++-tests: New file.
26891         * tests/test-arpa_inet-c++.cc: New file.
26892
26893 2010-12-25  Bruno Haible  <bruno@clisp.org>
26894
26895         Fix more C++ link errors on Solaris 8.
26896         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
26897         $(LIB_EACCESS).
26898         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
26899         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
26900         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
26901         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
26902         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
26903
26904 2010-12-25  Bruno Haible  <bruno@clisp.org>
26905
26906         printf-posix: Fix link error when a non-GCC compiler is used.
26907         * lib/stdio.in.h (printf): When not using GCC, override printf
26908         correctly.
26909         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26910
26911 2010-12-25  Bruno Haible  <bruno@clisp.org>
26912
26913         strerror_r-posix: Update doc.
26914         * doc/posix-functions/strerror_r.texi: Update doc about the return
26915         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
26916
26917 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26918
26919         utimens: simplify the logic of the previous change
26920         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
26921         This should not affect whether the test succeeds or fails.
26922
26923         utimens: configure better on hosts with NFS clock skew
26924         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
26925         uses the clock of the local host.  It might use the clock of the
26926         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
26927         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26928
26929 2010-12-25  Bruno Haible  <bruno@clisp.org>
26930
26931         ptsname test: Avoid failure on Solaris.
26932         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
26933         open a pseudo-terminal; don't use BSD-style ptys.
26934         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
26935
26936 2010-12-25  Bruno Haible  <bruno@clisp.org>
26937
26938         ptsname: Avoid ERANGE failure on some systems.
26939         * lib/ptsname.c (buffer): Increase size.
26940
26941 2010-12-25  Bruno Haible  <bruno@clisp.org>
26942
26943         rename, renameat: Avoid test failures at NFS mounted locations.
26944         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
26945         so that subsequent mkdir calls succeed.
26946
26947 2010-12-25  Bruno Haible  <bruno@clisp.org>
26948
26949         iswblank: Fix C++ link error on Solaris 8.
26950         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
26951         _GL_FUNCDECL_SYS.
26952
26953 2010-12-25  Bruno Haible  <bruno@clisp.org>
26954
26955         unistd: Fix C++ link error on Solaris 8.
26956         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
26957
26958 2010-12-25  Bruno Haible  <bruno@clisp.org>
26959
26960         readlink doc: Mention an old glibc bug.
26961         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
26962
26963 2010-12-25  Bruno Haible  <bruno@clisp.org>
26964
26965         fcntl-h: Fix for use of C++ on glibc systems.
26966         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26967         also on glibc systems in C++ mode.
26968         Reported by Gary V. Vaughan <gary@gnu.org>.
26969
26970 2010-12-25  Bruno Haible  <bruno@clisp.org>
26971
26972         roundl-ieee: Make it work on OSF/1 5.1 with cc.
26973         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
26974
26975 2010-12-25  Bruno Haible  <bruno@clisp.org>
26976
26977         truncl-ieee: Make it work on OSF/1 5.1 with cc.
26978         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
26979         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
26980         test whether truncl works according to ISO C 99 with IEC 60559.
26981         * m4/truncl-ieee.m4: New file.
26982         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
26983         m4/signbit.m4.
26984         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
26985
26986 2010-12-25  Bruno Haible  <bruno@clisp.org>
26987
26988         ceill-ieee: Make it work on OSF/1 5.1 with cc.
26989         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
26990         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
26991         test whether ceill works according to ISO C 99 with IEC 60559.
26992         * m4/ceill-ieee.m4: New file.
26993         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
26994         m4/signbit.m4.
26995         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
26996
26997 2010-12-25  Bruno Haible  <bruno@clisp.org>
26998
26999         Ensure all prerequisites of <wchar.h> are included.
27000         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
27001         before <wchar.h>.
27002         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
27003         gl_MBRLEN_NUL_RETVAL): Likewise.
27004         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27005         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
27006         AC_FUNC_MBRTOWC): Likewise.
27007         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27008         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
27009         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27010         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
27011         Likewise.
27012         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27013         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
27014         (gl_WCHAR_H): Improve comments.
27015         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
27016
27017 2010-12-25  Bruno Haible  <bruno@clisp.org>
27018
27019         strtok_r: Fix C syntax error in autoconf macro.
27020         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
27021         characters in test program.
27022
27023 2010-12-24  Bruno Haible  <bruno@clisp.org>
27024
27025         ceil, trunc, round: Fix gcc warnings.
27026         * lib/ceil.c (MIN): Undefine before redefining.
27027         * lib/trunc.c (MIN): Likewise.
27028         * lib/round.c (MIN): Likewise.
27029         Include <math.h> first.
27030
27031 2010-12-24  Bruno Haible  <bruno@clisp.org>
27032
27033         select tests: Avoid failures on OSF/1 5.1.
27034         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
27035         failure of closing the last socket; it may fail with ECONNRESET.
27036
27037 2010-12-24  Eric Blake  <eblake@redhat.com>
27038
27039         stdint: avoid HP-UX 10.20 preprocessor bug
27040         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
27041         than #if.
27042         * tests/test-floor2.c (main): Likewise.
27043         Reported by Peter O'Gorman.
27044
27045         pipe: make obsoletion transition easier
27046         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
27047         * modules/pipe (Files): Include revived file.
27048         (Include): Drop reference, to mirror getdate's behavior.
27049
27050 2010-12-24  Bruno Haible  <bruno@clisp.org>
27051
27052         sys_socket: Hide mismatch of declarations on NonStop Kernel.
27053         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
27054         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
27055         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27056
27057 2010-12-24  Bruno Haible  <bruno@clisp.org>
27058
27059         gethostname: Ensure declaration on NonStop Kernel.
27060         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
27061         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27062
27063 2010-12-24  Bruno Haible  <bruno@clisp.org>
27064
27065         sys_select: Ensure all necessary types on NonStop Kernel.
27066         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
27067         include <sys/time.h>.
27068         * doc/posix-headers/sys_select.texi: Mention that it's missing on
27069         NonStop Kernel.
27070         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27071
27072 2010-12-24  Bruno Haible  <bruno@clisp.org>
27073
27074         sys_select: Remove unneeded include.
27075         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
27076         have <sys/select.h>.
27077
27078 2010-12-24  Bruno Haible  <bruno@clisp.org>
27079
27080         gethostname: Provide a fallback for HOST_NAME_MAX.
27081         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
27082         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
27083         instead.
27084         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27085
27086 2010-12-24  Bruno Haible  <bruno@clisp.org>
27087
27088         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
27089         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
27090         (SA_RESTART): Likewise.
27091         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27092
27093 2010-12-24  Bruno Haible  <bruno@clisp.org>
27094
27095         signal: Define NSIG.
27096         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
27097         * tests/test-signal.c (nsig): New variable.
27098         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27099
27100 2010-12-24  Bruno Haible  <bruno@clisp.org>
27101
27102         rename, renameat: Avoid test failures on OSF/1 5.1.
27103         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
27104         alternative error codes.
27105         * tests/test-renameat.c (main): Likewise.
27106
27107 2010-12-24  Bruno Haible  <bruno@clisp.org>
27108
27109         *printf: Detect large precisions bug on Solaris 10/SPARC.
27110         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
27111         by Paul Eggert.
27112         * tests/test-snprintf-posix.h (test_function): Add this test code here
27113         too.
27114         * tests/test-sprintf-posix.h (test_function): Likewise.
27115         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27116         * tests/test-vasprintf-posix.c (test_function): Likewise.
27117         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
27118         around by gnulib.
27119         * doc/posix-functions/printf.texi: Likewise.
27120         * doc/posix-functions/snprintf.texi: Likewise.
27121         * doc/posix-functions/sprintf.texi: Likewise.
27122         * doc/posix-functions/vfprintf.texi: Likewise.
27123         * doc/posix-functions/vprintf.texi: Likewise.
27124         * doc/posix-functions/vsnprintf.texi: Likewise.
27125         * doc/posix-functions/vsprintf.texi: Likewise.
27126         * doc/posix-functions/dprintf.texi: Undo last commit.
27127         * doc/posix-functions/vdprintf.texi: Likewise.
27128
27129 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
27130
27131         tests: port test-fdutimensat.c to Solaris 8
27132         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
27133         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
27134         On Solaris 8, it fails with errno == ENOSYS, because there is no
27135         futimens (so it can't use the fd), and there is no lutimens (so it
27136         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
27137
27138         vsnprintf: make more consistent with snprintf; doc fixes
27139
27140         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
27141         the byte count return problem was promoted from the snprintf-posix
27142         to the snprintf module.
27143         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27144         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
27145         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
27146         * tests/test-snprintf.c (main): Check the byte count returned.
27147         * tests/test-vsnprintf.c (main): Likewise.
27148
27149 2010-12-23  Eric Blake  <eblake@redhat.com>
27150
27151         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
27152         * modules/sigpipe (License): Relax license.
27153
27154 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27155
27156         doc: document Solaris printf bug with large float precisions
27157         * doc/posix-functions/dprintf.texi (dprintf):
27158         * doc/posix-functions/fprintf.texi (fprintf):
27159         * doc/posix-functions/printf.texi (printf):
27160         * doc/posix-functions/snprintf.texi (snprintf):
27161         * doc/posix-functions/sprintf.texi (sprintf):
27162         * doc/posix-functions/vdprintf.texi (vdprintf):
27163         * doc/posix-functions/vfprintf.texi (vfprintf):
27164         * doc/posix-functions/vprintf.texi (vprintf):
27165         * doc/posix-functions/vsnprintf.texi (vsnprintf):
27166         * doc/posix-functions/vsprintf.texi (vsprintf):
27167         Mention that these functions mishandle large floating point
27168         precisions on Solaris 10.  The same bug is also present in Solaris
27169         8, and I assume earlier.  This causes "cd gnulib-tests; make
27170         check" to fail on Solaris 8 (and I assume, later) when building
27171         the latest coreutils, in test-vasprintf-posix's call to
27172         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
27173         the wide flavors (e.g., wprintf) so this patch just updates the
27174         documentation for the narrow ones.
27175
27176         test-posixtm.c: add two tests
27177         * tests/test-posixtm.c: Add two tests, to highlight the
27178         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
27179         around this bug; this is merely to document it.
27180
27181 2010-12-22  Bruno Haible  <bruno@clisp.org>
27182
27183         getlogin_r: Work around portability problem on OSF/1.
27184         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
27185         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
27186         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
27187         test for a truncated result.
27188         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
27189         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
27190         * modules/getlogin_r (Depends-on): Add memchr.
27191         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
27192
27193 2010-12-22  Bruno Haible  <bruno@clisp.org>
27194
27195         ptsname: Avoid test failure on OSF/1 5.1.
27196         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
27197         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
27198         (same_slave): New function.
27199         (main): Use it to compare ptsname's result with the expected file name.
27200
27201 2010-12-22  Bruno Haible  <bruno@clisp.org>
27202
27203         Port extended stdio modules to HP NonStop Kernel.
27204         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
27205         macros.
27206         * lib/fbufmode.c: Update comments.
27207         * lib/fflush.c: Likewise.
27208         * lib/fpurge.c: Likewise.
27209         * lib/freadable.c: Likewise.
27210         * lib/freadahead.c: Likewise.
27211         * lib/freading.c: Likewise.
27212         * lib/freadptr.c: Likewise.
27213         * lib/freadseek.c: Likewise.
27214         * lib/fseeko.c: Likewise.
27215         * lib/fseterr.c: Likewise.
27216         * lib/fwritable.c: Likewise.
27217         * lib/fwriting.c: Likewise.
27218         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27219
27220 2010-12-22  Bruno Haible  <bruno@clisp.org>
27221
27222         ttyname_r: Work around bug on OSF/1 5.1.
27223         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
27224         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
27225         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
27226         present.
27227         * lib/ttyname_r.c (ttyname_r): Update comments.
27228
27229 2010-12-22  Bruno Haible  <bruno@clisp.org>
27230
27231         round: Implement result sign according to IEEE 754.
27232         * lib/round.c (MIN, MINUS_ZERO): New macros.
27233         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
27234         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
27235         * tests/test-round-ieee.c (main): Likewise.
27236         * tests/test-roundl-ieee.c (main): Likewise.
27237
27238         trunc: Implement result sign according to IEEE 754.
27239         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
27240         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
27241         * tests/test-trunc2.c: Include minus-zero.h.
27242         (MINUS_ZERO): New macro.
27243         (trunc_reference): Keep in sync with lib/trunc.c.
27244         * tests/test-truncf2.c: Include minus-zero.h.
27245         (MINUS_ZERO): New macro.
27246         (truncf_reference): Keep in sync with lib/trunc.c.
27247         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
27248         * tests/test-trunc-ieee.c (main): Likewise.
27249         * tests/test-truncl-ieee.c (main): Likewise.
27250
27251         ceil: Implement result sign according to IEEE 754.
27252         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
27253         (FUNC): Return -0.0 for -1 < x < 0.
27254         * tests/test-ceil2.c: Include minus-zero.h.
27255         (MINUS_ZERO): New macro.
27256         (ceil_reference): Keep in sync with lib/ceil.c.
27257         * tests/test-ceilf2.c: Include minus-zero.h.
27258         (MINUS_ZERO): New macro.
27259         (ceilf_reference): Keep in sync with lib/ceil.c.
27260         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
27261         * tests/test-ceil-ieee.c (main): Likewise.
27262         * tests/test-ceill-ieee.c (main): Likewise.
27263
27264         floor: Implement result sign according to IEEE 754.
27265         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
27266         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
27267         * tests/test-floorf2.c (floorf_reference): Likewise.
27268         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
27269         * tests/test-floor-ieee.c (main): Likewise.
27270         * tests/test-floorl-ieee.c (main): Likewise.
27271
27272 2010-12-22  Bruno Haible  <bruno@clisp.org>
27273
27274         getaddrinfo: Update doc.
27275         * doc/posix-functions/gai_strerror.texi: Return type is also different
27276         on AIX and HP-UX.
27277
27278 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27279
27280         getaddrinfo, inet_ntop: Update doc for Solaris.
27281         * doc/posix-functions/gai_strerror.texi: Return type is also an
27282         issue on Solaris 9 and earlier.
27283         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
27284         on Solaris 10 and earlier.
27285
27286 2010-12-21  Bruno Haible  <bruno@clisp.org>
27287
27288         New module 'roundl-ieee'.
27289         * modules/roundl-ieee: New file.
27290         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
27291         test whether roundl works according to ISO C 99 with IEC 60559.
27292         * m4/roundl-ieee.m4: New file.
27293         * modules/roundl-ieee-tests: New file.
27294         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
27295         * tests/test-roundl.c (main): Remove signbit tests.
27296         * modules/roundl-tests (Depends-on): Remove signbit.
27297         * doc/posix-functions/roundl.texi: Mention the new module.
27298
27299 2010-12-21  Bruno Haible  <bruno@clisp.org>
27300
27301         New module 'truncl-ieee'.
27302         * modules/truncl-ieee: New file.
27303         * modules/truncl-ieee-tests: New file.
27304         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
27305         * tests/test-truncl.c (main): Remove signbit tests.
27306         * modules/truncl-tests (Depends-on): Remove signbit.
27307         * doc/posix-functions/truncl.texi: Mention the new module.
27308
27309 2010-12-21  Bruno Haible  <bruno@clisp.org>
27310
27311         New module 'ceill-ieee'.
27312         * modules/ceill-ieee: New file.
27313         * modules/ceill-ieee-tests: New file.
27314         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
27315         * tests/test-ceill.c (main): Remove signbit tests.
27316         * modules/ceill-tests (Depends-on): Remove signbit.
27317         * doc/posix-functions/ceill.texi: Mention the new module.
27318
27319 2010-12-21  Bruno Haible  <bruno@clisp.org>
27320
27321         New module 'floorl-ieee'.
27322         * modules/floorl-ieee: New file.
27323         * modules/floorl-ieee-tests: New file.
27324         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
27325         * tests/test-floorl.c (main): Remove signbit tests.
27326         * modules/floorl-tests (Depends-on): Remove signbit.
27327         * doc/posix-functions/floorl.texi: Mention the new module.
27328
27329 2010-12-21  Bruno Haible  <bruno@clisp.org>
27330
27331         New module 'round-ieee'.
27332         * modules/round-ieee: New file.
27333         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
27334         whether round works according to ISO C 99 with IEC 60559.
27335         * m4/round-ieee.m4: New file.
27336         * modules/round-ieee-tests: New file.
27337         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
27338         * tests/test-round1.c (main): Remove signbit tests.
27339         * modules/round-tests (Depends-on): Remove 'signbit'.
27340         * doc/posix-functions/round.texi: Mention the new module.
27341
27342 2010-12-21  Bruno Haible  <bruno@clisp.org>
27343
27344         New module 'trunc-ieee'.
27345         * modules/trunc-ieee: New file.
27346         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
27347         whether trunc works according to ISO C 99 with IEC 60559.
27348         * m4/trunc-ieee.m4: New file.
27349         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
27350         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
27351         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
27352         * modules/trunc-ieee-tests: New file.
27353         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
27354         * tests/test-trunc1.c (main): Remove signbit tests.
27355         * modules/trunc-tests (Depends-on): Remove 'signbit'.
27356         * doc/posix-functions/trunc.texi: Mention the new module.
27357
27358 2010-12-21  Bruno Haible  <bruno@clisp.org>
27359
27360         New module 'ceil-ieee'.
27361         * modules/ceil-ieee: New file.
27362         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
27363         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
27364         ISO C 99 with IEC 60559.
27365         * m4/ceil-ieee.m4: New file.
27366         * modules/ceil (Files): Add lib/ceil.c.
27367         (Depends-on): Add 'float'.
27368         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27369         * lib/math.in.h (ceil): New declaration.
27370         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
27371         REPLACE_CEIL.
27372         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
27373         * modules/ceil-ieee-tests: New file.
27374         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
27375         * tests/test-math-c++.cc: Check the signature of 'ceil'.
27376         * doc/posix-functions/ceil.texi: Mention the new module.
27377
27378 2010-12-21  Bruno Haible  <bruno@clisp.org>
27379
27380         New module 'floor-ieee'.
27381         * modules/floor-ieee: New file.
27382         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
27383         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
27384         ISO C 99 with IEC 60559.
27385         * m4/floor-ieee.m4: New file.
27386         * modules/floor (Files): Add lib/floor.c.
27387         (Depends-on): Add 'float'.
27388         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27389         * lib/math.in.h (floor): New declaration.
27390         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
27391         REPLACE_FLOOR.
27392         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
27393         * modules/floor-ieee-tests: New file.
27394         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
27395         * tests/test-math-c++.cc: Check the signature of 'floor'.
27396         * doc/posix-functions/floor.texi: Mention the new module.
27397
27398 2010-12-21  Bruno Haible  <bruno@clisp.org>
27399
27400         New module 'roundf-ieee'.
27401         * modules/roundf-ieee: New file.
27402         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
27403         test whether roundf works according to ISO C 99 with IEC 60559.
27404         * m4/roundf-ieee.m4: New file.
27405         * modules/roundf-ieee-tests: New file.
27406         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
27407         * tests/test-roundf1.c (main): Remove signbit tests.
27408         * modules/roundf-tests (Depends-on): Remove 'signbit'.
27409         * doc/posix-functions/roundf.texi: Mention the new module.
27410
27411 2010-12-21  Bruno Haible  <bruno@clisp.org>
27412
27413         New module 'truncf-ieee'.
27414         * modules/truncf-ieee: New file.
27415         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
27416         test whether truncf works according to ISO C 99 with IEC 60559.
27417         * m4/truncf-ieee.m4: New file.
27418         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
27419         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
27420         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
27421         * modules/truncf-ieee-tests: New file.
27422         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
27423         * tests/test-truncf1.c (main): Remove signbit tests.
27424         * modules/truncf-tests (Depends-on): Remove 'signbit'.
27425         * doc/posix-functions/truncf.texi: Mention the new module.
27426
27427 2010-12-21  Bruno Haible  <bruno@clisp.org>
27428
27429         New module 'ceilf-ieee'.
27430         * modules/ceilf-ieee: New file.
27431         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
27432         test whether ceilf works according to ISO C 99 with IEC 60559.
27433         * m4/ceilf-ieee.m4: New file.
27434         * modules/ceilf-ieee-tests: New file.
27435         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
27436         * tests/test-ceilf1.c (main): Remove signbit tests.
27437         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
27438         * doc/posix-functions/ceilf.texi: Mention the new module.
27439
27440 2010-12-21  Bruno Haible  <bruno@clisp.org>
27441
27442         New module 'floorf-ieee'.
27443         * modules/floorf-ieee: New file.
27444         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
27445         test whether floorf works according to ISO C 99 with IEC 60559.
27446         * m4/floorf-ieee.m4: New file.
27447         * modules/floorf-ieee-tests: New file.
27448         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
27449         * tests/test-floorf1.c (main): Remove signbit tests.
27450         * modules/floorf-tests (Depends-on): Remove 'signbit'.
27451         * doc/posix-functions/floorf.texi: Mention the new module.
27452
27453 2010-12-21  Bruno Haible  <bruno@clisp.org>
27454
27455         Support for minus zero in autoconf macros.
27456         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
27457         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
27458         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
27459         * tests/minus-zero.h: Update comments.
27460
27461 2010-12-21  Bruno Haible  <bruno@clisp.org>
27462
27463         Tests for module 'ceil'.
27464         * modules/ceil-tests: New file.
27465         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
27466         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
27467
27468 2010-12-21  Bruno Haible  <bruno@clisp.org>
27469
27470         Tests for module 'floor'.
27471         * modules/floor-tests: New file.
27472         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
27473         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
27474
27475 2010-12-21  Bruno Haible  <bruno@clisp.org>
27476
27477         math: Fix indentation.
27478         * lib/math.in.h (floorf): Fix indentation.
27479
27480 2010-12-21  Bruno Haible  <bruno@clisp.org>
27481
27482         Fix cross-compilation guesses on Solaris.
27483         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
27484         not match "solaris2.10".
27485         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27486         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
27487         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
27488
27489 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
27490
27491         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
27492         This fixes a problem observed with the latest coreutils snapshot
27493         that caused a test to fail on Solaris 8.  src/csplit.c's call
27494         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
27495         earlier, instead of returning the number of bytes that would have
27496         been generated; this causes csplit to incorrectly report memory
27497         exhaustion.
27498         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
27499         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
27500         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
27501         comments to match.
27502         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
27503         Fix typo in matching older versions of Solaris: "solaris2.10"
27504         is matched by the shell pattern "solaris2.[0-9]*".  This matters
27505         only for guessing while cross-compiling.
27506         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
27507
27508 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
27509
27510         ftoastr: fix comment again
27511         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27512         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
27513         Also, simplify example a bit by using flags = 0.
27514
27515 2010-12-20  Bruno Haible  <bruno@clisp.org>
27516
27517         round*, trunc*: Update documentation regarding glibc.
27518         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
27519         * doc/posix-functions/round.texi: Likewise.
27520         * doc/posix-functions/roundl.texi: Likewise.
27521         * doc/posix-functions/truncf.texi: Likewise.
27522         * doc/posix-functions/trunc.texi: Likewise.
27523         * doc/posix-functions/truncl.texi: Likewise.
27524
27525 2010-12-20  Bruno Haible  <bruno@clisp.org>
27526
27527         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
27528         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
27529         * doc/posix-functions/round.texi: Likewise.
27530         * doc/posix-functions/roundl.texi: Likewise.
27531
27532 2010-12-20  Bruno Haible  <bruno@clisp.org>
27533
27534         ttyname_r: Add missing declaration on HP-UX 11.
27535         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
27536         HAVE_TTYNAME_R.
27537         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
27538         declared. Set HAVE_TTYNAME_R always.
27539         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27540         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
27541         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
27542         HAVE_TTYNAME_R.
27543         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
27544
27545 2010-12-20  Bruno Haible  <bruno@clisp.org>
27546
27547         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
27548         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
27549         * doc/posix-functions/getlogin_r.texi: Likewise.
27550         * tests/test-getlogin.c: Include <errno.h>.
27551         (main): Avoid test failure on HP-UX 11.11.
27552         * tests/test-getlogin_r.c (main): Likewise.
27553
27554 2010-12-20  Bruno Haible  <bruno@clisp.org>
27555
27556         getlogin_r: Add missing declaration on HP-UX 11.
27557         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
27558         declared also when it exists as a function.
27559         * doc/posix-functions/getlogin_r.texi: Document this workaround.
27560
27561 2010-12-20  Bruno Haible  <bruno@clisp.org>
27562
27563         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
27564         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
27565         through wcrtomb.
27566
27567 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
27568
27569         ftoastr: fix comment
27570         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27571         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
27572
27573 2010-12-19  Bruno Haible  <bruno@clisp.org>
27574
27575         isnan: Ensure it is a macro.
27576         * lib/math.in.h (isnan): Define as a macro if not already a macro.
27577         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
27578         Solaris.
27579
27580 2010-12-19  Bruno Haible  <bruno@clisp.org>
27581
27582         ldexpl test: Fix link error on OSF/1 5.1.
27583         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
27584
27585 2010-12-19  Bruno Haible  <bruno@clisp.org>
27586
27587         wctype: Make it work in C++ mode on OSF/1 5.1.
27588         * lib/wctype.in.h (iswblank): Declare but not define here.
27589         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
27590         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
27591         * modules/wctype (Files): Add lib/iswblank.c.
27592
27593 2010-12-19  Bruno Haible  <bruno@clisp.org>
27594
27595         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
27596         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
27597         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
27598
27599 2010-12-19  Bruno Haible  <bruno@clisp.org>
27600
27601         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
27602         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
27603         _POSIX_PII_SOCKET.
27604         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
27605         * doc/posix-functions/recvfrom.texi: Likewise.
27606         * doc/posix-functions/send.texi: Likewise.
27607         * doc/posix-functions/sendto.texi: Likewise.
27608
27609 2010-12-19  Bruno Haible  <bruno@clisp.org>
27610
27611         tcgetsid: Add missing declaration on OSF/1 5.1.
27612         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
27613         HAVE_TCGETSID.
27614         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
27615         Don't set HAVE_TCGETSID.
27616         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
27617         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
27618         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
27619         HAVE_TCGETSID.
27620         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
27621
27622 2010-12-19  Bruno Haible  <bruno@clisp.org>
27623
27624         stdio: Fix problem with popen() declaration on OSF/1 5.1.
27625         * lib/stdio.in.h: During the include_next statement, let recursive
27626         includes of this file include only the system header file.
27627
27628 2010-12-19  Bruno Haible  <bruno@clisp.org>
27629
27630         iconv_open: Fix regression from 2010-12-04.
27631         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
27632         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
27633
27634 2010-12-19  Bruno Haible  <bruno@clisp.org>
27635
27636         stdbool test: Avoid a gcc warning.
27637         * tests/test-stdbool.c (main): Fail if e1 is false.
27638         Reported by Jim Meyering.
27639
27640 2010-12-19  Jim Meyering  <meyering@redhat.com>
27641
27642         setenv: restore to working order
27643         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
27644         mistakenly removed.
27645         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
27646         HAVE_SETENV.
27647         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
27648         HAVE_SETENV.
27649
27650 2010-12-19  Bruno Haible  <bruno@clisp.org>
27651
27652         Document some different function declarations on OSF/1 5.1.
27653         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
27654         * doc/posix-functions/inet_ntop.texi: Likewise.
27655         * doc/posix-functions/gethostname.texi: Likewise.
27656         * lib/unistd.in.h (gethostname): Update comment.
27657
27658 2010-12-19  Bruno Haible  <bruno@clisp.org>
27659
27660         doc: Mention vasprintf-posix module.
27661         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
27662         the 'vasprintf-posix' module.
27663         * doc/glibc-functions/vasprintf.texi: Likewise.
27664
27665 2010-12-19  Bruno Haible  <bruno@clisp.org>
27666
27667         unsetenv: Add missing declaration on OSF/1 5.1.
27668         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
27669         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
27670         Don't set HAVE_UNSETENV. In the test program, set _BSD.
27671         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
27672         not HAVE_UNSETENV.
27673         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
27674         HAVE_UNSETENV.
27675         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
27676
27677 2010-12-19  Bruno Haible  <bruno@clisp.org>
27678
27679         setenv: Add missing declaration on OSF/1 5.1.
27680         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
27681         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
27682         declared. Don't set HAVE_SETENV.
27683         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
27684         not HAVE_SETENV.
27685         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
27686         HAVE_SETENV.
27687         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
27688
27689 2010-12-19  Bruno Haible  <bruno@clisp.org>
27690
27691         nl_langinfo tests: Avoid gcc warning.
27692         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
27693
27694 2010-12-19  Bruno Haible  <bruno@clisp.org>
27695
27696         mknod: Avoid error in C++ mode on OSF/1 with GCC.
27697         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
27698         _GL_CXXALIAS_SYS.
27699
27700 2010-12-19  Bruno Haible  <bruno@clisp.org>
27701
27702         stdbool: Relax test.
27703         * tests/test-stdbool.c (e): Don't require that casts from a variable's
27704         address to 'bool' work in static initializer, for compilers other than
27705         GCC.
27706
27707 2010-12-19  Bruno Haible  <bruno@clisp.org>
27708
27709         ftello: Add missing declaration on OSF/1 5.1.
27710         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
27711         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
27712         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
27713         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
27714         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
27715
27716 2010-12-19  Bruno Haible  <bruno@clisp.org>
27717
27718         fseeko: Add missing declaration on OSF/1 5.1.
27719         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
27720         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
27721         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
27722         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
27723         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
27724
27725 2010-12-19  Bruno Haible  <bruno@clisp.org>
27726
27727         fchdir: Add missing declaration on OSF/1 5.1.
27728         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
27729         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
27730         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
27731         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
27732         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
27733
27734 2010-12-19  Bruno Haible  <bruno@clisp.org>
27735
27736         relocatable-prog-wrapper: Separate from relocatable-prog.
27737         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
27738         uninstall-relocwrapper rule here.
27739         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
27740         Reported by Ian Beckwith <ianb@erislabs.net>.
27741
27742 2010-12-19  Bruno Haible  <bruno@clisp.org>
27743
27744         unistr/u8-mbsnlen: Add missing dependency.
27745         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
27746         Reported by Ian Beckwith <ianb@erislabs.net>.
27747
27748 2010-12-19  Bruno Haible  <bruno@clisp.org>
27749
27750         iconv: Make it possible again to use this module without 'iconv-h'.
27751         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
27752         if it is not defined.
27753         Reported by Ian Beckwith <ianb@erislabs.net>.
27754
27755 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27756
27757         acl: port to Solaris 8 when copying from tmpfs to ufs
27758         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
27759         error number.  Problem observed on Solaris 8 with latest
27760         coreutils, with "mv A B", where A is on a tmpfs file system and B
27761         is on a ufs file system.  This caused coreutils' mv/part-symlink
27762         test to fail.
27763
27764         tests: set fail=0 at start
27765         * tests/init.sh (setup_): Move fail=0 initialization here ...
27766         (mktempd_): ... from here, so that tests can rely on fail being
27767         set to 0 initially.  This fixes a problem in coreutils; see:
27768         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
27769
27770 2010-12-18  Bruno Haible  <bruno@clisp.org>
27771
27772         memmem-simple: Stylistic changes.
27773         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
27774         Fix preprocessor directive indentation.
27775
27776 2010-12-15  Pádraig Brady <P@draigBrady.com>
27777
27778         memmem, memmem-simple: reorganize and expand empty needle check
27779         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
27780         functional checks to memmem-simple so that one has a fully functional
27781         memmem by using just this module.
27782         Restrict the performance only check to the memmem module.
27783         Also expand the empty needle check to ensure the correct
27784         pointer is returned, not just a non NULL pointer.
27785         * doc/glibc-functions/memmem.texi: Rearrange the portability
27786         documentation to correlate with the rearranged checks.
27787         Clarify exactly how the memmem and memmem-simple modules
27788         relate to each other.
27789
27790 2010-12-15  Pádraig Brady <P@draigBrady.com>
27791             Bruno Haible  <bruno@clisp.org>
27792
27793         Improve cross-compilation guesses for uClibc.
27794         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
27795         that uClibc does not have the glibc bug.
27796         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
27797         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
27798
27799 2010-12-14  Eric Blake  <eblake@redhat.com>
27800
27801         configmake: provide fallbacks for oldest supported autotools
27802         * m4/configmake.m4: New file.
27803         * modules/configmake (Files): Ship it.
27804         (configure.ac): Use it to guarantee fallbacks.
27805
27806 2010-12-13  Pádraig Brady <P@draigBrady.com>
27807
27808         read-file: Improve handling of large files
27809         * lib/read-file.c (fread_file): Minimize realloc()s
27810         for regular files, and better manage sizes around SIZE_MAX.
27811
27812 2010-12-13  Eric Blake  <eblake@redhat.com>
27813
27814         cloexec, fcntl: relax license
27815         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
27816         consent from all contributors.
27817         * modules/fcntl (License): Likewise.
27818
27819 2010-12-10  Bruno Haible  <bruno@clisp.org>
27820
27821         Tests for module 'pipe-posix'.
27822         * modules/pipe-posix-tests: New file.
27823         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
27824
27825 2010-12-10  Bruno Haible  <bruno@clisp.org>
27826
27827         pipe-posix: Make it work in C++ mode.
27828         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
27829         (pipe): Use common idiom, not a macro definition.
27830         * lib/pipe.c: New file.
27831         * m4/pipe.m4: New file.
27832         * modules/pipe-posix (Description): Enhance.
27833         (Files): Add lib/pipe.c, m4/pipe.m4.
27834         (configure.ac): Invoke gl_FUNC_PIPE.
27835         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
27836         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
27837         * tests/test-unistd-c++.cc: Check the signature of pipe.
27838
27839 2010-12-10  Bruno Haible  <bruno@clisp.org>
27840
27841         Rename module 'pipe' to 'spawn-pipe'.
27842         * modules/spawn-pipe: New file, renamed from modules/pipe.
27843         (Files, configure.ac, Makefile.am): Update.
27844         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
27845         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
27846         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
27847         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
27848         "spawn-pipe.h" instead of "pipe.h".
27849         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
27850         to gl_SPAWN_PIPE.
27851         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
27852         (Files, Makefile.am): Update.
27853         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
27854         Update.
27855         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
27856         Include "spawn-pipe.h" instead of "pipe.h".
27857         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
27858         * lib/javacomp.c: Likewise.
27859         * lib/javaversion.c: Likewise.
27860         * lib/pipe-filter-gi.c: Likewise.
27861         * lib/pipe-filter-ii.c: Likewise.
27862         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
27863         * modules/javacomp (Depends-on): Likewise.
27864         * modules/javaversion (Depends-on): Likewise.
27865         * modules/pipe-filter-gi (Depends-on): Likewise.
27866         * modules/pipe-filter-ii (Depends-on): Likewise.
27867         * MODULES.html.sh (Executing programs): Update.
27868         * NEWS: Mention the change.
27869
27870 2010-12-10  Eric Blake  <eblake@redhat.com>
27871
27872         pipe-posix: new module
27873         * modules/pipe-posix: New file.
27874         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
27875         (gl_UNISTD_H): Check for declaration.
27876         * modules/unistd (Makefile.am): Substitute it.
27877         * lib/unistd.in.h (pipe): Provide it for mingw.
27878         * doc/posix-functions/pipe.texi (pipe): Update documentation.
27879         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
27880
27881 2010-12-07  Bruno Haible  <bruno@clisp.org>
27882
27883         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
27884         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
27885         u8_strcmp_gnu.
27886         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
27887
27888 2010-12-06  Bruno Haible  <bruno@clisp.org>
27889
27890         Update internal documentation.
27891         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
27892
27893 2010-12-04  Bruno Haible  <bruno@clisp.org>
27894
27895         Put more information about failed tests into the test return codes.
27896         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
27897         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
27898         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
27899         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
27900         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
27901         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27902         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27903         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27904         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
27905         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27906         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
27907         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
27908         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
27909         * m4/stdint.m4 (gl_STDINT_H): Likewise.
27910         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
27911         returns a bit mask.
27912         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
27913         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
27914         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
27915         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
27916         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
27917         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27918         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27919         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27920         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27921         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27922         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27923         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27924         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27925         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27926         * m4/link.m4 (gl_FUNC_LINK): Likewise.
27927         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
27928         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
27929         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
27930         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27931         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
27932         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27933         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
27934         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
27935         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
27936         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27937         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
27938         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
27939         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27940         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27941         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
27942         gl_PRINTF_PRECISION): Likewise.
27943         * m4/regex.m4 (gl_REGEX): Likewise.
27944         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
27945         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
27946         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
27947         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
27948         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27949         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27950         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
27951         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
27952         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27953         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27954         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
27955         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
27956         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27957         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
27958         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
27959         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27960         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
27961         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27962         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27963         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
27964         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
27965         enumerated value.
27966         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
27967
27968 2010-12-04  Bruno Haible  <bruno@clisp.org>
27969
27970         Update for Solaris 11 2010-11.
27971         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
27972         Express, released in November 2010.
27973
27974 2010-12-04  Bruno Haible  <bruno@clisp.org>
27975
27976         nproc: Relax license.
27977         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
27978         and Paul Eggert.
27979         Requested by Ludovic Courtès <ludo@gnu.org>.
27980
27981 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
27982
27983         utimecmp: fine-grained src to nearby coarse-grained dest
27984
27985         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
27986         and the source is on a file system with higher-resolution time
27987         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
27988         not work, and the time stamps are close together, the algorithm to
27989         determine the exact resolution from the read-back mtime was buggy:
27990         it had a "!=" where it should have had an "==".  This bug has been
27991         in the code ever since it was introduced to gnulib.
27992         Problem reported by Dan Jacobson in
27993         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
27994
27995 2010-11-30  Bruno Haible  <bruno@clisp.org>
27996
27997         strerror_r-posix: Fix autoconf test.
27998         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
27999
28000 2010-11-28  Bruno Haible  <bruno@clisp.org>
28001             Paul Eggert  <eggert@cs.ucla.edu>
28002
28003         Tests for module 'getdomainname'.
28004         * modules/getdomainname-tests: New file.
28005         * tests/test-getdomainname.c: New file, based on
28006         tests/test-gethostname.c.
28007
28008 2010-11-28  Bruno Haible  <bruno@clisp.org>
28009             Paul Eggert  <eggert@cs.ucla.edu>
28010
28011         getdomainname: Use the system function when possible.
28012         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
28013         (getdomainname): Replace if needed. Provide the declaration if it is
28014         missing. Don't use _GL_CXXALIAS_SYS_CAST.
28015         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
28016         (getdomainname): When the system has getdomainname, call the system
28017         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
28018         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
28019         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
28020         found in libnsl. Look for the declaration also in <netdb.h>. Replace
28021         the function if its second argument is of type 'int' or if it is found
28022         in libnsl.
28023         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
28024         <sys/systeminfo.h> and sysinfo().
28025         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
28026         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28027         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
28028         HAVE_GETDOMAINNAME.
28029         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
28030         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
28031         * doc/glibc-functions/getdomainname.texi: Document the problems with
28032         the getdomainname declaration.
28033
28034 2010-11-28  Bruno Haible  <bruno@clisp.org>
28035
28036         sys_socket: Ensure ss_family field on AIX.
28037         * lib/sys_socket.in.h (ss_family): New macro definition.
28038         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
28039         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
28040         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
28041         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28042         * modules/sys_socket (Makefile.am): Substitute
28043         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28044         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
28045
28046 2010-11-27  Bruno Haible  <bruno@clisp.org>
28047
28048         readline: Improve configure output.
28049         * m4/readline.m4 (gl_FUNC_READLINE): Make the
28050         "checking for readline..." result understandable.
28051
28052 2010-11-27  Bruno Haible  <bruno@clisp.org>
28053
28054         *printf-posix: Detect a bug on Solaris 10/x86.
28055         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
28056         for floating-point output.
28057         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
28058         directive.
28059         * tests/test-snprintf-posix.h (test_function): Likewise.
28060         * tests/test-sprintf-posix.h (test_function): Likewise.
28061         * tests/test-vasprintf-posix.c (test_function): Likewise.
28062         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
28063         * doc/posix-functions/printf.texi: Likewise.
28064         * doc/posix-functions/snprintf.texi: Likewise.
28065         * doc/posix-functions/sprintf.texi: Likewise.
28066         * doc/posix-functions/vfprintf.texi: Likewise.
28067         * doc/posix-functions/vprintf.texi: Likewise.
28068         * doc/posix-functions/vsnprintf.texi: Likewise.
28069         * doc/posix-functions/vsprintf.texi: Likewise.
28070         * doc/glibc-functions/obstack_printf.texi: Likewise.
28071         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28072
28073 2010-11-27  Bruno Haible  <bruno@clisp.org>
28074
28075         Fix link error when module libunistring-optional is in use.
28076         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
28077         * modules/striconveha-tests (Makefile.am): Likewise.
28078
28079 2010-11-27  Bruno Haible  <bruno@clisp.org>
28080
28081         regex: Mention link dependencies.
28082         * modules/regex (Link): New section.
28083         * modules/rpmatch (Link): Likewise.
28084         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
28085
28086 2010-11-27  Bruno Haible  <bruno@clisp.org>
28087
28088         ftoastr: Fix compilation error on Solaris.
28089         * lib/ftoastr.c: Include <config.h>.
28090
28091 2010-11-27  Bruno Haible  <bruno@clisp.org>
28092
28093         getloadavg: Update documentation.
28094         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
28095
28096 2010-11-27  Bruno Haible  <bruno@clisp.org>
28097
28098         sys_socket: Fix test whether the functions are declared.
28099         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
28100         not <sys/select.h>.
28101
28102 2010-11-27  Bruno Haible  <bruno@clisp.org>
28103
28104         getpass: Make sure to get system declaration on some platforms.
28105         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
28106         gl_USE_SYSTEM_EXTENSIONS.
28107         * modules/getpass (Depends-on): Add extensions.
28108
28109 2010-11-26  Bruno Haible  <bruno@clisp.org>
28110
28111         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
28112         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
28113         'iconv' module is present.
28114         (ICONV_CONST): New macro.
28115         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
28116         ICONV_CONST.
28117         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
28118         set ICONV_CONST.
28119         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
28120         here.
28121         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
28122         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
28123         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
28124         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
28125         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
28126         present.
28127
28128 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
28129
28130         ftoastr: comment fix
28131         * lib/ftoastr.c: "little" -> "little or no" in comment
28132
28133 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
28134
28135         stdint: port to GCC 4.3 + OSX + Octave
28136         On this platform, stdint.h is buggy and defines int64_t to long
28137         long int.  The replacement defined it to long int, causing
28138         problems with C++ style name mangling.  Instead, trust the system
28139         definition if INT64_MAX is defined, and likewise for the unsigned
28140         variant.   Problem reported by Jarno Rajahalme in
28141         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
28142         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
28143         and don't mess with int64_t and INT64_MAX in this case.
28144         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
28145
28146 2010-11-24  Bruno Haible  <bruno@clisp.org>
28147
28148         doc: Corrections regarding MacOS X 10.4 and 10.5.
28149         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
28150         MacOS X.
28151         Reported by Simon Josefsson.
28152
28153 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
28154
28155         Uninstall ".bin" files installed by relocwrapper.
28156         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
28157         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
28158         unless it is already there.
28159
28160 2010-11-21  Bruno Haible  <bruno@clisp.org>
28161
28162         Update for NetBSD 5.0.
28163         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28164         NetBSD; the test fails on NetBSD 5.0.
28165         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28166         about NetBSD.
28167
28168 2010-11-21  Bruno Haible  <bruno@clisp.org>
28169
28170         Update for HP-UX 11.23 and HP-UX 11.31.
28171         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
28172         HP-UX.
28173
28174 2010-11-21  Bruno Haible  <bruno@clisp.org>
28175
28176         Update for MacOS X 10.5.
28177         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28178         MacOS X; the test fails on MacOS X 10.5.8.
28179         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28180         about MacOS X.
28181
28182 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
28183
28184         bootstrap: add bootstrap_sync option.
28185         See discussion at
28186         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
28187         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
28188         * build-aux/bootstrap: Accept --bootstrap-sync to update
28189         bootstrap if it is not identical to the local gnulib's
28190         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
28191         enable this by default.  Accept --no-bootstrap-sync to disable
28192         it.
28193
28194 2010-11-20  Bruno Haible  <bruno@clisp.org>
28195
28196         Ensure that <features.h> is included before __GLIBC__ is tested.
28197         * lib/printf-parse.h: Include <features.h>.
28198         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
28199         Reported by Mike Frysinger <vapier@gentoo.org>.
28200
28201         Ensure that <features.h> is included before __GLIBC__ is tested.
28202         * lib/wchar.in.h: Include <features.h>.
28203         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
28204         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
28205         Reported by Mike Frysinger <vapier@gentoo.org>.
28206
28207         Ensure that <features.h> is included before __GLIBC__ is tested.
28208         * lib/arpa_inet.in.h: Include <features.h>.
28209         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
28210         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
28211         Reported by Mike Frysinger <vapier@gentoo.org>.
28212
28213         Ensure that <features.h> is included before __GLIBC__ is tested.
28214         * build-aux/link-warning.h: Include <features.h>.
28215         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
28216         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
28217         Reported by Mike Frysinger <vapier@gentoo.org>.
28218
28219         Ensure that <features.h> is included before __GLIBC__ is tested.
28220         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
28221         Reported by Mike Frysinger <vapier@gentoo.org>.
28222
28223 2010-11-20  Bruno Haible  <bruno@clisp.org>
28224
28225         memmem: Fix autoconf test.
28226         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
28227
28228 2010-11-20  Bruno Haible  <bruno@clisp.org>
28229
28230         Port to uClibc.
28231         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
28232         * lib/fcntl.in.h: Likewise.
28233         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
28234         * lib/mbrtowc.c (mbrtowc): Likewise.
28235         * lib/relocatable.c (find_shared_library_fullname): Likewise.
28236         * lib/strerror_r.c: Likewise.
28237         * lib/unistr/u8-strnlen.c: Likewise.
28238         * lib/vasnprintf.c (decimal_point_char): Likewise.
28239         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
28240         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28241         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28242         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
28243         * tests/test-sigaction.c (handler, main): Likewise.
28244         * lib/freading.h: Treat uClibc like a non-glibc platform.
28245         * lib/freading.c: Likewise.
28246         * lib/gettext.h: Likewise.
28247         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
28248         Likewise.
28249         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
28250         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
28251         * lib/propername.c (proper_name_utf8): Likewise.
28252         * lib/spawn.in.h: Likewise.
28253         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
28254         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
28255         mem_cd_iconveh_internal): Likewise.
28256         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
28257         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28258         strstr, strcasestr): Likewise.
28259         * lib/unicodeio.c (unicode_to_mb): Likewise.
28260         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
28261         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
28262         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
28263         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
28264         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
28265         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
28266         * lib/unistr/u8-stpncpy.c: Likewise.
28267         * lib/vasnprintf.c (VASNPRINTF): Likewise.
28268         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
28269         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28270         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28271         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28272         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
28273         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
28274         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
28275         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
28276         Likewise.
28277         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28278         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28279         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28280         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28281         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28282         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28283         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28284         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
28285         * tests/test-getopt.h (OPTIND_MIN): Likewise.
28286         * tests/test-striconveha.c (main): Likewise.
28287         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28288         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
28289         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
28290         * doc/posix-functions/getline.texi: Likewise.
28291         Reported by Mike Frysinger <vapier@gentoo.org>.
28292
28293 2010-11-20  Bruno Haible  <bruno@clisp.org>
28294
28295         nproc: Fix condition.
28296         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
28297         HAVE_PTHREAD_AFFINITY_NP.
28298
28299 2010-11-20  Bruno Haible  <bruno@clisp.org>
28300
28301         Fix a comment.
28302         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
28303
28304 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
28305
28306         ftoastr: don't assume snprintf
28307         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
28308         Implement a subset of snprintf here, by using sprintf safely.
28309         * modules/ftoastr (Depends-on): Remove snprintf.
28310
28311 2010-11-19  Jim Meyering  <meyering@redhat.com>
28312
28313         test-rename.h: fix compilation failure
28314         * tests/test-rename.h (test_rename): Add omitted "}".
28315
28316 2010-11-17  Jim Meyering  <meyering@redhat.com>
28317
28318         maint.mk: add a URL discussing the no-@acronym policy
28319         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
28320
28321 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28322
28323         ftoastr: depend on snprintf, improve comments
28324         * lib/ftoastr.c: Also mention Loitsch's draft.
28325         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
28326         needed in the current implementation, but it might simplify
28327         speeding up the code later.
28328         * modules/ftoastr: Depend on snprintf; this improves portability.
28329         Suggested by Bruno Haible in the same email.
28330
28331         ftoastr: port to hosts lacking strtof and strtold
28332         Problem reported by Bruno Haible in
28333         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
28334         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
28335         environment and strtold (and presumably strtof) are not available.
28336         * modules/ftoastr (Files): Add m4/c-strtod.m4.
28337         (configure.ac): Require gl_C99_STRTOLD.
28338
28339 2010-11-18  Bruno Haible  <bruno@clisp.org>
28340
28341         c-strtold: Avoid link error on AIX 7.
28342         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
28343         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
28344         (gl_C_STRTOLD): Test whether strtold_l exists.
28345         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28346
28347 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28348
28349         intprops: new macro INT_BITS_STRLEN_BOUND
28350         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
28351         ftoastr.h.  This exposes an internal of intprops.h that was formerly
28352         not exposed.  Also, it uses a slightly tighter bound than before;
28353         though this makes no practical difference, we might as well be as
28354         tight as we easily can.
28355
28356         ftoastr: new module, for lossless conversion of floats to short strings
28357         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
28358         * modules/ftoastr: New files.
28359
28360 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
28361
28362         bootstrap: port to Solaris sed
28363         * build-aux/bootstrap (get_version): Port to Solaris sed.
28364         See Ralf Wildenhues's note in
28365         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
28366
28367 2010-11-14  Jim Meyering  <meyering@redhat.com>
28368
28369         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
28370         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
28371         and move definition closer to sole use.
28372
28373 2010-11-13  Jim Meyering  <meyering@redhat.com>
28374
28375         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
28376         Now we require at least autoconf-2.59, which means the work-around
28377         is no longer needed.
28378         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
28379         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28380         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28381         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28382         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28383
28384 2010-11-13  Bruno Haible  <bruno@clisp.org>
28385
28386         rename, renameat: Avoid test failures at NFS mounted locations.
28387         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
28388         functions.
28389         (test_rename): Use assert_nonexistent.
28390         * tests/test-rename.c: Include <dirent.h>.
28391         * tests/test-renameat.c: Likewise.
28392         Reported by Gary V. Vaughan <gary@gnu.org>.
28393
28394         rename, renameat: Document Linux bug with NFS
28395         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
28396         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
28397         * doc/posix-functions/renameat.texi: Likewise.
28398         Suggested by Eric Blake.
28399
28400 2010-11-13  Bruno Haible  <bruno@clisp.org>
28401
28402         rename test: Add comments.
28403         * tests/test-rename.h (test_rename): Add structure and comments.
28404
28405 2010-11-13  Eric Blake  <eblake@redhat.com>
28406
28407         maintainer-makefile: cover a few more files
28408         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
28409         scripts generated within C files, for libvirt.
28410
28411 2010-11-13  Bruno Haible  <bruno@clisp.org>
28412
28413         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
28414         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
28415         character, return the number of bytes that belong together, not always
28416         1.
28417         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
28418         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
28419         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
28420         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
28421         number of bytes of an invalid character.
28422         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
28423         (main): Invoke it.
28424         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
28425         results.
28426         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
28427         malformed byte sequences.
28428         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
28429         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
28430         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
28431         Reported by Ben Pfaff and Paolo Bonzini.
28432
28433 2010-11-13  Bruno Haible  <bruno@clisp.org>
28434
28435         openat: Work around glibc bug with fchownat() and empty file names.
28436         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
28437         (gl_FUNC_FCHOWNAT): Invoke it.
28438         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
28439         * doc/posix-functions/fchownat.texi: Document the glibc bug.
28440         Reported by Gary V. Vaughan <gary@gnu.org>.
28441
28442 2010-11-13  Bruno Haible  <bruno@clisp.org>
28443
28444         openat: Ensure autoconf macro ordering.
28445         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
28446         gl_USE_SYSTEM_EXTENSIONS.
28447         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
28448
28449 2010-11-13  Bruno Haible  <bruno@clisp.org>
28450
28451         Update comments.
28452         * lib/unistr/u8-check.c: Update file name in comments.
28453         * lib/unistr/u8-mblen.c: Likewise.
28454         * lib/unistr/u8-prev.c: Likewise.
28455         * lib/unistr/u8-strmblen.c: Likewise.
28456         * lib/unistr/u8-strmbtouc.c: Likewise.
28457
28458 2010-11-13  Jim Meyering  <meyering@redhat.com>
28459
28460         tests: avoid test failure on Solaris 10 due to lack of PATH export
28461         * tests/test-update-copyright.sh: Don't forget to export PATH.
28462
28463         init.sh: ensure that IFS is defined, just in case...
28464         * tests/init.sh (setup_): Ensure that IFS is defined,
28465         so that saving and restoring it works as expected.  This
28466         appears to be useful at least for an old version of dash
28467         from a long time ago (RH 6).  See here for details:
28468         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
28469
28470         maint.mk: tighten "test a == b" check
28471         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
28472         test to files that contain something like #!/bin/sh.
28473         Without this, coreutils would get two false positives in
28474         the comments of C source files.
28475
28476 2010-11-12  Eric Blake  <eblake@redhat.com>
28477
28478         bootstrap: fix typo in previous attempt
28479         * build-aux/bootstrap (buildreq): Correct the grouping.
28480         Reported by Paul Eggert.
28481
28482         maintainer-makefile: prohibit test x == x
28483         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
28484         Based on a report by Matthias Bolte.
28485
28486         bootstrap: allow FreeBSD gzip
28487         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
28488         which has no '.' and goes to stderr.
28489         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
28490         Reported by Matthias Bolte.
28491
28492         maintainer-makefile: check for i18n setup
28493         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
28494         will likely work.
28495
28496 2010-11-12  Bruno Haible  <bruno@clisp.org>
28497
28498         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
28499         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
28500         * lib/nanosleep.c (nanosleep): Likewise.
28501
28502 2010-11-11  Bruno Haible  <bruno@clisp.org>
28503
28504         fcntl-h: Fix for use of C++ on glibc systems.
28505         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
28506         also on glibc systems in C++ mode.
28507         Reported by Gary V. Vaughan <gary@gnu.org>.
28508
28509 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28510
28511         mknod: avoid false failure with dash
28512         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
28513
28514 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
28515
28516         unlink: Fix "is it should" typo in diagnostic.
28517         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
28518         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
28519
28520 2010-11-11  Bruno Haible  <bruno@clisp.org>
28521
28522         Tests for module 'strerror_r-posix'.
28523         * modules/strerror_r-posix-tests: New file.
28524         * tests/test-strerror_r.c: New file.
28525         * tests/test-string-c++.cc: Check the signature of strerror_r.
28526
28527         New module 'strerror_r-posix'.
28528         * lib/string.in.h (strerror_r): New declaration.
28529         * lib/strerror_r.c: New file.
28530         * m4/strerror_r.m4: New file.
28531         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
28532         of strerror_r.
28533         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
28534         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28535         * modules/strerror_r-posix: New file.
28536         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
28537         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28538         * doc/posix-functions/strerror_r.texi: Mention the new module and the
28539         portability problems.
28540
28541 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
28542
28543         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
28544         line is also considered for output. Quoted function name in shell
28545         command, so temporary files for functions like MyClass::operator()
28546         are removed correctly without errors.
28547
28548 2010-11-09  Bruno Haible  <bruno@clisp.org>
28549
28550         * doc/posix-functions/strerror.texi: List more failing platforms.
28551
28552         * doc/posix-functions/strerror.texi: Add a comment.
28553
28554 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28555
28556         fdopendir: fix bug on MacOS X when low on file descriptors
28557
28558         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
28559         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
28560         All callers changed.
28561         (fdopendir): Invoke save_cwd at the top level, not after using
28562         multiple dup() calls to use up file descriptors.  Then retry
28563         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
28564         less than the maximum number of open file descriptors, because
28565         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
28566         on Mac OS X 10.6.4 for tar 1.24
28567         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
28568         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
28569         and for tar 1.25
28570         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
28571
28572 2010-11-07  Bruno Haible  <bruno@clisp.org>
28573
28574         vasnprintf: Support I flag on glibc systems.
28575         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
28576         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
28577         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
28578         snprintf function.
28579         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
28580         glibc systems.
28581         * tests/test-vasnprintf-posix3.c: New file.
28582         * modules/vasnprintf-posix-tests (Files): Add it.
28583         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
28584
28585 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28586
28587         [html] Fix copy/paste bug: Use unique name for compiler warnings.
28588         * MODULES.html.sh: For compiler warnings, use name
28589         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
28590
28591 2010-11-05  Eric Blake  <eblake@redhat.com>
28592
28593         ceil, floor: avoid spurious failure with icc
28594         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
28595         [denormals-as-zero] when optimizing without -mieee-fp option.
28596         * tests/test-floorf2.c (floorf_reference): Likewise.
28597         * tests/test-ceilf1.c (dummy): New function.
28598         (main): Use it to outsmart icc's optimization.
28599         * tests/test-floorf1.c (dummy, main): Likewise.
28600
28601         tests: require working signbit
28602         * modules/ceilf-tests (Depends-on): Add signbit.
28603         * modules/ceill-tests (Depends-on): Likewise.
28604         * modules/floorf-tests (Depends-on): Likewise.
28605         * modules/floorl-tests (Depends-on): Likewise.
28606         * modules/round-tests (Depends-on): Likewise.
28607         * modules/roundf-tests (Depends-on): Likewise.
28608         * modules/roundl-tests (Depends-on): Likewise.
28609         * modules/trunc-tests (Depends-on): Likewise.
28610         * modules/truncf-tests (Depends-on): Likewise.
28611         * modules/truncl-tests (Depends-on): Likewise.
28612
28613         strtod: work around icc bug
28614         * lib/strtod.c (minus_zero): Define to working value.
28615         (strtod): Use it to avoid icc bug.
28616
28617         copysign: enhance tests
28618         * modules/copysign-tests (Files): Add minus-zero.h.
28619         * tests/test-copysign.c (main): Also test zeros.
28620
28621 2010-11-04  Eric Blake  <eblake@redhat.com>
28622
28623         ceil, floor, round, trunc: enhance tests of -0
28624         * tests/test-ceilf1.c (main): Ensure correct sign of result.
28625         * tests/test-ceill.c (main): Likewise.
28626         * tests/test-floorf1.c (main): Likewise.
28627         * tests/test-floorl.c (main): Likewise.
28628         * tests/test-round1.c (main): Likewise.
28629         * tests/test-roundf1.c (main): Likewise.
28630         * tests/test-roundl.c (main): Likewise.
28631         * tests/test-trunc1.c (main): Likewise.
28632         * tests/test-truncf1.c (main): Likewise.
28633         * tests/test-truncl.c (main): Likewise.
28634
28635 2010-11-04  Eric Blake  <eblake@redhat.com>
28636
28637         frexp, tests: work around ICC bug with -zero
28638         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
28639         works with more compilers.
28640         * tests/minus-zero.h: New file.
28641         * modules/ceilf-tests (Files): Include it.
28642         * modules/ceill-tests (Files): Likewise.
28643         * modules/floorf-tests (Files): Likewise.
28644         * modules/floorl-tests (Files): Likewise.
28645         * modules/frexp-nolibm-tests (Files): Likewise.
28646         * modules/frexp-tests (Files): Likewise.
28647         * modules/frexpl-nolibm-tests (Files): Likewise.
28648         * modules/frexpl-tests (Files): Likewise.
28649         * modules/isnan-tests (Files): Likewise.
28650         * modules/isnand-nolibm-tests (Files): Likewise.
28651         * modules/isnand-tests (Files): Likewise.
28652         * modules/isnanf-nolibm-tests (Files): Likewise.
28653         * modules/isnanf-tests (Files): Likewise.
28654         * modules/isnanl-nolibm-tests (Files): Likewise.
28655         * modules/isnanl-tests (Files): Likewise.
28656         * modules/round-tests (Files): Likewise.
28657         * modules/roundf-tests (Files): Likewise.
28658         * modules/roundl-tests (Files): Likewise.
28659         * modules/ldexpl-tests (Files): Likewise.
28660         * modules/signbit-tests (Files): Likewise.
28661         * modules/snprintf-posix-tests (Files): Likewise.
28662         * modules/sprintf-posix-tests (Files): Likewise.
28663         * modules/strtod-tests (Files): Likewise.
28664         * modules/trunc-tests (Files): Likewise.
28665         * modules/truncf-tests (Files): Likewise.
28666         * modules/truncl-tests (Files): Likewise.
28667         * modules/vsnprintf-posix-tests (Files): Likewise.
28668         * modules/vsprintf-posix-tests (Files): Likewise.
28669         * modules/vasnprintf-posix-tests (Files): Likewise.
28670         * modules/vasprintf-posix-tests (Files): Likewise.
28671         * tests/test-ceilf1.c (main): Use it.
28672         * tests/test-ceill.c (main): Likewise.
28673         * tests/test-floorf1.c (main): Likewise.
28674         * tests/test-floorl.c (main): Likewise.
28675         * tests/test-frexp.c (main): Likewise.
28676         * tests/test-frexpl.c (main): Likewise.
28677         * tests/test-isnan.c (main): Likewise.
28678         * tests/test-isnand.h (main): Likewise.
28679         * tests/test-isnanf.h (main): Likewise.
28680         * tests/test-isnanl.h (main): Likewise.
28681         * tests/test-ldexpl.c (main): Likewise.
28682         * tests/test-round.c (main): Likewise.
28683         * tests/test-roundf.c (main): Likewise.
28684         * tests/test-roundl.c (main): Likewise.
28685         * tests/test-signbit.c (test_signbitf, test_signbitd)
28686         (test_signbitl): Likewise.
28687         * tests/test-snprintf-posix.h (test_function): Likewise.
28688         * tests/test-sprintf-posix.h (test_function): Likewise.
28689         * tests/test-strtod.c (main): Likewise.
28690         * tests/test-trunc1.c (main): Likewise.
28691         * tests/test-truncf1.c (main): Likewise.
28692         * tests/test-truncl.c (main): Likewise.
28693
28694         isnanl: work around icc bug
28695         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
28696
28697 2010-11-03  Eric Blake  <eblake@redhat.com>
28698
28699         tests: fix compiler warnings
28700         * tests/test-getopt.h (test_getopt): Fix condition.
28701         * tests/test-getopt_long.h (test_getopt_long): Likewise.
28702         * tests/test-pipe2.c (main): Likewise.
28703         * tests/test-quotearg-simple.c (main): Avoid icc warning.
28704
28705         utimens: fix broken m4 test
28706         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
28707
28708 2010-10-28  Bruno Haible  <bruno@clisp.org>
28709
28710         posix_spawn*, getdtablesize: Relax license.
28711         * modules/posix_spawn (License): Change to LGPLv2+.
28712         * modules/posix_spawnp (License): Likewise.
28713         * modules/posix_spawn-internal (License): Likewise.
28714         * modules/posix_spawnattr_init (License): Likewise.
28715         * modules/posix_spawnattr_getflags (License): Likewise.
28716         * modules/posix_spawnattr_setflags (License): Likewise.
28717         * modules/posix_spawnattr_getpgroup (License): Likewise.
28718         * modules/posix_spawnattr_setpgroup (License): Likewise.
28719         * modules/posix_spawnattr_getschedparam (License): Likewise.
28720         * modules/posix_spawnattr_setschedparam (License): Likewise.
28721         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
28722         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
28723         * modules/posix_spawnattr_getsigdefault (License): Likewise.
28724         * modules/posix_spawnattr_setsigdefault (License): Likewise.
28725         * modules/posix_spawnattr_getsigmask (License): Likewise.
28726         * modules/posix_spawnattr_setsigmask (License): Likewise.
28727         * modules/posix_spawnattr_destroy (License): Likewise.
28728         * modules/posix_spawn_file_actions_init (License): Likewise.
28729         * modules/posix_spawn_file_actions_addclose (License): Likewise.
28730         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
28731         * modules/posix_spawn_file_actions_addopen (License): Likewise.
28732         * modules/posix_spawn_file_actions_destroy (License): Likewise.
28733         * modules/getdtablesize (License): Likewise.
28734         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
28735
28736 2010-10-26  Bruno Haible  <bruno@clisp.org>
28737
28738         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
28739         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
28740         Cygwin and mingw.
28741         Suggested by Eric Blake.
28742
28743 2010-10-26  Bruno Haible  <bruno@clisp.org>
28744
28745         stdio: Work around compilation error due to renameat() on Solaris 10.
28746         * lib/stdio.in.h: Include <unistd.h> on Solaris.
28747         * lib/renameat.c: Don't include <unistd.h> here.
28748         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
28749         Reported by Paul Eggert and Eric Blake.
28750
28751 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
28752
28753         renameat: port to Solaris 10, which declares renameat in unistd.h
28754
28755         * lib/renameat.c: Include unistd.h before stdio.h, because
28756         Solaris 10 declares renameat in unistd.h.  Problem encountered
28757         when building GNU tar 1.24 on Solaris 10.
28758
28759 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28760
28761         fdopendir: fix C89 compilation
28762         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
28763         compilers.
28764
28765 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
28766
28767         inttostr: simplify by removing unnecessary redundancy
28768         * lib/anytostr.c: Don't include verify.h.
28769         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
28770         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
28771         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
28772         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
28773         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
28774         Likewise.
28775         * modules/inttostr (Depends-on): Remove 'verify'.
28776
28777 2010-10-23  Bruno Haible  <bruno@clisp.org>
28778
28779         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
28780         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
28781         Reported by Eric Blake.
28782
28783 2010-10-23  Bruno Haible  <bruno@clisp.org>
28784
28785         Tests: Fix LOCALE_JA on MirBSD 10.
28786         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
28787         to an UTF-8 locale.
28788         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
28789         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28790         Reported by Eric Blake.
28791
28792 2010-10-21  Bruno Haible  <bruno@clisp.org>
28793
28794         nl_langinfo test: Avoid test failure on NetBSD 5.
28795         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
28796         Reported by Eric Blake.
28797
28798 2010-10-21  Eric Blake  <eblake@redhat.com>
28799
28800         c-stack: work around libsigsegv 2.8 bug
28801         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
28802         overflow on at least PowerPC64.
28803
28804 2010-10-17  Bruno Haible  <bruno@clisp.org>
28805
28806         userspec: Drop redundant file.
28807         * modules/userspec (Files): Remove lib/inttostr.h.
28808
28809 2010-10-17  Bruno Haible  <bruno@clisp.org>
28810
28811         nl_langinfo tests: Silence some warnings.
28812         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
28813         Reported by Jim Meyering.
28814
28815 2010-10-17  Bruno Haible  <bruno@clisp.org>
28816
28817         Make use of GCC's attribute __alloc_size__.
28818         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
28819         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
28820         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
28821         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
28822         __alloc_size__.
28823         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28824         Suggested by Jim Meyering.
28825
28826 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
28827
28828         bootstrap: anchor .gitignore entries.
28829         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
28830         with...
28831         (insert_vc_ignore): ... this new function, which prepends `/' to
28832         all .gitignore entries before passing them to
28833         insert_sorted_if_absent.
28834
28835 2010-10-16  Bruno Haible  <bruno@clisp.org>
28836
28837         nextafter: Fix configure check.
28838         * modules/nextafter (configure.ac): Correct expected prototype.
28839
28840 2010-10-16  Bruno Haible  <bruno@clisp.org>
28841
28842         termios: Update documentation.
28843         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
28844
28845 2010-10-16  Bruno Haible  <bruno@clisp.org>
28846
28847         tests: Make them compile with TinyCC.
28848         * tests/test-strstr.c (main): Remove parentheses around array
28849         initializer.
28850
28851 2010-10-15  Eric Blake  <eblake@redhat.com>
28852
28853         ignore-value: make header idempotent
28854         * lib/ignore-value.h: Add double-inclusion guards.
28855         Reported by Stefan Berger.
28856
28857 2010-10-15  Jim Meyering  <meyering@redhat.com>
28858
28859         GNUmakefile: handle "stable" target, not "major"
28860         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
28861         lists in maint.mk and announce-gen.  Without this, "make stable"
28862         would fail to ensure that $(VERSION) is up to date.
28863
28864 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
28865
28866         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
28867         & co.
28868
28869 2010-10-14  Bruno Haible  <bruno@clisp.org>
28870
28871         vasnprintf: Don't set errno to 0.
28872         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
28873         block that sets it to 0.
28874         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
28875
28876 2010-10-14  Bruno Haible  <bruno@clisp.org>
28877
28878         socketlib: Fix.
28879         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
28880         gl_PREREQ_SYS_H_WINSOCK2.
28881         Reported by Ian Beckwith <ianb@erislabs.net>.
28882
28883 2010-10-13  Jim Meyering  <meyering@redhat.com>
28884
28885         test-select-stdin.c: avoid warn_unused_result warnings
28886         * tests/test-select-stdin.c: Include "macros.h".
28887         ASSERT that read and fflush succeed.
28888
28889 2010-10-13  Jim Meyering  <meyering@redhat.com>
28890
28891         git-version-gen: do require git-VC'd files in cwd
28892         * build-aux/git-version-gen: Reject a git version string
28893         if there are no commits associated with the current directory.
28894         This avoids an unlikely false-positive (unrelated dir whose parent
28895         repository also contains a tag matching v*), as pointed out
28896         by Giuseppe Scrivano in
28897         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
28898
28899 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28900
28901         argv-iter: omit nonconforming declaration
28902         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
28903         enum arg_iter_err declaration, which doesn't conform to C99.
28904         Solaris 10 cc warns about this.
28905
28906 2010-10-13  Eric Blake  <eblake@redhat.com>
28907
28908         termios: fix compilation on mingw
28909         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
28910         (gl_TERMIOS_H): Adjust it on mingw.
28911         * modules/termios (Makefile.am): Substitute new key.
28912         * lib/termios.in.h (includes): Make include_next conditional.
28913         * doc/posix-headers/termios.texi (termios.h): Update
28914         documentation.
28915         Reported by Daniel P. Berrange.
28916
28917 2010-10-13  Jim Meyering  <meyering@redhat.com>
28918
28919         git-version-gen: don't require that .git/ be in the current dir
28920         * build-aux/git-version-gen: Adjust this script so that it works
28921         when run from any working directory beneath the top-level .git/-
28922         containing directory.  Inspired by a patch from Giuseppe Scrivano,
28923         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
28924
28925         test-select: avoid warn_unused_result warnings
28926         * tests/test-select.c: Include "macros.h".
28927         ASSERT that each call to read, write, and pipe succeeds.
28928         While not technically required, also check each "close".
28929         * modules/select-tests (Files): Add tests/macros.h.
28930
28931         test-symlinkat: remove declaration of unused local
28932         * tests/test-symlinkat.c (main): Remove unused local, "buf".
28933
28934         test-inttostr: avoid shadowing warnings
28935         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
28936         and use malloc rather than the stack for the same reason as
28937         mentioned in the comment justifying the other allocation.
28938
28939 2010-10-11  Bruno Haible  <bruno@clisp.org>
28940
28941         stdlib: Allow multiple gnulib generated replacements to coexist.
28942         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
28943         Reported by Sam Steingold <sds@gnu.org>.
28944
28945 2010-10-11  Jim Meyering  <meyering@redhat.com>
28946
28947         fix a documentation typo
28948         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
28949
28950 2010-10-11  Eric Blake  <eblake@redhat.com>
28951
28952         futimens: work around Solaris 11 bug
28953         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
28954         * tests/test-futimens.h (test_futimens): Enhance, rather than
28955         weaken test.
28956         * doc/posix-functions/futimens.texi (futimens): Document the bug.
28957
28958 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28959
28960         Indentation.
28961         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
28962         higher-level operators more to the left.
28963
28964 2010-10-11  Jim Meyering  <meyering@redhat.com>
28965
28966         test-futimens: avoid unwarranted test failure on Solaris 5.11
28967         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
28968         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
28969         because it tries to dereference the NULL name argument.
28970
28971 2010-10-11  Bruno Haible  <bruno@clisp.org>
28972
28973         Indentation.
28974         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
28975         indentation.
28976
28977 2010-10-11  Jim Meyering  <meyering@redhat.com>
28978
28979         spawn.in.h: make indentation consistent with parentheses
28980         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
28981         Make indentation consistent with parentheses.
28982
28983 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
28984
28985         Fix mismatched parens in previous commit
28986         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
28987         parens.
28988
28989 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
28990
28991         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
28992
28993         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
28994         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
28995         * lib/malloca.c: Include "verify.h".
28996         (verify1): Remove, replacing with a verify call.
28997         * lib/relocwrapper.c (verify1): Likewise.
28998         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
28999         Likewise.
29000         * modules/malloca (Depends-on): Add 'verify'.
29001         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
29002         * modules/vasnprintf (Depends-on): Add 'verify'.
29003         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
29004         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
29005         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
29006         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
29007         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
29008         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
29009         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
29010
29011         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
29012
29013         Formerly the style was sometimes 2*X - 1, because the C standard
29014         was wrongly thought to disallow ?: in integral constant expressions.
29015         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
29016         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
29017         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
29018         * lib/stdint.in.h (_verify_intmax_size): Likewise.
29019         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
29020         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
29021         verify that time_t cannot be floating.
29022
29023 2010-10-08  Eric Blake  <eblake@redhat.com>
29024
29025         time: enforce recent POSIX ruling that time_t is integral
29026         * lib/time.in.h (__time_t_must_be_integral): Detect any
29027         problematic systems, allowing the rest of gnulib to assume POSIX.
29028
29029 2010-10-08  Jim Meyering  <meyering@redhat.com>
29030
29031         fdopendir: fix a bug on systems lacking openat and /proc support
29032         OpenBSD 4.7 is one such system.  The most noticeable effect was
29033         failure of any application making nontrivial use of fts: rm, du,
29034         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
29035           ./rm: traversal failed: `a': Bad file descriptor
29036         Debugging that, you see that even though FD 6 was closed just
29037         prior to the opendir call in fd_clone_opendir, its resulting
29038         dir->dd_fd was 8, rather than the expected value of 6:
29039
29040         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
29041         93                close (fd);
29042         (gdb) n
29043         94                dir = fd_clone_opendir (dupfd);
29044         (gdb) n
29045         95                saved_errno = errno;
29046         (gdb) p dir->dd_fd
29047         $11 = 8
29048
29049         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
29050         The problem is that on OpenBSD, fd_clone_opendir has to resort
29051         to using the old-style save/restore CWD mechanism, due to its
29052         lack of openat/proc support, and *that* would steal the FD (6)
29053         that opendir was supposed to use.
29054
29055         The fix is to squirrel away the desired FD so that save_cwd uses a
29056         different one, and then free the dest FD right before calling opendir.
29057         That guarantees opendir will use the required file descriptor.
29058
29059         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
29060
29061 2010-10-08  Bruno Haible  <bruno@clisp.org>
29062
29063         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
29064         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
29065
29066 2010-10-08  Bruno Haible  <bruno@clisp.org>
29067
29068         nanosleep: Make replacement POSIX compliant.
29069         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
29070         is out of range.
29071         Reported by Jim Meyering.
29072
29073 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
29074
29075         bootstrap: add hook for altering gnulib.mk, for Bison
29076         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
29077         the Bison bootstrapping process can rewrite file names and variables
29078         in this file before later parts of 'bootstrap' use the file.
29079         Bison wants to include lib/gnulib.mk from the top-level makefile,
29080         so it needs the file names in this file to be relative to the top
29081         level, not relative to lib; plus it needs variable names to be
29082         rewritten.
29083         (slurp): Use the new function.
29084
29085         bootstrap: reformat for readability
29086         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
29087
29088 2010-10-08  Eric Blake  <eblake@redhat.com>
29089
29090         docs: update cygwin progress
29091         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
29092         1.7.7.
29093         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
29094         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
29095         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
29096         * doc/posix-functions/carg.texi (carg): Likewise.
29097         * doc/posix-functions/cargf.texi (cargf): Likewise.
29098         * doc/posix-functions/casin.texi (casin): Likewise.
29099         * doc/posix-functions/casinf.texi (casinf): Likewise.
29100         * doc/posix-functions/casinh.texi (casinh): Likewise.
29101         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
29102         * doc/posix-functions/catan.texi (catan): Likewise.
29103         * doc/posix-functions/catanf.texi (catanf): Likewise.
29104         * doc/posix-functions/catanh.texi (catanh): Likewise.
29105         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
29106         * doc/posix-functions/ccos.texi (ccos): Likewise.
29107         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
29108         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
29109         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
29110         * doc/posix-functions/cexp.texi (cexp): Likewise.
29111         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
29112         * doc/posix-functions/cimag.texi (cimag): Likewise.
29113         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
29114         * doc/posix-functions/clog.texi (clog): Likewise.
29115         * doc/posix-functions/clogf.texi (clogf): Likewise.
29116         * doc/posix-functions/conj.texi (conj): Likewise.
29117         * doc/posix-functions/conjf.texi (conjf): Likewise.
29118         * doc/posix-functions/cpow.texi (cpow): Likewise.
29119         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
29120         * doc/posix-functions/cproj.texi (cproj): Likewise.
29121         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
29122         * doc/posix-functions/creal.texi (creal): Likewise.
29123         * doc/posix-functions/crealf.texi (crealf): Likewise.
29124         * doc/posix-functions/csin.texi (csin): Likewise.
29125         * doc/posix-functions/csinf.texi (csinf): Likewise.
29126         * doc/posix-functions/csinh.texi (csinh): Likewise.
29127         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
29128         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
29129         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
29130         * doc/posix-functions/ctan.texi (ctan): Likewise.
29131         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
29132         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
29133         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
29134         * doc/posix-headers/complex.texi (complex.h): Likewise.
29135
29136 2010-10-07  Jim Meyering  <meyering@redhat.com>
29137
29138         parse-datetime: avoid compilation failure on OpenBSD 4.7
29139         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
29140         This works around a compilation failure on OpenBSD 4.7:
29141         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
29142
29143 2010-10-07  Eric Blake  <eblake@redhat.com>
29144
29145         docs: update cygwin progress
29146         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
29147         1.7.6.
29148         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
29149         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
29150         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
29151         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
29152         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
29153         Likewise.
29154         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
29155         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
29156         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
29157         Likewise.
29158         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
29159         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
29160         Likewise.
29161         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
29162         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
29163         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
29164         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
29165         Likewise.
29166         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
29167         Likewise.
29168         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
29169
29170         docs: update parse-datetime history
29171         * doc/parse-datetime.texi (Authors of parse_datetime): Better
29172         documentation of this function's history and alternatives.
29173
29174         cygwin: use more robust version check
29175         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
29176         exclude an eventual cygwin 1.9.1.
29177         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29178         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29179         (gl_FUNC_STRCASESTR): Likewise.
29180         Reported by Bruno Haible.
29181
29182 2010-10-06  Bruno Haible  <bruno@clisp.org>
29183
29184         string, sys_select: Avoid #including large headers unless necessary.
29185         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
29186         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
29187         OSF/1, BeOS, Haiku.
29188         Reported by Jim Meyering.
29189
29190 2010-10-05  Eric Blake  <eblake@redhat.com>
29191
29192         memmem, strstr, strcasestr: fix bug with long periodic needle
29193         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
29194         periodic needle having false positive.
29195         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
29196         and cygwin 1.7.7.
29197         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
29198         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29199         (gl_FUNC_STRCASESTR): Likewise.
29200         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29201         * tests/test-memmem.c (main): Expose the bug.
29202         * tests/test-strcasestr.c (main): Likewise.
29203         * tests/test-strstr.c (main): Likewise.
29204         * tests/test-c-strcasestr.c (main): Likewise.
29205         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
29206         * doc/posix-functions/strstr.texi (strstr): Likewise.
29207         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29208         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
29209
29210 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29211
29212         parse-datetime: do some more renaming
29213         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
29214         parse_datetime, not get_date.  Mention the renaming.
29215         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
29216         in comments.
29217         * m4/bison.m4: Likewise.
29218
29219 2010-10-05  Eric Blake  <eblake@redhat.com>
29220
29221         parse-datetime: better name than get_date
29222         * NEWS: Reword the deprecation notice.
29223         * modules/get_date: Rename to modules/parse-datetime.
29224         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
29225         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
29226         * lib/get_date.y: Rename to lib/parse-datetime.y.
29227         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
29228         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
29229         * doc/getdate.texi: Provide fallback wrapper.
29230         * lib/getdate.h: Move guts, and wrap...
29231         * lib/parse-datetime.h: ...new file.
29232         * lib/parse-datetime.y (get_date): Rename...
29233         (parse_datetime): ...to this.
29234         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
29235         (gl_PARSE_DATETIME): ...to this.
29236         * doc/posix-functions/getdate.texi (get_date): Provide fallback
29237         documentation.
29238         * modules/getdate (Files): Provide fallback docs and header.
29239         (Notice, Depends-on): Update references.
29240         * tests/test-parse-datetime.c: Likewise.
29241         * DEPENDENCIES: Likewise.
29242         * MODULES.html.sh (Date and time <time.h>): Likewise.
29243         * doc/parse-datetime.texi (Date input formats)
29244         (Authors of parse_datetime): Likewise.
29245         * modules/parse-datetime (Files, configure.ac, Makefile.am)
29246         (Include): Likewise.
29247         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
29248         * gnulib-tool: Likewise.
29249         * m4/bison.m4 (gl_BISON): Likewise.
29250         Suggested by Bruno Haible.
29251
29252 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29253
29254         more ports to Solaris tr, which needs [] around ranges
29255         * gnulib-tool: Solaris tr needs [] around ranges.
29256         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
29257         * tests/test-pipe-filter-gi1.c (main): Likewise.
29258         * tests/test-pipe-filter-ii1.c (main): Likewise.
29259
29260 2010-10-05  Eric Blake  <eblake@redhat.com>
29261
29262         bootstrap: fix Solaris regression
29263         * build-aux/bootstrap (check_versions): Solaris tr still needs []
29264         around ranges.
29265         Reported by Pádraig Brady.
29266
29267         bootstrap: work with pkg-config
29268         * build-aux/bootstrap (check_versions): Also transliterate - in
29269         prerequisite name.
29270         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
29271         prerequisites that were already found, to avoid confusion.
29272         Reported by Justin Clift.
29273
29274         faccessat: remove unused wrappers
29275         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
29276         presence of these wrappers dragged in -lgen on Solaris.
29277         Reported by Clemens Brogi; fix suggested by Paul Eggert.
29278
29279 2010-10-05  Jim Meyering  <meyering@redhat.com>
29280
29281         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
29282         * Makefile (sc_pragma_columns): New syntax-check rule.
29283
29284 2010-10-04  Bruno Haible  <bruno@clisp.org>
29285
29286         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
29287         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
29288         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
29289         Reported by Bruce Korb and Eric Blake.
29290
29291 2010-10-04  Bruno Haible  <bruno@clisp.org>
29292
29293         threadlib: Make option --with-libpth-prefix work.
29294         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
29295         use $LIBPTH, not just -lpth.
29296
29297 2010-10-04  Bruno Haible  <bruno@clisp.org>
29298
29299         Avoid line length limitation from HP NonStop system header files.
29300         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
29301         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
29302         * lib/ctype.in.h: Likewise.
29303         * lib/dirent.in.h: Likewise.
29304         * lib/errno.in.h: Likewise.
29305         * lib/fcntl.in.h: Likewise.
29306         * lib/float.in.h: Likewise.
29307         * lib/getopt.in.h: Likewise.
29308         * lib/iconv.in.h: Likewise.
29309         * lib/inttypes.in.h: Likewise.
29310         * lib/langinfo.in.h: Likewise.
29311         * lib/locale.in.h: Likewise.
29312         * lib/math.in.h: Likewise.
29313         * lib/netdb.in.h: Likewise.
29314         * lib/netinet_in.in.h: Likewise.
29315         * lib/poll.in.h: Likewise.
29316         * lib/pthread.in.h: Likewise.
29317         * lib/pty.in.h: Likewise.
29318         * lib/sched.in.h: Likewise.
29319         * lib/se-selinux.in.h: Likewise.
29320         * lib/search.in.h: Likewise.
29321         * lib/signal.in.h: Likewise.
29322         * lib/spawn.in.h: Likewise.
29323         * lib/stdarg.in.h: Likewise.
29324         * lib/stddef.in.h: Likewise.
29325         * lib/stdint.in.h: Likewise.
29326         * lib/stdio.in.h: Likewise.
29327         * lib/stdlib.in.h: Likewise.
29328         * lib/string.in.h: Likewise.
29329         * lib/strings.in.h: Likewise.
29330         * lib/sys_file.in.h: Likewise.
29331         * lib/sys_ioctl.in.h: Likewise.
29332         * lib/sys_select.in.h: Likewise.
29333         * lib/sys_socket.in.h: Likewise.
29334         * lib/sys_stat.in.h: Likewise.
29335         * lib/sys_time.in.h: Likewise.
29336         * lib/sys_times.in.h: Likewise.
29337         * lib/sys_utsname.in.h: Likewise.
29338         * lib/sys_wait.in.h: Likewise.
29339         * lib/sysexits.in.h: Likewise.
29340         * lib/termios.in.h: Likewise.
29341         * lib/time.in.h: Likewise.
29342         * lib/unistd.in.h: Likewise.
29343         * lib/wchar.in.h: Likewise.
29344         * lib/wctype.in.h: Likewise.
29345         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
29346         * modules/ctype (Makefile.am): Likewise.
29347         * modules/dirent (Makefile.am): Likewise.
29348         * modules/errno (Makefile.am): Likewise.
29349         * modules/fcntl-h (Makefile.am): Likewise.
29350         * modules/float (Makefile.am): Likewise.
29351         * modules/getopt-posix (Makefile.am): Likewise.
29352         * modules/iconv-h (Makefile.am): Likewise.
29353         * modules/inttypes (Makefile.am): Likewise.
29354         * modules/langinfo (Makefile.am): Likewise.
29355         * modules/locale (Makefile.am): Likewise.
29356         * modules/math (Makefile.am): Likewise.
29357         * modules/netdb (Makefile.am): Likewise.
29358         * modules/netinet_in (Makefile.am): Likewise.
29359         * modules/poll-h (Makefile.am): Likewise.
29360         * modules/pthread (Makefile.am): Likewise.
29361         * modules/pty (Makefile.am): Likewise.
29362         * modules/sched (Makefile.am): Likewise.
29363         * modules/search (Makefile.am): Likewise.
29364         * modules/selinux-h (Makefile.am): Likewise.
29365         * modules/signal (Makefile.am): Likewise.
29366         * modules/spawn (Makefile.am): Likewise.
29367         * modules/stdarg (Makefile.am): Likewise.
29368         * modules/stddef (Makefile.am): Likewise.
29369         * modules/stdint (Makefile.am): Likewise.
29370         * modules/stdio (Makefile.am): Likewise.
29371         * modules/stdlib (Makefile.am): Likewise.
29372         * modules/string (Makefile.am): Likewise.
29373         * modules/strings (Makefile.am): Likewise.
29374         * modules/sys_file (Makefile.am): Likewise.
29375         * modules/sys_ioctl (Makefile.am): Likewise.
29376         * modules/sys_select (Makefile.am): Likewise.
29377         * modules/sys_socket (Makefile.am): Likewise.
29378         * modules/sys_stat (Makefile.am): Likewise.
29379         * modules/sys_time (Makefile.am): Likewise.
29380         * modules/sys_times (Makefile.am): Likewise.
29381         * modules/sys_utsname (Makefile.am): Likewise.
29382         * modules/sys_wait (Makefile.am): Likewise.
29383         * modules/sysexits (Makefile.am): Likewise.
29384         * modules/termios (Makefile.am): Likewise.
29385         * modules/time (Makefile.am): Likewise.
29386         * modules/unistd (Makefile.am): Likewise.
29387         * modules/wchar (Makefile.am): Likewise.
29388         * modules/wctype (Makefile.am): Likewise.
29389
29390 2010-10-04  Bruno Haible  <bruno@clisp.org>
29391
29392         read-file tests: Avoid a test failure on NonStop Kernel.
29393         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
29394         a regular file.
29395         Reported by Joachim Schmitz <schmitz@hp.com>.
29396
29397 2010-10-03  Bruno Haible  <bruno@clisp.org>
29398
29399         gnulib-tool: Fixes for --create-testdir with --libtool.
29400         * gnulib-tool (func_get_automake_snippet): Don't augment
29401         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
29402         an executable.
29403         (func_create_testdir): Handle module 'alloca' like func_import.
29404         Reported by Bruce Korb <bruce.korb@gmail.com>.
29405
29406 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
29407
29408         Avoid some lines longer than 80 characters.
29409         * lib/stdint.in.h: Break long comment lines.
29410         * lib/math.in.h: Likewise.
29411         (_GL_NUM_UINT_WORDS): New macro, for readability.
29412         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
29413         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
29414         * lib/stdlib.in.h: Likewise.
29415         * lib/spawn.in.h: Likewise.
29416         * lib/sys_socket.in.h: Update an URL.
29417         * lib/sys_stat.in.h: Break long line.
29418
29419 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
29420
29421         Improve pmccabe2html.
29422         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
29423         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
29424         when the sources change. Remove the line in the HTML about "Used
29425         ranges" (which implied that there might be other unused ranges),
29426         rename "Resume" to "Summary" (easier to understand for more users).
29427         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
29428         styles, and some unnecessary blank lines.
29429
29430 2010-10-03  Bruno Haible  <bruno@clisp.org>
29431             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
29432
29433         acl: Add support for ACLs on NonStop Kernel.
29434         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
29435         Check whether the function aclsort() exists.
29436         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
29437         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
29438         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29439         (acl_nontrivial [HAVE_ACLSORT]: New function.
29440         (file_has_acl): Implement for NonStop Kernel.
29441         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29442         (qset_acl): Implement for NonStop Kernel.
29443         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
29444         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29445         (main): Implement for NonStop Kernel.
29446         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
29447         Kernel. Handle this flavor.
29448         * tests/test-set-mode-acl.sh: Likewise.
29449         * tests/test-copy-acl.sh: Likewise.
29450         * tests/test-copy-file.sh: Likewise.
29451
29452 2010-10-03  Bruno Haible  <bruno@clisp.org>
29453
29454         Info about ACLs on NonStop Kernel.
29455         * doc/acl-resources.txt: Add info about NonStop Kernel.
29456         References by Joachim Schmitz <schmitz@hp.com>.
29457
29458 2010-10-02  Bruno Haible  <bruno@clisp.org>
29459
29460         Define missing EDQUOT on NonStop Kernel.
29461         * lib/errno.in.h (EDQUOT): Assign a value if missing.
29462         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
29463         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
29464         missing.
29465         * doc/posix-headers/errno.texi: Mention the NSK bug.
29466         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
29467         Reported by Joachim Schmitz <schmitz@hp.com>.
29468
29469 2010-10-02  Bruno Haible  <bruno@clisp.org>
29470
29471         Update doc for POSIX:2008.
29472         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
29473         Update URL of POSIX specification.
29474
29475 2010-10-02  Bruno Haible  <bruno@clisp.org>
29476
29477         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
29478         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
29479         from gnulib, not from Automake.
29480
29481 2010-10-02  Bruno Haible  <bruno@clisp.org>
29482
29483         New module 'system-posix'.
29484         * modules/system-posix: New file.
29485         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
29486         module is present.
29487         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29488         GNULIB_SYSTEM_POSIX.
29489         * modules/stdlib (Depends-on): Remove sys_wait.
29490         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
29491         * doc/posix-functions/system.texi: Mention the new module.
29492         * doc/posix-headers/stdlib.texi: Likewise.
29493         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
29494         define test_sys_wait_macros to a no-op.
29495         Reported by Sam Steingold <sds@gnu.org>.
29496
29497 2010-09-30  Bruno Haible  <bruno@clisp.org>
29498
29499         More renaming from 'getdate' to 'get_date'.
29500         * doc/get_date.texi: Renamed from doc/getdate.texi.
29501         * modules/get_date (Files): Update.
29502         * MODULES.html.sh (Date and time <time.h>): Update.
29503         * DEPENDENCIES: Update.
29504         * gnulib-tool: Update comment.
29505         * m4/bison.m4 (gl_BISON): Likewise.
29506         * m4/get_date.m4 (gl_GET_DATE): Likewise.
29507
29508 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
29509
29510         bootstrap: support ACLOCAL_FLAGS during aclocal
29511         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
29512         can add additional -I dir for third-party .m4 files.
29513
29514 2010-09-30  Eric Blake  <eblake@redhat.com>
29515
29516         bootstrap: use glibtoolize on MacOS
29517         * build-aux/bootstrap (check_versions): Convert libtool into
29518         libtoolize.
29519         (tool search): Move libtool check earlier, and look for
29520         glibtoolize for MacOS.
29521         (gnulib_tool_options): Auto-add --libtool when appropriate.
29522         Reported by Justin Clift.
29523
29524         poll: fix typo that broke test on MacOS
29525         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
29526         Reported by Justin Clift.
29527
29528         getdate: rename to get_date
29529         Note: getdate.h is not renamed, to minimize client impact.
29530         * modules/getdate: Mark obsolete.  Move old contents...
29531         * modules/get_date: ...to new module name.
29532         * modules/getdate-tests: Move...
29533         * modules/get_date-tests: ...here.
29534         * m4/getdate.m4: Move...
29535         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
29536         * lib/getdate.y: Move...
29537         * lib/get_date.y: ...here.
29538         * tests/test-getdate.c: Move...
29539         * tests/test-get_date.c: ...here.
29540         * doc/posix-functions/getdate.texi (getdate): Update name.
29541         * NEWS: Mention the change.
29542
29543 2010-09-29  Bruno Haible  <bruno@clisp.org>
29544
29545         Separate the module 'waitpid' from the module 'sys_wait'.
29546         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
29547         present.
29548         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
29549         gl_MODULE_INDICATOR_FOR_TESTS.
29550         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
29551         * modules/sys_wait (Depends-on): Remove waitpid.
29552         (Makefile.am): Substitute GNULIB_WAITPID.
29553         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
29554         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
29555         signature only if the 'waitpid' module is present.
29556         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
29557         * NEWS: Mention the change.
29558         * modules/grantpt (Depends-on): Add waitpid.
29559         * modules/wait-process (Depends-on): Likewise.
29560
29561 2010-09-29  Bruno Haible  <bruno@clisp.org>
29562
29563         More tests for module 'sys_wait'.
29564         * modules/sys_wait-c++-tests: New file.
29565         * tests/test-sys_wait-c++.cc: New file.
29566         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
29567         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29568
29569 2010-09-29  Bruno Haible  <bruno@clisp.org>
29570
29571         New module 'waitpid'.
29572         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
29573         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
29574         Don't include <process.h>.
29575         (waitpid): Declare only, using modern idiom.
29576         * m4/waitpid.m4: New file.
29577         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
29578         * modules/waitpid: New file.
29579         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
29580         (Makefile.am): Update.
29581         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29582
29583 2010-09-28  Bruno Haible  <bruno@clisp.org>
29584
29585         poll: Assume ANSI C.
29586         * lib/poll.c (poll): Use an ANSI C declaration.
29587
29588 2010-09-28  Bruno Haible  <bruno@clisp.org>
29589
29590         poll-h: Create poll.h on all platforms.
29591         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
29592         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
29593         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
29594         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
29595         (gl_REPLACE_POLL_H): Don't set POLL_H.
29596         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
29597         * modules/poll-h (Depends-on): Add include_next.
29598         (Makefile.am): Create poll.h unconditionally. Substitute also
29599         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
29600
29601 2010-09-28  Bruno Haible  <bruno@clisp.org>
29602
29603         Tests for module 'poll-h'.
29604         * modules/poll-h-c++-tests: New file.
29605         * tests/test-poll-h-c++.cc: New file.
29606
29607         Tests for module 'poll-h'.
29608         * modules/poll-h-tests: New file.
29609         * tests/test-poll-h.c: New file.
29610
29611 2010-09-28  Bruno Haible  <bruno@clisp.org>
29612
29613         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
29614         * modules/poll-h (Depends-on): Add 'extensions'.
29615
29616 2010-09-28  Bruno Haible  <bruno@clisp.org>
29617
29618         New module 'poll-h'.
29619         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
29620         (poll): Use modern idiom.
29621         * modules/poll-h: New file.
29622         * modules/poll (Files): Remove lib/poll.in.h.
29623         (Depends-on): Add poll-h.
29624         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
29625         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
29626         * m4/poll_h.m4: New file.
29627         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
29628         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
29629         and invoke gl_REPLACE_POLL_H.
29630         * lib/poll.c: Use common idiom.
29631         * tests/test-poll.c: Likewise.
29632         * doc/posix-headers/poll.texi: Mention the poll-h module.
29633         Suggested by Eric Blake.
29634
29635 2010-09-26  Bruno Haible  <bruno@clisp.org>
29636
29637         sys_wait: Implement WSTOPSIG.
29638         * lib/sys_wait.in.h (WSTOPSIG): New macro.
29639         Reported by Simon Josefsson.
29640
29641 2010-09-26  Simon Josefsson  <simon@josefsson.org>
29642
29643         stdlib, sys_wait: Avoid compilation error on mingw.
29644         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
29645
29646 2010-09-26  Bruno Haible  <bruno@clisp.org>
29647
29648         stdlib tests: Avoid code duplication.
29649         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
29650         * modules/sys_wait-tests (Files): Likewise.
29651         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
29652         * tests/test-stdlib.c: Include test-sys_wait.h.
29653         (main): Invoke test_sys_wait_macros.
29654         * tests/test-sys_wait.c: Include test-sys_wait.h.
29655         (main): Invoke test_sys_wait_macros.
29656
29657 2010-09-25  Simon Josefsson  <simon@josefsson.org>
29658
29659         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
29660         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
29661         sure Windows sockets are working before calling getaddrinfo.
29662         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
29663         * doc/gnulib.texi (Windows sockets): Fix typo.
29664
29665 2010-09-25  Bruno Haible  <bruno@clisp.org>
29666
29667         Tests for module 'regex-quote'.
29668         * modules/regex-quote-tests: New file.
29669         * tests/test-regex-quote.c: New file.
29670
29671         New module 'regex-quote'.
29672         * lib/regex-quote.h: New file.
29673         * lib/regex-quote.c: New file.
29674         * modules/regex-quote: New file.
29675         Suggested by Reuben Thomas <rrt@sc3d.org>.
29676
29677 2010-09-24  Bruno Haible  <bruno@clisp.org>
29678
29679         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
29680         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
29681
29682 2010-09-23  Bruno Haible  <bruno@clisp.org>
29683
29684         setenv: Relax license.
29685         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
29686         Blake.
29687         Requested by Eric Blake.
29688
29689 2010-09-22  Bruno Haible  <bruno@clisp.org>
29690
29691         termios: Relax license.
29692         * modules/termios (License): Change to LGPLv2+.
29693         Requested by Eric Blake.
29694
29695 2010-09-22  Bruno Haible  <bruno@clisp.org>
29696
29697         threadlib: Allow the package to change the default to 'no'.
29698         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
29699         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
29700         Reported by Paul Eggert.
29701
29702 2010-09-22  Pádraig Brady  <P@draigbrady.com>
29703             Bruno Haible  <bruno@clisp.org>
29704
29705         Fix endless loop in mbmemcasecoll.
29706         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
29707         byte.
29708         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
29709
29710 2010-09-22  Bruno Haible  <bruno@clisp.org>
29711
29712         Tests for module 'memcoll'.
29713         * modules/memcoll-tests: New file.
29714         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
29715
29716         memcoll, xmemcoll: Clarify size vs. length.
29717         * modules/memcoll.c (memcoll0): Clarify specification.
29718         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
29719         passed to collate_error.
29720
29721 2010-09-22  Bruno Haible  <bruno@clisp.org>
29722
29723         Tests for module 'memcasecmp'.
29724         * modules/memcasecmp-tests: New file.
29725         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
29726
29727 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29728
29729         * lib/pthread.in.h: Add split double-inclusion guard, and include
29730         system <pthread.h> if there is one.  Use @@-style as in other
29731         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
29732         pthread.h doesn't.
29733         (pthread_mutexattr_destroy, pthread_mutexattr_init):
29734         (pthread_mutexattr_settype, pthread_mutex_trylock):
29735         New static inline functions, if there's no system <pthread.h>.
29736         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
29737         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
29738         Approximate with mutexes if the system lacks spinlocks, as in
29739         MacOS.
29740         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
29741         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
29742         @@-style.  Check for spinlocks separately.
29743         (gl_PTHREAD_DEFAULTS): New macro.
29744         * modules/pthread: Redo to use a more typical style for in.h files.
29745
29746 2010-09-21  Eric Blake  <eblake@redhat.com>
29747
29748         net_if: enhance tests
29749         * tests/test-net_if.c (main): Move signature checks earlier.
29750         Print failures to stderr.
29751         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
29752         Document the bug that we do not yet fix.
29753
29754 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29755
29756         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
29757         about gnulib, not GSS.
29758
29759 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29760
29761         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
29762         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
29763         for Emacs.
29764         * build-aux/pmccabe2html: Make Makefile.am example code more
29765         cut-and-paste friendly.
29766
29767 2010-09-21  Simon Josefsson  <simon@josefsson.org>
29768
29769         * tests/test-net_if.c: New file.
29770         * modules/net_if-tests: New file.
29771
29772 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
29773
29774         pthread: add pthread_spin_destroy
29775         * lib/pthread.in.h (pthread_spin_destroy): New function.
29776
29777 2010-09-19  Bruno Haible  <bruno@clisp.org>
29778
29779         gnulib-tool: Fix --help output.
29780         * gnulib-tool (func_usage): Fix help message.
29781         Reported by Reuben Thomas <rrt@sc3d.org>.
29782
29783 2010-09-18  Jim Meyering  <meyering@redhat.com>
29784
29785         maint.mk: avoid unexpanded \n in two diagnostics
29786         * top/maint.mk (sc_prohibit_always_true_header_tests):
29787         Don't use a literal \n in a halt=... assignment.  It would not be
29788         expanded, and the two \n bytes would appear in the diagnostic output
29789         rather than the desired newline.  Use halt=$$(printf ... instead.
29790         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29791
29792 2010-09-18  Bruno Haible  <bruno@clisp.org>
29793
29794         netinet_in: Doc tweak.
29795         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
29796         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29797
29798 2010-09-18  Jim Meyering  <meyering@redhat.com>
29799
29800         init.sh: correct an outdated comment
29801         * tests/init.sh (create_exe_shims_):  s/function/alias/
29802
29803         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
29804         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
29805         a file named "*.exe" is removed between the glob expansion and the
29806         processing of that oddly named file.
29807
29808 2010-09-17  Eric Blake  <eblake@redhat.com>
29809
29810         mirbsd: add some more support
29811         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
29812         in BSD family.
29813         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
29814         devices as OpenBSD.
29815         * m4/host-os.m4 (mirbsd): Add MirBSD.
29816
29817         tests: fix unportable assumption on sys/wait.h
29818         * tests/test-sys_wait.c (main): Relax test.
29819         * tests/test-stdlib.c (main): Likewise.
29820
29821         init.sh: accommodate directory with no .exes
29822         * tests/init.sh: Accomodate directory containing only scripts.
29823
29824         tests: avoid compiler warning
29825         * tests/test-stdlib.c (main): Use the variable.
29826
29827         fdutimens, fdutimensat: update signature, again
29828         * lib/utimens.h (gl_futimens): Delete, and move signature...
29829         (fdutimens): ...here.
29830         (fdutimensat): Rearrange signature.
29831         (lutimensat): Rename variable for clarity.
29832         * lib/fdutimensat.c (fdutimensat): Update signature.
29833         * lib/utimens.c (fdutimens): Likewise.
29834         (gl_futimens): Delete.
29835         (utimens, lutimens): Update callers.
29836         * lib/futimens.c (futimens): Likewise.
29837         * tests/test-fdutimensat.c: Likewise.
29838         * tests/test-utimens.c: Likewise.
29839         * tests/test-futimens.h: Update comment.
29840         * NEWS: Mention this.
29841         Suggested by Paul Eggert.
29842
29843 2010-09-17  Bruno Haible  <bruno@clisp.org>
29844
29845         Take over the maintenance of some older macros from Autoconf.
29846         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
29847         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
29848         GNU Autoconf.
29849         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
29850         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
29851
29852 2010-09-17  Eric Blake  <eblake@redhat.com>
29853
29854         fdutimensat: drop atflag validation
29855         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
29856         with valid fd, to close a race scenario where futimens is
29857         unsupported and FILE was replaced by a symlink.
29858         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
29859         accordingly.
29860         Suggested by Paul Eggert.
29861
29862 2010-09-16  Bruno Haible  <bruno@clisp.org>
29863
29864         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
29865         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
29866
29867 2010-09-16  Bruno Haible  <bruno@clisp.org>
29868
29869         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
29870         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
29871         login_tty exists.
29872         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29873
29874 2010-09-16  Bruno Haible  <bruno@clisp.org>
29875
29876         login_tty: Make the replacement code work on BSD systems.
29877         * lib/login_tty.c: Include <sys/ioctl.h>.
29878         (login_tty): Use ioctl TIOCSCTTY when available.
29879         * modules/login_tty (Depends-on): Add sys_ioctl.
29880         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29881
29882 2010-09-16  Bruno Haible  <bruno@clisp.org>
29883
29884         login_tty: Stricter unit test.
29885         * modules/login_tty-tests (Depends-on): Add tcgetsid.
29886         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
29887         and tcgetsid() after login_tty.
29888         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29889
29890 2010-09-16  Bruno Haible  <bruno@clisp.org>
29891
29892         New module 'tcgetsid'.
29893         * lib/tcgetsid.c: New file.
29894         * m4/tcgetsid.m4: New file.
29895         * modules/tcgetsid: New file.
29896         * modules/termios (Depends-on): Add c++defs, warn-on-use.
29897         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
29898         GNULIB_TCGETSID, HAVE_TCGETSID.
29899         * lib/termios.in.h: Include <sys/types.h>.
29900         (tcgetsid): New declaration.
29901         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
29902         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
29903         * doc/posix-functions/tcgetsid.texi: Mention the new module.
29904         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
29905
29906 2010-09-16  Bruno Haible  <bruno@clisp.org>
29907
29908         Tests for module 'termios'.
29909         * modules/termios-c++-tests: New file.
29910         * modules/termios-tests: New file.
29911         * tests/test-termios-c++.cc: New file.
29912         * tests/test-termios.c: New file.
29913
29914         New module 'termios'.
29915         * modules/termios: New file.
29916         * lib/termios.in.h: New file.
29917         * m4/termios_h.m4: New file.
29918         * doc/posix-headers/termios.texi: Mention the new module.
29919
29920 2010-09-16  Eric Blake  <eblake@redhat.com>
29921
29922         fdutimensat: add an atflag parameter
29923         * lib/fdutimensat.c (fdutimensat): Add new parameter.
29924         * lib/utimens.h (fdutimensat): Update prototype.
29925         * tests/test-fdutimensat.c: Adjust test to match.
29926         * NEWS: Document the change.
29927         Suggested by Paul Eggert.
29928
29929 2010-09-16  Bruno Haible  <bruno@clisp.org>
29930
29931         Fix typos in comments.
29932         * lib/striconveh.h: Fix typo in comment.
29933         * lib/login_tty.c (login_tty): Likewise.
29934
29935 2010-09-15  Bruno Haible  <bruno@clisp.org>
29936
29937         stdlib: clarify MirBSD WEXITSTATUS bug
29938         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
29939         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29940
29941 2010-09-15  Eric Blake  <eblake@redhat.com>
29942
29943         stdlib: work around MirBSD WEXITSTATUS bug
29944         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
29945         * modules/stdlib (Depends-on): Add sys_wait.
29946         * tests/test-sys_wait.c (main): Enhance test.
29947         * tests/test-stdlib.c (main): Likewise.
29948         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
29949
29950         docs: mention MacOS issue with WEXITSTATUS(constant)
29951         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
29952         issue.
29953         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29954
29955         strnlen: add tests
29956         * modules/strnlen-tests: New file.
29957         * tests/test-strnlen.c: Likewise.
29958
29959 2010-09-14  Bruno Haible  <bruno@clisp.org>
29960
29961         unistr/base: Avoid link errors when module 'libunistring' is also used.
29962         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
29963         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
29964         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
29965         Declare also when HAVE_LIBUNISTRING is set.
29966         Reported by Pádraig Brady <P@draigbrady.com>.
29967
29968 2010-09-14  Eric Blake  <eblake@redhat.com>
29969
29970         test-rawmemchr: make more robust
29971         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
29972         (Depends-on, configure.ac): Add needed prerequisites to use it.
29973         * modules/memchr-tests (Files, Depends-on, configure.ac):
29974         Likewise, to avoid implicit reliance on memchr module prereqs.
29975         * tests/test-memchr.c (main): Ensure proper masking.
29976         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
29977         reads.
29978
29979         memchr: detect glibc Alpha bug
29980         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
29981         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
29982         Alpha.
29983         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
29984         * tests/test-memchr.c (main): Enhance test.
29985         Reported by Nelson H. F. Beebe.
29986
29987 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29988
29989         fts, getcwd, glob: audit for dirfd returning -1
29990         * lib/fts.c (opendir): Remove #define; no longer used.
29991         (opendirat): New arg PDIR_FD.  All callers changed.
29992         (fts_build, _opendir2): Use new opendirat to avoid the need for
29993         dirfd, or for checking whether dirfd returns a negative value.
29994         Don't use opendir; always use openat followed by fdopendir.
29995         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
29996         it.
29997         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
29998         returns -1 here.
29999         * modules/fts (Depends-on): Remove dirfd.
30000         * modules/getcwd (Depends-on): Likewise.
30001
30002 2010-09-13  Eric Blake  <eblake@redhat.com>
30003
30004         float: fix broken MirBSD header
30005         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
30006         * doc/posix-headers/float.texi (float.h): Document it.
30007
30008 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30009
30010         fts: use O_NOFOLLOW to avoid race condition when opening a directory
30011         * lib/fts.c (opendirat): New arg extra_flags.
30012         (__opendir2): Use it to avoid following symlinks when opening
30013         a directory, if symlinks are not supposed to be followed.  See
30014         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
30015
30016         fdopendir: preserve argument fd before returning
30017         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
30018         (fdopendir_with_dup, fd_clone_opendir): New static functions.
30019         (fdopendir): Use them, arranging for FD to be open to the same
30020         directory that it was when it started.  (It might be temporarily
30021         closed while fdopendir is running, so this not thread- or
30022         signal-safe.)  Be careful to do the right thing even when file
30023         descriptors are scarce and dup fails with errno == EMFILE.  See
30024         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
30025
30026 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
30027
30028         regex: Pass the system regex if its only problem is 32-bit regoff_t.
30029         * NEWS: Document change.
30030         * m4/regex.m4: Disable test for regoff_t size.
30031
30032 2010-09-13  Jim Meyering  <meyering@redhat.com>
30033
30034         fts: don't operate on an invalid file descriptor after failed dup
30035         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
30036         negative file descriptor.
30037
30038 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
30039
30040         savedir: add streamsavedir, deprecate fdsavedir
30041         * NEWS: Mention deprecation of fdsavedir.
30042         * lib/savedir.c (streamsavedir): New extern function, whose name
30043         ends in "savedir" to be consistent with the others.  This differs
30044         from savedirstream in that it doesn't close its argument.  The
30045         next version of GNU tar will use this instead of fdsavedir, to
30046         avoid some race conditions and conserve file descriptors.
30047         (savedirstream): Reimplement as a wrapper around streamsavedir.
30048         (fdsavedir): Add a comment deprecating this function.  As far as
30049         I know, only GNU tar used it, and GNU tar doesn't need it any more.
30050         * lib/savedir.h (streamsavedir): New decl.
30051         (fdsavedir): Add a comment deprecating this.
30052
30053 2010-09-10  Bruno Haible  <bruno@clisp.org>
30054
30055         langinfo: Fix last commit.
30056         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
30057         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
30058         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30059
30060 2010-09-10  Bruno Haible  <bruno@clisp.org>
30061
30062         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
30063         * lib/progreloc.c (O_EXEC): Define fallback.
30064
30065 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
30066
30067         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
30068         * NEWS: Document recent changes to fcntl-h.
30069         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
30070         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
30071         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
30072         Similarly for O_SEARCH; this last was already true, but not documented.
30073         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
30074         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
30075         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
30076         Likewise.
30077         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
30078         is zero, not whether it is defined.
30079         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
30080         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
30081         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
30082
30083 2010-09-10  Bruno Haible  <bruno@clisp.org>
30084
30085         langinfo, nl_langinfo: Fix for IRIX 5.3.
30086         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
30087         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
30088         HAVE_LANGINFO_YESEXPR.
30089         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
30090         HAVE_LANGINFO_YESEXPR.
30091         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
30092         HAVE_LANGINFO_T_FMT_AMPM is 0.
30093         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
30094         HAVE_LANGINFO_YESEXPR is 0.
30095         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
30096         NOEXPR.
30097         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
30098         * doc/posix-functions/nl_langinfo.texi: Likewise.
30099         Reported by Eric Blake.
30100
30101 2010-09-10  Bruno Haible  <bruno@clisp.org>
30102
30103         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
30104         * doc/glibc-functions/login_tty.texi: Mention the include file problem
30105         on FreeBSD 8.0 and OpenBSD 4.6.
30106         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
30107         * m4/pty_h.m4 (gl_PTY_H): Likewise.
30108         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
30109         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
30110         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
30111         ac_includes_default.
30112         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30113
30114 2010-09-09  Eric Blake  <eblake@redhat.com>
30115
30116         strsignal: work around NetBSD bug
30117         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
30118         * lib/string.in.h (includes): Likewise.
30119         * doc/posix-functions/strsignal.texi (strsignal): Document the
30120         bug.
30121         Reported by Nelson H. F. Beebe.
30122
30123         gnulib-tool: work with NetBSD /bin/sh
30124         * gnulib-tool (func_cache_var, func_cache_lookup_module)
30125         (func_get_description, func_get_comment, func_get_status)
30126         (func_get_notice, func_get_applicability, func_get_filelist)
30127         (func_get_dependencies, func_get_autoconf_early_snippet)
30128         (func_get_autoconf_snippet, func_get_automake_snippet)
30129         (func_get_include_directive, func_get_link_directive)
30130         (func_get_license, func_get_maintainer, func_import): Avoid
30131         shell syntax errors from parsing syntax extensions.
30132
30133 2010-09-09  Bruno Haible  <bruno@clisp.org>
30134
30135         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30136         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
30137         a reliable way to determine whether the 'alias' command works.
30138
30139 2010-09-08  Jim Meyering  <meyering@redhat.com>
30140
30141         init.sh: penalize a set-x-impaired shell; don't disqualify it
30142         * tests/init.sh: Too many shells corrupt application stderr when
30143         you set -x, so we can't afford to disqualify them, since at least
30144         on Irix-6.5, that would disqualify all bourne shells.
30145         Instead, use a two-pass approach.
30146         On the first pass, try to find a shell that meets the stricter
30147         condition that set -x does not corrupt stderr.
30148         If no shell meets the stricter condition, retest each candidate
30149         shell, but without that extra condition.  Finally, when
30150         VERBOSE=yes is requested and set -x might cause trouble, simply
30151         issue a warning and refrain from enabling debug output.
30152
30153 2010-09-08  Eric Blake  <eblake@redhat.com>
30154
30155         unsetenv: fix OpenBSD bug
30156         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
30157         * doc/posix-functions/unsetenv.texi (unsetenv): Update
30158         documentation.
30159         Reported by Jim Meyering.
30160
30161         strtod: work around IRIX 6.5 bug
30162         * lib/strtod.c (strtod): Reparse number on shorter string if
30163         exponent parse was invalid.
30164         * tests/test-strtod.c (main): Add check for "0x1p 2".
30165         Reported by Tom G. Christensen.
30166
30167         getopt: optimize previous patch
30168         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
30169         empty variable.  Speed up awk script.
30170         Reported by Paolo Bonzini.
30171
30172 2010-09-08  Jim Meyering  <meyering@redhat.com>
30173
30174         test.sh: disqualify shells for which set -x corrupts stderr
30175         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
30176         and OpenBSD 4.7.  They make it so with "set -x", environment settings
30177         appear in stderr output.  For example, this command:
30178             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
30179         prints "P=1" on those two systems:
30180
30181 2010-09-08  Bruno Haible  <bruno@clisp.org>
30182
30183         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30184         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
30185         commands, because some shells ignore redirections when there is an
30186         error in the command lookup.
30187         Reported by Eric Blake.
30188
30189 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
30190
30191         * lib/regex.h: Fix a mention of `regex_compile' (should be
30192         `re_compile_pattern').
30193         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
30194         (re_set_registers): Correct name of parameter in comment.
30195
30196         * doc/regex.texi: Add documentation for missing syntax flags.
30197         Remove commented-out documentation of defunct syntax option
30198         RE_NO_EMPTY_ALTS.
30199         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
30200         Add documentation of re_set_registers.
30201         Document trick to re-use a pattern buffer by setting fastmap manually.
30202         Update documentation of struct re_pattern_buffer per public members.
30203         Uncomment documentation of equivalence class operators and
30204         collating symbol operators, since they are now implemented,
30205         Explain leftmost-longest matching in relation to alternatives.
30206         Tidy documentation of substring matching.
30207         Remove POSIX documentation, which is done better in
30208         glibc, and refer the reader there. Keep BSD API documentation, as
30209         that is not readily available elsewhere.
30210
30211 2010-09-07  Eric Blake  <eblake@redhat.com>
30212
30213         getopt: handle POSIXLY_CORRECT set but not exported
30214         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
30215         export state of POSIXLY_CORRECT, due to bash set -o posix.
30216         Reported by Dustin J. Mitchell.
30217
30218 2010-09-05  Bruno Haible  <bruno@clisp.org>
30219
30220         gnulib-tool: Highlight the changed options.
30221         * gnulib-tool (func_usage): Display the --import, --add-import,
30222         --remove-import explanations in bold font.
30223
30224 2010-09-06  Karl Berry  <karl@gnu.org>
30225
30226         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
30227
30228 2010-09-05  Bruno Haible  <bruno@clisp.org>
30229
30230         uniwidth/width: Update comment.
30231         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
30232         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
30233
30234 2010-09-05  Bruno Haible  <bruno@clisp.org>
30235
30236         isinf, isnan: Relax license.
30237         * modules/isinf (License): Change from GPL to LGPL, with consent from
30238         Ben Pfaff.
30239         * modules/isnan (License): Likewise.
30240         Requested by Ludovic Courtès.
30241
30242 2010-09-04  Bruno Haible  <bruno@clisp.org>
30243
30244         gnulib-tool: Help migration from --import to --add-import or --update.
30245         * gnulib-tool: Emit a verbose error message when --import is used
30246         without any module name.
30247
30248 2010-09-04  Bruno Haible  <bruno@clisp.org>
30249
30250         Update doc about gnulib-tool.
30251         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
30252         'gnulib-tool --update' in more detail.
30253         Reported by Eric Blake.
30254
30255 2010-09-04  Bruno Haible  <bruno@clisp.org>
30256
30257         gnulib-tool: Change --import. New options --add/remove-import.
30258         * gnulib-tool: New options --add-import, --remove-import.
30259         (func_usage): Document them.
30260         (have_associative): Define always.
30261         (func_import): In import mode, don't merge the specified settings with
30262         the cached settings. Implement remove-import mode.
30263         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
30264         Explain when to use them versus --import.
30265         (Simple update): Use --add-import instead of --import.
30266         * NEWS: Mention the change.
30267
30268 2010-09-04  Bruno Haible  <bruno@clisp.org>
30269
30270         * doc/gnulib-tool.texi (Initial import): Update paragraph about
30271         separate gnulib.mk.
30272
30273 2010-09-04  Bruno Haible  <bruno@clisp.org>
30274
30275         gnulib-tool: Don't talk about CVS any more.
30276         * gnulib-tool (func_usage, func_import): Write "version control"
30277         instead of CVS.
30278
30279 2010-09-04  Jim Meyering  <meyering@redhat.com>
30280
30281         maint.mk: avoid obscure sc_copyright_check failure in coreutils
30282         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
30283         false positives (whose names may be ill-chosen) when searching
30284         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
30285         would cause a false-positive.
30286
30287         avoid coreutils "make distcheck" failure
30288         Coreutils tests with an absolute build directory name that contains
30289         a space.  Not quoting this directory name caused a failure.
30290         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
30291         * tests/test-vc-list-files-cvs.sh: Likewise.
30292
30293 2010-09-04  Bruno Haible  <bruno@clisp.org>
30294
30295         gnulib-tool: Avoid error when run in a package without Makefile.am.
30296         * gnulib-tool: When collecting the m4dirs in a package that does not
30297         have a Makefile.am, eliminate those directories that contain no
30298         gnulib-cache.m4. Fix expression that counts these directories.
30299
30300 2010-09-04  Bruno Haible  <bruno@clisp.org>
30301
30302         update-copyright test: Improve output when perl is missing or too old.
30303         * tests/test-update-copyright.sh: Move test of Perl version down after
30304         the test whether Perl exists. Provide an explanation relating Perl's
30305         error message to Automake's SKIP: message.
30306
30307 2010-09-04  Bruno Haible  <bruno@clisp.org>
30308
30309         Don't augment PATH in TESTS_ENVIRONMENT.
30310         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
30311         set abs_aux_dir instead of augmenting PATH.
30312         * modules/vc-list-files-tests (Makefile.am): Likewise.
30313         * tests/test-update-copyright.sh: Augment PATH here.
30314         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
30315         path_prepend_.
30316         * tests/test-vc-list-files-git.sh: Likewise.
30317
30318 2010-09-04  Jim Meyering  <meyering@redhat.com>
30319
30320         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
30321         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
30322
30323 2010-09-04  Bruno Haible  <bruno@clisp.org>
30324
30325         strdup: Fix compilation error in C++ mode.
30326         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
30327         the macro.
30328
30329 2010-09-04  Bruno Haible  <bruno@clisp.org>
30330
30331         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
30332         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
30333         macro into a function.
30334         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30335
30336 2010-09-04  Bruno Haible  <bruno@clisp.org>
30337
30338         Set PATH_SEPARATOR the same way autoconf does.
30339         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
30340         the value of PATH_SEPARATOR the same way autoconf-generated configure
30341         scripts do.
30342         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
30343         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30344
30345 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
30346
30347         Set PATH_SEPARATOR the same way autoconf does.
30348         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
30349         the same way autoconf-generated configure scripts do.
30350         * posix-modules: Likewise.
30351
30352 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
30353
30354         hash: fix safe_hasher const typo
30355         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
30356         const; otherwise, there is a type error later.
30357
30358 2010-09-02  Jim Meyering  <meyering@redhat.com>
30359
30360         test-update-copyright.sh: require perl 5.8.0
30361         * tests/test-update-copyright.sh: Require 5.8.0,
30362         which Tom G. Christensen has confirmed is adequate,
30363         while 5.6.1 is not.
30364
30365 2010-09-02  Eric Blake  <eblake@redhat.com>
30366
30367         tests: init.sh improvements for re-exec'ing with zsh
30368         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
30369         -vx through shell re-exec.
30370         Reported by Tom G. Christensen.
30371
30372         wctype: fix typo in previous commit
30373         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
30374         Reported by Ludovic Courtès.
30375
30376 2010-09-02  Jim Meyering  <meyering@redhat.com>
30377
30378         test-update-copyright.sh: skip test if Perl is too old
30379         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
30380         Reported by Tom G. Christensen.
30381
30382 2010-09-02  Bruno Haible  <bruno@clisp.org>
30383
30384         wctype: Avoid compilation error on IRIX 6.5.30.
30385         * lib/wctype.in.h (iswblank): Declare with a replacement if
30386         REPLACE_ISWBLANK is set.
30387         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
30388         declared. Set REPLACE_ISWBLANK.
30389         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
30390         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
30391         * doc/posix-headers/wctype.texi: Likewise.
30392         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30393
30394 2010-09-01  Bruno Haible  <bruno@clisp.org>
30395
30396         New module 'socketlib'.
30397         * modules/socketlib: New file.
30398         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
30399         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
30400         * modules/sockets (Depends-on): Add socketlib.
30401         Suggested by Sam Steingold <sds@gnu.org>.
30402
30403 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30404
30405         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
30406
30407         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
30408         when one needs search access to a directory but not read access.
30409         On systems where it is available, it works in some cases where
30410         O_RDONLY does not, namely on directories that are searchable but
30411         not readable, and which need only to be searchable.  If O_SEARCH
30412         is not available, fall back to the traditional method of using
30413         O_RDONLY.
30414
30415         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
30416         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
30417         when opening a directory that needs only to be searchable.
30418         * lib/chdir-safer.c (chdir_no_follow): Likewise.
30419         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
30420         * lib/openat-proc.c (openat_proc_name): Likewise.
30421         * lib/openat.c (openat_needs_fchdir): Likewise.
30422         * lib/save-cwd.c (save_cwd): Likewise.
30423         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
30424
30425 2010-08-28  Bruno Haible  <bruno@clisp.org>
30426
30427         New module 'host-cpu-c-abi'.
30428         * modules/host-cpu-c-abi: New file.
30429         * m4/host-cpu-c-abi.m4: New file, based on part of
30430         clisp/src/m4/general.m4.
30431         Requested by Sam Steingold <sds@gnu.org>.
30432
30433 2010-08-31  Eric Blake  <eblake@redhat.com>
30434         and Jim Meyering  <meyering@redhat.com>
30435
30436         hash: factor, and guard against misbehaving hasher function
30437         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
30438         of table->hasher's return value.  Also protect against a hash value
30439         so large that adding it to table->bucket results in a NULL pointer.
30440         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
30441         Use it in place of open-coded check-and-abort.
30442
30443 2010-08-30  Bruno Haible  <bruno@clisp.org>
30444
30445         hash: silence spurious clang warning
30446         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
30447         Reported by Eric Blake.
30448
30449 2010-08-30  Eric Blake  <eblake@redhat.com>
30450
30451         strstr, memmem, strcasestr: avoid leaked shell message
30452         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
30453         FreeBSD.
30454         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30455         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30456
30457         tests: silence clang warning
30458         * tests/test-malloca.c (do_allocation): Avoid dead store.
30459
30460 2010-08-29  Bruno Haible  <bruno@clisp.org>
30461
30462         gettext: Fix recent mistake.
30463         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
30464
30465 2010-08-29  Bruno Haible  <bruno@clisp.org>
30466
30467         selinux-h: Offer a --without-selinux option.
30468         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
30469         --without-selinux was specified, skip all tests and define
30470         HAVE_SELINUX_SELINUX_H to 0.
30471         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
30472         set LIB_SELINUX to empty.
30473         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
30474         gl_LIBSELINUX. If --without-selinux was specified, replace
30475         selinux/context.h.
30476         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
30477
30478 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30479             Bruno Haible  <bruno@clisp.org>
30480
30481         Make the module 'realloc-gnu' work again on AIX and OSF/1.
30482         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
30483         of HAVE_REALLOC.
30484         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
30485         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
30486         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
30487         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30488
30489 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30490             Bruno Haible  <bruno@clisp.org>
30491
30492         Make the module 'calloc-gnu' work again on AIX and OSF/1.
30493         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
30494         HAVE_CALLOC.
30495         * lib/xmalloc.c: Update accordingly.
30496         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
30497         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
30498         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
30499
30500 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30501             Bruno Haible  <bruno@clisp.org>
30502
30503         Make the module 'malloc-gnu' work again on AIX and OSF/1.
30504         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
30505         HAVE_MALLOC.
30506         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
30507         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
30508         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30509
30510 2010-08-29  Bruno Haible  <bruno@clisp.org>
30511
30512         Update modules list.
30513         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30514         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
30515         (String handling <string.h>): Add astrxfrm.
30516         (File system functions): Add readlinkat.
30517
30518 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30519
30520         Tests for module 'realloc-gnu'.
30521         * modules/realloc-gnu-tests: New file.
30522         * tests/test-realloc-gnu.c: New file.
30523
30524         Tests for module 'calloc-gnu'.
30525         * modules/calloc-gnu-tests: New file.
30526         * tests/test-calloc-gnu.c: New file.
30527
30528         Tests for module 'malloc-gnu'.
30529         * modules/malloc-gnu-tests: New file.
30530         * tests/test-malloc-gnu.c: New file.
30531
30532 2010-08-28  Bruno Haible  <bruno@clisp.org>
30533
30534         Rename module 'realloc' -> 'realloc-gnu'.
30535         * modules/realloc-gnu: New file, copied from modules/realloc.
30536         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
30537         obsolete.
30538         * modules/mgetgroups (Depends-on): Update.
30539         * doc/posix-functions/realloc.texi: Update.
30540         * NEWS: Mention the change.
30541
30542         Rename module 'calloc' -> 'calloc-gnu'.
30543         * modules/calloc-gnu: New file, copied from modules/calloc.
30544         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
30545         obsolete.
30546         * doc/posix-functions/calloc.texi: Update.
30547         * NEWS: Mention the change.
30548
30549         Rename module 'malloc' -> 'malloc-gnu'.
30550         * modules/malloc-gnu: New file, copied from modules/malloc.
30551         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
30552         obsolete.
30553         * modules/argp (Depends-on): Update.
30554         * modules/regex (Depends-on): Update.
30555         * doc/posix-functions/malloc.texi: Update.
30556         * NEWS: Mention the change.
30557
30558 2010-08-28  Eric Blake  <eblake@redhat.com>
30559
30560         pread, pwrite: add missing dependency
30561         * modules/pread (Depends-on): Add extensions.
30562         * modules/pwrite (Depends-on): Likewise.
30563
30564 2010-08-28  Bruno Haible  <bruno@clisp.org>
30565
30566         unistr/u*-strchr: Fix tests dependencies.
30567         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
30568         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
30569         Reported by Ian Beckwith <ianb@erislabs.net>.
30570
30571 2010-08-28  Bruno Haible  <bruno@clisp.org>
30572
30573         read-file: Don't occupy too much unused memory.
30574         * lib/read-file.c (fread_file): Shrink the buffer at the end.
30575
30576 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
30577             Eric Blake  <eblake@redhat.com>
30578             Bruno Haible  <bruno@clisp.org>
30579
30580         read-file: Avoid memory reallocations with regular files.
30581         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
30582         (fread_file): With regular files, use the remaining length as the
30583         initial buffer size.  Check against overflow.
30584         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
30585         sys_stat.
30586
30587 2010-08-28  Bruno Haible  <bruno@clisp.org>
30588
30589         ftello: Relax license.
30590         * modules/ftello (License): Relax to LGPLv2+.
30591         Reported by Eric Blake.
30592
30593 2010-08-28  Bruno Haible  <bruno@clisp.org>
30594
30595         Avoid relocwrapper link errors due to gnulib replacement functions.
30596         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
30597         function.
30598         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30599
30600 2010-08-28  Bruno Haible  <bruno@clisp.org>
30601
30602         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
30603         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
30604         defined.
30605         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
30606         Suggested by Eric Blake.
30607
30608 2010-08-28  Bruno Haible  <bruno@clisp.org>
30609
30610         sys_socket, netdb: Ensure socklen_t gets defined.
30611         * modules/sys_socket (Depends-on): Add socklen.
30612         * modules/netdb (Depends-on): Likewise.
30613         * modules/getaddrinfo (Depends-on): Remove socklen.
30614         * modules/getsockopt (Depends-on): Likewise.
30615         * modules/setsockopt (Depends-on): Likewise.
30616         * tests/test-sys_socket.c: Check that socklen_t is defined.
30617         * tests/test-netdb.c: Likewise.
30618         * m4/socklen.m4: Update comments.
30619         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30620
30621 2010-08-27  Eric Blake  <eblake@redhat.com>
30622
30623         login_tty: add missing dependency
30624         * modules/login_tty (Depends-on): Add pty.
30625
30626 2010-08-26  Eric Blake  <eblake@redhat.com>
30627
30628         lib-symbol-versions: fix m4 quoting
30629         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
30630         format for AC_LINK_IFELSE.
30631
30632         glob: fix compile test
30633         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
30634
30635         btowc: fix missing file
30636         * modules/btowc (Files): Also ship locale-fr.m4.
30637
30638         lseek: fix link test
30639         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
30640         AC_LINK_IFELSE.
30641
30642         include_next: silence autoconf 2.68 warning
30643         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
30644         AC_COMPILE_IFELSE as special.
30645         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
30646         autoconf < 2.68.
30647
30648         acl: fix compilation test
30649         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
30650         AC_COMPILE_IFELSE.
30651
30652 2010-08-26  Bruno Haible  <bruno@clisp.org>
30653
30654         Modernize AC_TRY_RUN invocations.
30655         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
30656         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
30657         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
30658         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
30659         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
30660         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30661         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
30662         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30663         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30664         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30665         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
30666         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30667         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
30668         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30669         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
30670         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
30671         gl_MBRLEN_NUL_RETVAL): Likewise.
30672         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30673         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30674         Likewise.
30675         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30676         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
30677         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
30678         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
30679         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
30680         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
30681         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
30682         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
30683         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
30684         Likewise.
30685         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30686         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
30687         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30688         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30689         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30690         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
30691         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
30692         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
30693         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30694         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30695
30696 2010-08-26  Bruno Haible  <bruno@clisp.org>
30697
30698         Modernize AC_TRY_LINK invocations.
30699         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
30700         AC_TRY_LINK.
30701         * m4/argp.m4 (gl_ARGP): Likewise.
30702         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
30703         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30704         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30705         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30706         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30707         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
30708         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
30709         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
30710         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30711         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30712         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30713         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
30714         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
30715         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30716         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30717         * m4/hostent.m4 (gl_HOSTENT): Likewise.
30718         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30719         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
30720         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30721         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
30722         Likewise.
30723         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
30724         Likewise.
30725         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
30726         Likewise.
30727         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30728         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
30729         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
30730         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
30731         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
30732         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
30733         * m4/servent.m4 (gl_SERVENT): Likewise.
30734         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
30735         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
30736         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
30737         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
30738         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30739         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
30740         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30741         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30742         * modules/tsearch-tests (configure.ac): Likewise.
30743
30744 2010-08-26  Bruno Haible  <bruno@clisp.org>
30745
30746         Modernize AC_TRY_COMPILE invocations.
30747         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
30748         AC_TRY_COMPILE.
30749         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
30750         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
30751         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
30752         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
30753         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
30754         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30755         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30756         * m4/lock.m4 (gl_LOCK): Likewise.
30757         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
30758         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
30759         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
30760         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30761         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
30762         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
30763         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
30764         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
30765         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
30766         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
30767         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
30768         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30769         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
30770         extraneous semicolon.
30771
30772 2010-08-26  Jim Meyering  <meyering@redhat.com>
30773
30774         stat-time: relax license LGPL
30775         * modules/stat-time (License): Change from GPL to LGPL,
30776         with consent from all contributors, for use in libguile.
30777         Requested by Ludovic Courtès.
30778
30779 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
30780
30781         poll: return immediately on POLLHUP.
30782         * lib/poll.c (poll): Always set timeout before wait_timeout is
30783         computed.
30784
30785 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30786
30787         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
30788         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
30789         rmdir ("dir/.//"), unlinkat.
30790
30791 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
30792
30793         stdbool: avoid spurious failure with modern xlc
30794         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30795
30796 2010-08-24  Bruno Haible  <bruno@clisp.org>
30797
30798         getloadavg: simplify code
30799         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
30800         gl_have_func. Update comments.
30801
30802 2010-08-24  Eric Blake  <eblake@redhat.com>
30803
30804         getloadavg: don't define SVR4 on cygwin
30805         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
30806         only define SVR4 when -lkvm is required.
30807         Reported by Yaakov Selkowitz.
30808
30809 2010-08-24  Bruno Haible  <bruno@clisp.org>
30810
30811         priv-set: fix comment
30812         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
30813
30814 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
30815
30816         priv-set: fix comments
30817         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
30818         to match code, as suggested by David Bartley in:
30819         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
30820
30821 2010-08-23  Eric Blake  <eblake@redhat.com>
30822
30823         stdbool: avoid rejecting clang
30824         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30825         * tests/test-stdbool.c: Enable more tests if using the system
30826         <stdbool.h> instead of the gnulib replacement.
30827         (main): Move xlc bug test to a runtime test for all compilers.
30828         Reported by Anders Kaseorg.
30829
30830         argz: fix shell quoting issue
30831         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
30832         Reported by Charles Wilson.
30833
30834 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
30835             Erik Faye-Lund <kusmabite@gmail.com>
30836
30837         poll, select: handle ERROR_BROKEN_PIPE.
30838         * lib/poll.c (win32_compute_revents): Return POLLHUP when
30839         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30840         * lib/select.c (win32_compute_revents): Do not mark a pipe
30841         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30842
30843 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
30844
30845         fts: allow compilation with C++
30846         * lib/fts_.h: Specify extern "C" linkage with C++.
30847
30848 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30849
30850         Fix gnulib-tool sed script de-commentation for AIX sed.
30851         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
30852         sed.
30853
30854 2010-08-17  Eric Blake  <eblake@redhat.com>
30855
30856         test-stddef: test for (some) offsetof bugs
30857         * tests/test-stddef.c: Enhance test to ensure correct type of
30858         offsetof.
30859         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
30860         that we are not fixing at this time.
30861
30862 2010-08-15  Bruno Haible  <bruno@clisp.org>
30863
30864         stpncpy: Allow stpncpy to be defined as a macro.
30865         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
30866         if it's already correctly declared.
30867         * lib/string.in.h (stpncpy): Undefine before redefining.
30868         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
30869
30870 2010-08-14  Bruno Haible  <bruno@clisp.org>
30871
30872         Rename module 'memxfrm' to 'amemxfrm'.
30873         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
30874         (amemxfrm): Renamed from memxfrm.
30875         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
30876         (amemxfrm): Renamed from memxfrm.
30877         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
30878         * NEWS: Mention the change.
30879         * MODULES.html.sh (String handling <string.h>): Update.
30880         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
30881         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
30882         * lib/unicase/u16-casexfrm.c: Likewise.
30883         * lib/unicase/u32-casexfrm.c: Likewise.
30884         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
30885         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
30886         * lib/uninorm/u16-normxfrm.c: Likewise.
30887         * lib/uninorm/u32-normxfrm.c: Likewise.
30888         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
30889         memxfrm.
30890         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
30891         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
30892         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
30893         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
30894         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
30895         Suggested by Paul Eggert.
30896
30897 2010-08-14  Bruno Haible  <bruno@clisp.org>
30898
30899         Tests for module 'astrxfrm'.
30900         * modules/astrxfrm-tests: New file.
30901         * tests/test-astrxfrm.c: New file.
30902
30903         New module 'astrxfrm'.
30904         * lib/astrxfrm.h: New file.
30905         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
30906         * modules/astrxfrm: New file.
30907
30908 2010-08-14  Reuben Thomas <rrt@sc3d.org>
30909
30910         regex: Tweak doc.
30911         * doc/regex.texi (Overview): Don't mention regex.c.
30912         (GNU Regular Expression Compiling): Likewise.
30913         (Match-end-of-line Operator): Mention 'not_eol'.
30914
30915 2010-08-14  Brian Gough  <bjg@gnu.org>
30916             Bruno Haible  <bruno@clisp.org>
30917
30918         git-merge-changelog: add doc relating to use with bzr and hg.
30919         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
30920
30921 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
30922
30923         pthread: fix pthread.h creation for srcdir != builddir
30924         * modules/pthread (Makefile.am): Fix the rule to work also in a
30925         non-srcdir build.
30926
30927 2010-08-13  Karl Berry  <karl@gnu.org>
30928
30929         * doc/regex.texi (Predefined Syntaxes): @smallexample.
30930         * doc/posix-*/*: force line break before @url of POSIX
30931         specifications.
30932         Suggested by Werner Lemberg.
30933
30934 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30935
30936         strtod: fix const diagnostic
30937         * lib/strtod.c (strtod): Don't assign const char * to char *,
30938         as this elicits a warning from GCC when warnings are enabled.
30939
30940 2010-08-10  Pádraig Brady <P@draigbrady.com>
30941         and Eric Blake  <eblake@redhat.com>
30942
30943         copy-acl: ignore ENOTSUP on HP-UX
30944         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
30945         so that it is available for HP-UX.
30946         * lib/copy-acl.c (qcopy_acl): Use it.
30947         Reported by Patrick M. Callahan.
30948
30949 2010-08-10  Eric Blake  <eblake@redhat.com>
30950
30951         open, chown: relax license
30952         * modules/open (License): Change to LGPLv2+, with consent by all
30953         authors, for use in augeas.
30954         * modules/chown (License): Likewise.
30955         * modules/lchown (Likewise): Likewise.
30956         Requested by Adam Stokes.
30957
30958 2010-08-09  Karl Berry  <karl@gnu.org>
30959
30960         * build-aux/ar-lib: new file, import from Automake.
30961         * config/srclist.txt: autocheck for updates.
30962
30963 2010-08-09  Eric Blake  <eblake@redhat.com>
30964
30965         readlinkat: adjust client modules
30966         * modules/areadlinkat (Depends-on): Use readlinkat, not
30967         symlinkat.
30968         * modules/areadlinkat-with-size (Depends-on): Likewise.
30969
30970         mknod: be more vocal about danger of running tests as root
30971         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
30972         root, since that is just asking for problems.
30973         Suggested by Bruno Haible, based on a report by Rainer Tammer.
30974
30975         readlinkat: split into its own module
30976         * modules/symlinkat: Split readlinkat...
30977         * modules/readlinkat: ...into separate module.
30978         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
30979         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
30980         * lib/symlinkat.c (readlinkat): Move...
30981         * lib/readlinkat.c: ...into new file.
30982         * modules/symlinkat-tests: Split readlinkat test...
30983         * modules/readlinkat-tests: ...into separate module.
30984         * tests/test-symlinkat.c: Split...
30985         * tests/test-readlinkat.c: ...into new file.
30986         * NEWS: Document the split.
30987         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30988         * lib/unistd.in.h (readlinkat): Likewise.
30989         Suggested by Bruno Haible.
30990
30991 2010-08-08  Bruno Haible  <bruno@clisp.org>
30992
30993         memxfrm: Speed up.
30994         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
30995         that usually only one call to strxfrm is necessary for each string
30996         part.
30997         Reported by Paul Eggert <eggert@cs.ucla.edu>.
30998
30999 2010-08-07  Karl Berry  <karl@gnu.org>
31000
31001         * doc/posix-headers/limits.texi,
31002         * doc/posix-functions/malloc.texi,
31003         * doc/posix-functions/strsignal.texi: missing @item.
31004         * doc/ld-version-script.texi: spurious leading i.
31005         * doc/regex.texi (Interval Operators): no commas inside @var.
31006
31007 2010-08-01  Bruno Haible  <bruno@clisp.org>
31008
31009         Integrate the regex documentation.
31010         * doc/gnulib.texi: Define 'cn' index.
31011         (Regular expressions): New a chapter that includes regex.texi and
31012         regexprops-generic.texi.
31013         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
31014         syntax.
31015
31016         Whitespace cleanup.
31017         * doc/regex.texi: Remove trailing spaces.
31018
31019         Add regex documentation.
31020         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
31021         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
31022         Written by Kathy A. Hargreaves and Karl Berry.
31023
31024 2010-08-01  Bruno Haible  <bruno@clisp.org>
31025
31026         link: Update documentation.
31027         * doc/posix-functions/link.texi: Update regarding Solaris.
31028
31029 2010-07-31  Bruno Haible  <bruno@clisp.org>
31030
31031         Update modules list.
31032         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
31033         (String handling <string.h>): Add memcmp2, memxfrm.
31034         (Container data structures): Add xlist, xsublist, xoset.
31035         (Core language properties): Add alignof, unused-parameter.
31036         (Process control, Numeric conversion functions <stdlib.h>): Renamed
31037         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
31038         (Unibyte characters <ctype.h>): New section.
31039         (String handling <string.h>): New section.
31040         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
31041         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
31042         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
31043         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
31044         tan, tanh, tanl, y0, y1, yn.
31045         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
31046         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
31047         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
31048         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
31049         unlockpt, vdprintf, vdprintf-posix.
31050         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
31051         (File system functions): Add concat-filename, sys_file, sys_ioctl,
31052         xconcat-filename.
31053         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
31054         getdtablesize, pipe2, pipe2-safer.
31055         (Security): New section.
31056         (Networking functions): Add accept4.
31057         (Signal handling): Add sigpipe.
31058         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
31059         mbmemcasecoll.
31060         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
31061         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
31062         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
31063         pipe-filter-ii.
31064         (Misc): Add argp-version-etc, login_tty, parse-duration.
31065
31066 2010-07-31  Bruno Haible  <bruno@clisp.org>
31067
31068         Improve doc in MODULES.html.
31069         * modules/linkat (Description): Add the word "function".
31070         * modules/mkfifo (Description): Likewise.
31071         * modules/mknod (Description): Likewise.
31072         * modules/remove (Description): Likewise.
31073         * modules/renameat (Description): Likewise.
31074         * modules/stat (Description): Likewise.
31075         * modules/symlink (Description): Likewise.
31076         * modules/unlink (Description): Likewise.
31077
31078 2010-07-31  Bruno Haible  <bruno@clisp.org>
31079
31080         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
31081         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
31082         option --enable/disable-c++ instead of --enable/disable-cxx.
31083         * NEWS: Mention the change.
31084
31085 2010-07-31  Bruno Haible  <bruno@clisp.org>
31086
31087         readlink, areadlink: Relax test a bit.
31088         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
31089         alternative to ENOTDIR.
31090         * tests/test-areadlink.h (test_areadlink): Likewise.
31091         Reported by Rainer Tammer.
31092
31093 2010-07-31  Bruno Haible  <bruno@clisp.org>
31094
31095         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
31096         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
31097         character, perform the search using U_STRCHR.
31098         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
31099         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
31100         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
31101         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
31102         Suggested by Paolo Bonzini.
31103
31104 2010-07-31  Bruno Haible  <bruno@clisp.org>
31105
31106         unistr/u*-strstr: Fix dependencies.
31107         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
31108         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
31109         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
31110
31111 2010-07-31  Bruno Haible  <bruno@clisp.org>
31112
31113         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
31114         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
31115         the beginning of the loop.
31116         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
31117         cases in 'switch' statement.
31118
31119         unistr/u8-strchr: Fix several bugs.
31120         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
31121         the string. When not found, return NULL, not a pointer near the end.
31122
31123         More tests for unistr/u8-strchr.
31124         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
31125         that the function does not read past the first occurrence of the byte
31126         being searched.
31127         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
31128         * tests/unistr/test-u16-strchr.c (main): New function.
31129         * tests/unistr/test-u32-strchr.c (main): New function.
31130
31131 2010-07-31  Bruno Haible  <bruno@clisp.org>
31132
31133         posix-modules: Ignore backup files of documentation files.
31134         * posix-modules: grep only through files named *.texi.
31135
31136 2010-07-31  Bruno Haible  <bruno@clisp.org>
31137
31138         symlinkat: Fix documentation.
31139         * doc/posix-functions/readlinkat.texi: Fix module name.
31140
31141 2010-07-31  Bruno Haible  <bruno@clisp.org>
31142
31143         fchownat: Replace also when chown has the trailing slash bug.
31144         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
31145         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
31146         introduced on 2010-04-10.
31147         Reported by Rainer Tammer.
31148
31149 2010-07-31  Bruno Haible  <bruno@clisp.org>
31150
31151         linkat: Work around AIX 7.1 bug.
31152         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
31153         whether linkat handles trailing slash correctly. If not, replace linkat
31154         and define LINKAT_TRAILING_SLASH_BUG.
31155         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
31156         check whether (fd1,file1) points to a directory if file1 or file2 ends
31157         in a slash. Code taken from lib/link.c.
31158         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
31159         Reported by Rainer Tammer.
31160
31161 2010-07-31  Bruno Haible  <bruno@clisp.org>
31162
31163         Correctly determine whether pow is available in libc on AIX 7 with xlc.
31164         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
31165         This disables an xlc optimization that was causing wrong test results.
31166         Reported by Rainer Tammer.
31167
31168 2010-07-31  Bruno Haible  <bruno@clisp.org>
31169
31170         iconv: Work around AIX 6.1..7.1 bug.
31171         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
31172         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
31173         cross-compiling, guess no on all versions of AIX.
31174         Reported by Rainer Tammer.
31175
31176 2010-07-31  Bruno Haible  <bruno@clisp.org>
31177
31178         readlink: Relax test a bit.
31179         * tests/test-readlink.h (test_readlink): Allow different errno value
31180         when readlink is called with a file name that ends in / and refers to
31181         a file.
31182         Suggested by Eric Blake.
31183         Reported by Rainer Tammer.
31184
31185 2010-07-31  Bruno Haible  <bruno@clisp.org>
31186
31187         copysign: Does not require -lm on glibc systems.
31188         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
31189         gl_COMMON_DOUBLE_MATHFUNC.
31190         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
31191
31192 2010-07-31  Bruno Haible  <bruno@clisp.org>
31193
31194         duplocale: Work around AIX 7.1 bug.
31195         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
31196         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
31197         * lib/duplocale.c (rpl_duplocale): Update comment.
31198         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
31199         Reported by Rainer Tammer.
31200
31201 2010-07-30  Bruno Haible  <bruno@clisp.org>
31202
31203         dirfd: Avoid link error on AIX 7.1.
31204         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
31205         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
31206         exist, set REPLACE_DIRFD.
31207         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
31208         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
31209         * doc/posix-functions/dirfd.texi: Update.
31210         Reported by Rainer Tammer.
31211
31212 2010-07-30  Eric Blake  <eblake@redhat.com>
31213
31214         strtod: next round of AIX fixes
31215         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
31216         exponent.
31217         * tests/test-strtod.c (main): Enhance tests.
31218         * doc/posix-functions/strtod.texi (strtod): Document next bug.
31219         Reported by Rainer Tammer.
31220
31221         futimens: fix configure check
31222         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
31223         Reported by Bruno Haible.
31224
31225 2010-07-30  Bruno Haible  <bruno@clisp.org>
31226
31227         getline: Update regarding AIX.
31228         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
31229         Reported by Rainer Tammer.
31230
31231 2010-07-30  Bruno Haible  <bruno@clisp.org>
31232
31233         wcwidth: Drop replacement on AIX 7.
31234         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
31235         AIX 7.
31236         Reported by Rainer Tammer.
31237
31238 2010-07-30  Bruno Haible  <bruno@clisp.org>
31239
31240         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
31241         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
31242         a 'char *'.
31243         Reported by Rainer Tammer.
31244
31245 2010-07-30  Bruno Haible  <bruno@clisp.org>
31246
31247         unlink: Update regarding AIX.
31248         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
31249         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
31250         Reported by Rainer Tammer.
31251
31252 2010-07-30  Bruno Haible  <bruno@clisp.org>
31253
31254         symlink: Update regarding AIX.
31255         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
31256         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
31257         Reported by Rainer Tammer.
31258
31259 2010-07-30  Bruno Haible  <bruno@clisp.org>
31260
31261         strndup: Update regarding AIX.
31262         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
31263         AIX 7.
31264         Reported by Rainer Tammer.
31265
31266 2010-07-30  Bruno Haible  <bruno@clisp.org>
31267
31268         stat: Update regarding AIX.
31269         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
31270         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
31271         Reported by Rainer Tammer.
31272
31273 2010-07-30  Bruno Haible  <bruno@clisp.org>
31274
31275         truncl: Fix autoconf test.
31276         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
31277         whether truncl works.
31278         Reported by Rainer Tammer.
31279
31280 2010-07-30  Bruno Haible  <bruno@clisp.org>
31281
31282         round: Update regarding AIX.
31283         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
31284         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
31285         Reported by Rainer Tammer.
31286
31287 2010-07-30  Bruno Haible  <bruno@clisp.org>
31288
31289         rename: Update regarding AIX.
31290         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
31291         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
31292         Reported by Rainer Tammer.
31293
31294 2010-07-30  Bruno Haible  <bruno@clisp.org>
31295
31296         printf.m4: Update regarding AIX.
31297         * m4/printf.m4: Update comments regarding AIX.
31298         Reported by Rainer Tammer.
31299
31300 2010-07-30  Bruno Haible  <bruno@clisp.org>
31301
31302         iconv: Update regarding AIX.
31303         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
31304         AIX 7.
31305         Reported by Rainer Tammer.
31306
31307 2010-07-30  Bruno Haible  <bruno@clisp.org>
31308
31309         getopt: Update regarding AIX.
31310         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
31311         no on AIX.
31312         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
31313         Reported by Rainer Tammer.
31314
31315 2010-07-30  Bruno Haible  <bruno@clisp.org>
31316
31317         ldexpl; Update regarding AIX.
31318         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
31319         on AIX 7.
31320         Reported by Rainer Tammer.
31321
31322 2010-07-30  Bruno Haible  <bruno@clisp.org>
31323
31324         frexpl: Update regarding AIX.
31325         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
31326         on AIX 7.
31327         Reported by Rainer Tammer.
31328
31329 2010-07-30  Bruno Haible  <bruno@clisp.org>
31330
31331         open, fopen: Update regarding AIX.
31332         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
31333         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31334         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
31335         * doc/posix-functions/fopen.texi: Likewise.
31336         Reported by Rainer Tammer.
31337
31338 2010-07-30  Bruno Haible  <bruno@clisp.org>
31339
31340         chown: Update doc regarding AIX.
31341         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
31342         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
31343         Reported by Rainer Tammer.
31344
31345 2010-07-30  Eric Blake  <eblake@redhat.com>
31346
31347         strtod: fix bug in replacement function on AIX
31348         * lib/strtod.c (strtod): Special case broken "0x" parse in
31349         underlying strtod.
31350         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
31351         * doc/posix-functions/strtod.texi (strtod): Likewise.
31352         Reported by Rainer Tammer.
31353
31354 2010-07-30  Bruno Haible  <bruno@clisp.org>
31355
31356         mbrlen: Fix cross-compilation guess for AIX.
31357         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
31358         guess. Leftover from 2008-12-22.
31359
31360 2010-07-30  Bruno Haible  <bruno@clisp.org>
31361
31362         mbrtowc: Fix cross-compilation guess for AIX.
31363         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
31364         guess. Leftover from 2008-12-21.
31365
31366 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
31367
31368         init.sh: work around trap limitation of some shells
31369         * tests/init.sh (setup_): Move exit trap outside of shell function.
31370
31371 2010-07-29  Eric Blake  <eblake@redhat.com>
31372
31373         strtod: aid debugging
31374         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
31375         understanding why strtod is rejected.
31376
31377 2010-07-28  Bruno Haible  <bruno@clisp.org>
31378
31379         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
31380         * lib/unistr/u8-chr.c: Include <string.h>.
31381         * tests/unistr/test-u8-chr.c: Likewise.
31382         * tests/unistr/test-u16-chr.c: Likewise.
31383         * tests/unistr/test-u32-chr.c: Likewise.
31384         * tests/unistr/test-u8-strchr.c: Likewise.
31385         * tests/unistr/test-u16-strchr.c: Likewise.
31386         * tests/unistr/test-u32-strchr.c: Likewise.
31387         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
31388         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
31389         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
31390         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
31391
31392 2010-07-28  Bruno Haible  <bruno@clisp.org>
31393
31394         Use spaces for indentation, not tabs.
31395         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31396
31397 2010-07-27  Bruno Haible  <bruno@clisp.org>
31398
31399         mbspcasecmp: Fix function specification.
31400         * lib/string.in.h (mbspcasecmp): Fix specification comment.
31401         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
31402         Reported by Eric Blake <eblake@redhat.com>.
31403
31404 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
31405
31406         timespec: use cast and not conditional, as truncation isn't possible
31407         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
31408         instead of a conditional.  Comment about the situation in more detail.
31409         This undoes most of the 2009-10-29 patch.
31410
31411 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
31412
31413         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
31414         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
31415         * lib/unistr/u8-strchr.c: Likewise.
31416         * modules/unistr/u8-chr: Depend on memchr.
31417
31418         unistr/u*-strchr: add tests
31419         * modules/unistr/u8-strchr-tests: New file.
31420         * modules/unistr/u16-strchr-tests: New file.
31421         * modules/unistr/u32-strchr-tests: New file.
31422         * tests/unistr/test-strchr.h: New file.
31423         * tests/unistr/test-u8-strchr.c: New file.
31424         * tests/unistr/test-u16-strchr.c: New file.
31425         * tests/unistr/test-u32-strchr.c: New file.
31426
31427         unistr/u*-chr: test multibyte sequences more
31428         * tests/unistr/test-chr.h: Do complete testing of the characters in the
31429         test vector.
31430         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
31431         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
31432         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
31433
31434         unistr/u*-chr: test multibyte sequences
31435         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
31436
31437         unistr/u*-chr: prepare for multibyte tests
31438         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
31439         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
31440         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
31441         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
31442         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
31443         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
31444
31445 2010-07-18  Bruno Haible  <bruno@clisp.org>
31446
31447         unistr/u8-strchr: Optimize non-ASCII argument case.
31448         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
31449         because the first byte often matches anyway.
31450         Reported by Pádraig Brady <P@draigbrady.com>.
31451
31452 2010-07-15  Karl Berry  <karl@gnu.org>
31453
31454         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
31455
31456 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
31457
31458         getcwd: on Solaris, work better if ancestors are inaccessible
31459         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
31460         buffer and size, try again with a large buffer.  This works better
31461         on Solaris, since its getcwd succeeds even if the path to the root
31462         is inaccessible, and this is helpful in common cases such as .zfs
31463         hidden directories.  Problem reported by J Chapman Flack in
31464         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
31465         Use system getcwd if it's declared, not merely if it's partly
31466         working; use the partly-working test only to avoid needless effort
31467         if the system getcwd fails.
31468         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
31469         comment that was already obsolete and is now even more obsolete.
31470         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
31471         now might call strdup.
31472
31473 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
31474
31475         pthread: Add enough so that coreutils/src/sort.c compiles.
31476         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
31477         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
31478         gnulib. Include <sched.h> and <time.h>, as per POSIX.
31479         Include <sys/types.h>, in case it defines pthread_t.
31480         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
31481         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
31482         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
31483         (pthread_rwlockattr_t, pthread_spinlock_t):
31484         New typedefs, if HAVE_PTHREAD_T is not defined.
31485         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31486         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
31487         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
31488         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
31489         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
31490         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
31491         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
31492         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
31493         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
31494         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
31495         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
31496         New macros.
31497         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
31498         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
31499         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
31500         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
31501         (pthread_spin_unlock): New dummy functions.
31502         (pthread_create): Return EAGAIN; don't set errno.
31503         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
31504         require AC_C_INLINE.
31505         * modules/pthread (Depends-on): Add sched, time.
31506         (pthread.h): Use AM_V_GEN.
31507
31508 2010-07-13  Bruno Haible  <bruno@clisp.org>
31509
31510         striconveh: Don't malloc memory if the result buffer is sufficient.
31511         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
31512         buffer if its size is sufficient.
31513         Reported by Ludovic Courtès <ludo@gnu.org>.
31514
31515 2010-07-13  Bruno Haible  <bruno@clisp.org>
31516
31517         strtod: Add safety check.
31518         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
31519
31520 2010-07-12  Bruno Haible  <bruno@clisp.org>
31521
31522         Unify tests that set gl_cv_func_ldexpl_no_libm.
31523         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
31524         gl_FUNC_LDEXPL.
31525         (gl_FUNC_LDEXPL): Invoke it.
31526         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31527
31528 2010-07-12  Bruno Haible  <bruno@clisp.org>
31529
31530         Unify tests that set gl_cv_func_ldexp_no_libm.
31531         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
31532         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
31533         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
31534         (configure.ac): Simply invoke gl_FUNC_LDEXP.
31535         * modules/strtod (Files): Add m4/ldexp.m4.
31536
31537 2010-07-12  Bruno Haible  <bruno@clisp.org>
31538
31539         Unify tests that set gl_cv_func_frexpl_no_libm.
31540         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
31541         gl_FUNC_FREXPL_NO_LIBM.
31542         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
31543         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31544
31545 2010-07-12  Bruno Haible  <bruno@clisp.org>
31546
31547         Unify tests that set gl_cv_func_frexp_no_libm.
31548         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
31549         gl_FUNC_FREXP_NO_LIBM.
31550         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
31551         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31552
31553 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31554
31555         memcoll: clarify sizes versus lengths, document better, and tweak perf
31556         * lib/memcoll.c (strcoll_loop, memcoll0):
31557         Improve quality of descriptive comments.  Name variables
31558         consistently as to whether they are lengths (which do not include
31559         terminating null) versus sizes (which do).
31560         * lib/xmemcoll.c (xmemcoll0): Likewise.
31561         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
31562         returned when s1size == 0; this is easier to compile and saves
31563         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
31564
31565 2010-07-12  Bruno Haible  <bruno@clisp.org>
31566
31567         Tests for module '_Exit'.
31568         * modules/_Exit-tests: New file.
31569         * tests/test-_Exit.sh: New file.
31570         * tests/test-_Exit.c: New file.
31571
31572         New module '_Exit'.
31573         * lib/stdlib.in.h (__attribute__): New macro.
31574         (_Exit): New declaration.
31575         * lib/_Exit.c: New file.
31576         * m4/_Exit.m4: New file.
31577         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
31578         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
31579         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
31580         * modules/_Exit: New file.
31581         * tests/test-stdlib-c++.cc (_Exit): Check signature.
31582         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
31583
31584 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31585
31586         strtod: make it more-accurate typically, and don't require libm
31587         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
31588         Include limits.h.  Don't include string.h.
31589         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
31590         (locale_isspace): New function, so that no casts are needed to
31591         check whether *s is a space.
31592         (ldexp): Provide an unused dummy if not available.
31593         (scale_radix_exp, parse_number, underlying_strtod): New functions.
31594         (strtod): Use them.  This implementation prefers to use the
31595         underlying strtod if available, falling back on our own code
31596         only to fix known bugs.  This is more likely to produce an
31597         accurate result.  Also, it avoids the use of libm functions.
31598         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
31599         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
31600         was absent, but it caused a test failure with coreutils.
31601         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
31602         with libm.
31603         * modules/strtod (Makefile.am, Link): libm is no longer needed.
31604         * modules/strtod-tests (Makefile.am): Likewise.
31605
31606 2010-07-11  Pádraig Brady  <P@draigBrady.com>
31607             Bruno Haible  <bruno@clisp.org>
31608
31609         unistr/u8-strchr: Optimize ASCII argument case.
31610         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
31611
31612 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
31613
31614         (x)memcoll: minor tweaks
31615         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
31616         is after the type that it qualifies.
31617         (memcoll0): Likewise.
31618         * lib/memcoll.h (memcoll0): Likewise.
31619         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
31620         * lib/xmemcoll.h (xmemcoll0): Likewise.
31621         * lib/memcoll.c (memcoll0): Correct the comment.  This function
31622         differs from memcoll in that the NUL byte is part of the argument.
31623         Omit the abort-checks, as performance is a real issue here.  Plus,
31624         the checks were wrong anyway (an off-by-one error).  Omit local
31625         variable 'diff', as it's a bit clearer that way.
31626         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
31627         no longer needed.
31628
31629 2010-07-08  Chen Guo <chenguo4@yahoo.com>
31630
31631         (x)memcoll: speedup when input is known to be NUL delimited
31632         * lib/memcoll.c: Include stdlib.
31633         (memcoll0): New function.
31634         (strcoll_loop): New function, refactored for use in both memcoll
31635         and memcoll0.
31636         * lib/memcoll.h (memcoll0): Add prototype.
31637         * lib/xmemcoll.c (xmemcoll0): New function.
31638         (collate_error): New function, refactored for use in both xmemcoll
31639         and xmemcoll0.
31640         * lib/xmemcoll.h (xmemcoll0): Add prototype.
31641         * m4/memcoll.m4: add inline invocation.
31642
31643 2010-07-06  Pádraig Brady  <P@draigBrady.com>
31644
31645         * build-aux/bootstrap: Remove any local translations
31646         from the translation project synchronization directory,
31647         so that local only translations are not distributed.
31648
31649 2010-07-04  Bruno Haible  <bruno@clisp.org>
31650
31651         fsusage: Clarify which code applies to which platforms.
31652         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
31653         platform.
31654         * lib/fsusage.c (get_fs_usage): Likewise.
31655
31656 2010-07-04  Bruno Haible  <bruno@clisp.org>
31657
31658         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
31659         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
31660         Reported by Martin Lambers <marlam@marlam.de>.
31661
31662 2010-07-04  Jim Meyering  <meyering@redhat.com>
31663
31664         hash: once again explicitly disallow insertion of NULL
31665         * lib/hash.c (hash_insert0): Reinstate just-removed test:
31666         inserting a NULL pointer cannot work with these functions.
31667         Add a comment with details.
31668         This reverts part of the 2010-07-01 commit, 5bef1a35
31669         "hash: extend module to deal with non-pointer keys".
31670
31671 2010-07-01  Bruno Haible  <bruno@clisp.org>
31672
31673         stdbool: Update doc.
31674         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
31675         Info from Christian Weisgerber <naddy@mips.inka.de>.
31676
31677 2010-07-01  Jim Meyering  <meyering@redhat.com>
31678
31679         hash: extend module to deal with non-pointer keys
31680         * lib/hash.c (hash_insert0): New interface, much like hash_insert
31681         but that allows insertion of non-pointer entries.
31682         Do not disallow an ENTRY value of NULL.
31683         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
31684         * lib/hash.h (hash_insert0): Declare.
31685
31686 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
31687
31688         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
31689         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
31690         not present (i.e. with autoconf 2.59 and when using gettextize, not
31691         gnulib), require AC_GNU_SOURCE instead.
31692
31693 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
31694
31695         idpriv-drop: Fix tests.
31696         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
31697         not to the test-idpriv-droptemp program.
31698
31699 2010-06-29  Bruno Haible  <bruno@clisp.org>
31700
31701         string: Fix syntax error with g++ 2.96.
31702         * lib/string.in.h (__pure__): Remove definition.
31703         (_GL_ATTRIBUTE_PURE): New macro.
31704         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
31705         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
31706         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31707
31708 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
31709
31710         unitypes: Fix bug introduced on 2010-05-18.
31711         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
31712
31713 2010-06-22  Eric Blake  <eblake@redhat.com>
31714
31715         memmem: slight optimization
31716         * lib/str-two-way.h (critical_factorization): Update comments.
31717         Reduce work during factorization phase.
31718         Reported by Carlos Bueno <carlos@bueno.org>.
31719
31720 2010-06-21  Bruno Haible  <bruno@clisp.org>
31721
31722         Fix HAVE_CALLOC_POSIX misnomer.
31723         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
31724         !HAVE_CALLOC_POSIX.
31725         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
31726         HAVE_CALLOC_POSIX.
31727         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
31728         instead of HAVE_CALLOC_POSIX.
31729         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
31730         HAVE_CALLOC_POSIX.
31731
31732         Use modern idiom for calloc() replacement.
31733         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
31734         AC_FUNC_CALLOC.
31735         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
31736         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
31737         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31738         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
31739         (gl_REPLACE_CALLOC): New macro.
31740
31741 2010-06-21  Bruno Haible  <bruno@clisp.org>
31742
31743         Fix HAVE_REALLOC_POSIX misnomer.
31744         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
31745         !HAVE_REALLOC_POSIX.
31746         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
31747         HAVE_REALLOC_POSIX.
31748         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
31749         instead of HAVE_REALLOC_POSIX.
31750         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
31751         HAVE_REALLOC_POSIX.
31752
31753         Use modern idiom for realloc() replacement.
31754         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
31755         AC_FUNC_REALLOC.
31756         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
31757         Autoconf's AC_FUNC_REALLOC.
31758         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31759         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
31760         (gl_REPLACE_REALLOC): New macro.
31761         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31762
31763 2010-06-21  Bruno Haible  <bruno@clisp.org>
31764
31765         Fix HAVE_MALLOC_POSIX misnomer.
31766         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
31767         !HAVE_MALLOC_POSIX.
31768         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
31769         HAVE_MALLOC_POSIX.
31770         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
31771         instead of HAVE_MALLOC_POSIX.
31772         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
31773         HAVE_MALLOC_POSIX.
31774
31775         Use modern idiom for malloc() replacement.
31776         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
31777         AC_FUNC_MALLOC.
31778         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
31779         Autoconf's AC_FUNC_MALLOC.
31780         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31781         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
31782         (gl_REPLACE_MALLOC): New macro.
31783         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31784
31785 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
31786
31787         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
31788         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
31789         This macro takes 3 arguments, not 4.
31790
31791 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
31792
31793         ipv6: fix detection under mingw
31794         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
31795         in6_addr.
31796
31797 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
31798
31799         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
31800         that strtod() works when cross-compiling to a glibc version known
31801         to work.
31802
31803 2010-06-15  Bruno Haible  <bruno@clisp.org>
31804
31805         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
31806
31807 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
31808
31809         select: Correct timeout.
31810         * lib/select.c (rpl_select): Compute wait_timeout correctly.
31811
31812 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
31813
31814         git-version-gen: init shell var to avoid env var influence
31815         * build-aux/git-version-gen (v): Init shell var to empty.
31816
31817 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
31818
31819         priv-set: Don't assume that priv.h exists merely because getppriv does.
31820         See Jan Andersen's bug report about AIX 5L in
31821         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
31822         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
31823         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
31824         * lib/priv-set.h: Likewise.
31825         * tests/test-priv-set.c: Likewise.
31826
31827 2010-06-13  Bruno Haible  <bruno@clisp.org>
31828
31829         relocatable: Make it easier to test whether to install wrappers.
31830         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
31831         RELOCATABLE_VIA_WRAPPER.
31832
31833 2010-06-13  Bruno Haible  <bruno@clisp.org>
31834
31835         gnulib-tool: Display specified modules and dependencies differently.
31836         * gnulib-tool (func_show_module_list): New function.
31837         (func_import, func_create_testdir): Invoke it.
31838         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
31839
31840 2010-06-13  Bruno Haible  <bruno@clisp.org>
31841
31842         gnulib-tool: Align code of func_import and func_create_testdir.
31843         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
31844         specified_modules.
31845
31846 2010-06-12  Jim Meyering  <meyering@redhat.com>
31847
31848         test-inttostr: avoid spurious failure on Solaris 9
31849         * tests/test-inttostr.c (main): Skip the test when snprintf fails
31850         to accept "%ju".  Reported by Bruno Haible.
31851
31852 2010-06-11  Jim Meyering  <meyering@redhat.com>
31853
31854         test-sys_socket: mark variables as used more readably
31855         * tests/test-sys_socket.c (main): Mark otherwise unused variables
31856         as "used" explicitly via (void) statement casts.  This is more
31857         readable than using them in an artificial return expression.
31858         Suggestion from Bruno Haible.
31859
31860 2010-06-11  Bruno Haible  <bruno@clisp.org>
31861
31862         Avoid some more warnings from "gcc -Wwrite-strings".
31863         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
31864         to 'const char *'.
31865         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
31866         * tests/test-c-strcasestr.c (main): Likewise.
31867         * tests/test-mbscasestr1.c (main): Likewise.
31868         * tests/test-mbscasestr2.c (main): Likewise.
31869         * tests/test-memmem.c (main): Likewise.
31870         * tests/test-strstr.c (main): Likewise.
31871         * tests/test-strcasestr.c (main): Likewise.
31872
31873 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31874
31875         init.sh: change framework_failure_ to fail with status 99, not 1
31876         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
31877         automake's parallel-tests rule that this is an unexpected failure,
31878         even if the test is listed in XFAIL_TESTS.
31879
31880 2010-06-11  Jim Meyering  <meyering@redhat.com>
31881
31882         test-inttostr: avoid warnings about 4-6KB literal strings
31883         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
31884         Include "macros.h", for its definition of ASSERT.
31885         (CK): s/assert/ASSERT/
31886         * modules/inttostr-tests (Files): Add macros.h.
31887
31888         init.sh: don't use $ME_ or skip_ before they are defined
31889         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
31890         their first uses.  Also hoist their companions: warn_, fail_,
31891         framework_failure_, $stderr_fileno.  Prompted by a patch from
31892         Stefano Lattarini.
31893
31894         test-sys_socket: avoid set-but-not-used warnings from gcc
31895         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
31896         avoid warning about set-but-not-used variables.
31897
31898         test-xvasprintf: avoid 'const' discard warnings
31899         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
31900         "const" when assigning from literal strings.
31901         (test_xasprintf): Add "void" in function argument list to placate
31902         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
31903
31904         tests: avoid compilation warnings in argmatch and exclude tests...
31905         in packages that define ARGMATCH_DIE_DECL, like coreutils.
31906         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
31907         Since it always exits, declare with the "noreturn" attribute.
31908         * tests/test-argmatch.c: Likewise.
31909
31910         tests: avoid 'const' discard warnings in mbsstr tests
31911         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
31912         * tests/test-mbsstr2.c (main): Likewise.
31913
31914         test-verify: avoid warning from gcc's -Wmissing-declarations
31915         * tests/test-verify.c (function): Declare to be static.
31916
31917         test-inttostr.c: include <string.h> for use of strcmp
31918         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
31919
31920         test-linkat: avoid failed assertion on "other" architectures
31921         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
31922         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
31923         sparc: https://bugs.launchpad.net/bugs/591968
31924
31925 2010-06-11  Jim Meyering  <meyering@redhat.com>
31926
31927         printf.m4: avoid autoconf's "Expanded Before Required" warning
31928         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
31929         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
31930         autoconf warning.
31931
31932 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
31933
31934         Replacement header templates are now named with ".in", not "_".
31935         * doc/gnulib-intro.texi: Correct.
31936
31937 2010-06-10  Jim Meyering  <meyering@redhat.com>
31938
31939         inttostr-tests: depend on snprintf, not snprintf-posix
31940         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
31941         snprintf-posix, to avoid this aclocal failure:
31942           missing file gnulib-tests/vasnprintf.c
31943           configure.ac:45: error: expected source file, required through \
31944           AC_LIBSOURCES, not found
31945
31946 2010-06-10  Jim Meyering  <meyering@redhat.com>
31947
31948         inttostr: add a new function, inttostr, and tests
31949         The namesake function was not available.  The existence of the
31950         template file, inttostr.c makes its addition nontrivial.
31951         * lib/anytostr.c: Rename from inttostr.c.
31952         (anytostr): Rename from inttostr.
31953         * lib/inttostr.c: New file.
31954         * modules/inttostr (Files): Add anytostr.c.
31955         (Makefile.am): Set lib_SOURCES instead of ...
31956         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
31957         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
31958         * lib/offtostr.c: Likewise.
31959         * lib/uinttostr.c: Likewise.
31960         * lib/umaxtostr.c: Likewise.
31961         * modules/inttostr-tests: New file.
31962         * tests/test-inttostr.c: New file.  Test these functions.
31963
31964 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
31965             Bruno Haible  <bruno@clisp.org>
31966
31967         Add "Extending Gnulib" chapter to manual.
31968         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
31969         chapter.
31970         (Extending Gnulib): New chapter.
31971         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
31972         chapter.
31973
31974 2010-06-09  Bruno Haible  <bruno@clisp.org>
31975
31976         Avoid relocwrapper link errors due to gnulib replacement functions.
31977         * lib/areadlink.c: Use the system's malloc, realloc functions.
31978         (areadlink): Set errno to ENOMEM explicitly.
31979         * modules/areadlink (Depends-on): Remove malloc-posix.
31980         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31981
31982 2010-06-09  Bruno Haible  <bruno@clisp.org>
31983
31984         Avoid relocwrapper link errors due to gnulib replacement functions.
31985         * lib/canonicalize-lgpl.c: Use the system's malloc function.
31986         * lib/malloca.c: Likewise.
31987         * lib/relocatable.c: Likewise.
31988         * lib/progreloc.c: Use the system's malloc, sprintf functions.
31989         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
31990         * lib/setenv.c: Use the system's malloc, realloc functions.
31991         * lib/strerror.c: Use the system's sprintf function.
31992         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31993
31994 2010-06-04  Bruno Haible  <bruno@clisp.org>
31995
31996         Prefer documented low-level autoconf macro names.
31997         * m4/lib-link.m4: Use m4_translit instead of translit.
31998         * m4/environ.m4: Likewise.
31999         * m4/mathfunc.m4: Likewise.
32000         * m4/onceonly.m4: Likewise.
32001         * m4/stdint.m4: Likewise.
32002         Suggested by Eric Blake.
32003
32004 2010-06-04  Martin Lambers  <marlam@marlam.de>
32005             Bruno Haible  <bruno@clisp.org>
32006
32007         havelib: Allow library names with '+' characters.
32008         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
32009         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
32010
32011 2010-06-09  Bruno Haible  <bruno@clisp.org>
32012
32013         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
32014         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
32015         realloc failed.
32016
32017 2010-06-08  Peter Simons  <simons@cryp.to>
32018
32019         maint.mk: make the news-check rule more configurable
32020         * top/maint.mk (news-check-lines-spec): New variable.
32021         (news-check): Use "sed -n 1,10p" in place of "head".
32022
32023 2010-06-07  Jim Meyering  <meyering@redhat.com>
32024
32025         do-release-commit-and-tag: fix typo in --help
32026         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
32027
32028         regex: avoid new dead-code warning with gcc-4.6.0
32029         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
32030         if-block containing a while-loop.  It's been unused for at least
32031         5 years.
32032
32033 2010-06-05  Bruno Haible  <bruno@clisp.org>
32034
32035         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
32036         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
32037
32038 2010-06-04  Bruno Haible  <bruno@clisp.org>
32039
32040         Update to GNU gettext 0.18.1.
32041         * modules/gettext (configure.ac): Require gettext infrastructure from
32042         version 0.18.1.
32043
32044 2010-06-03  Bruno Haible  <bruno@clisp.org>
32045
32046         Don't use AC_LIBOBJ with file names in subdirectories.
32047         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
32048         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
32049         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
32050         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
32051         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
32052         gl_LIBUNISTRING_LIBSOURCE.
32053         (Makefile.am): Augment lib_SOURCES here, conditionally.
32054         * NEWS: Drop requirement for Automake option 'subdir-objects'.
32055
32056 2010-06-03  Bruno Haible  <bruno@clisp.org>
32057
32058         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
32059         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
32060         expansion does not end with a newline.
32061         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
32062         unnecessary newline.
32063
32064 2010-06-03  Bruno Haible  <bruno@clisp.org>
32065
32066         Reduce dependencies.
32067         * tests/test-quotearg.h: New file, extracted from
32068         tests/test-quotearg.c.
32069         * tests/test-quotearg-simple.c: New file, extracted from
32070         tests/test-quotearg.c.
32071         * tests/test-quotearg.c: Don't include <ctype.h>.
32072         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
32073         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
32074         use_quote_double_quotes, use_quotearg_colon): Moved to
32075         tests/test-quotearg.h.
32076         (results_g, flag_results, custom_quotes, custom_results): Moved
32077         to tests/test-quotearg-simple.c.
32078         (main): Moved the part that does not depend on gettext to
32079         tests/test-quotearg-simple.c. Return 77 if the test cannot be
32080         performed.
32081         * modules/quotearg-simple: New file.
32082         * modules/quotearg-simple-tests: New file.
32083         * modules/quotearg (Depends-on): Add quotearg-simple.
32084         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
32085         (Files): Add tests/test-quotearg.h.
32086         Reported by Paolo Bonzini.
32087
32088 2010-06-03  Bruno Haible  <bruno@clisp.org>
32089
32090         Reduce dependencies.
32091         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
32092
32093 2010-06-03  Bruno Haible  <bruno@clisp.org>
32094
32095         time: Undefine more broken macros.
32096         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
32097         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
32098         Reported by Eric Blake.
32099
32100 2010-06-03  Bruno Haible  <bruno@clisp.org>
32101
32102         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
32103         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
32104         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
32105         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
32106         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
32107         Reported by Ludovic Courtès <ludo@gnu.org>.
32108
32109 2010-06-02  Eric Blake  <eblake@redhat.com>
32110
32111         time: work with mingw + pthreads-win32 library
32112         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
32113         if timespec is defined only in pthread.h.
32114         * modules/time (Makefile.am): Substitute it.
32115         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
32116         <pthread.h>, when needed.
32117         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
32118         from the library.
32119
32120 2010-05-31  Bruno Haible  <bruno@clisp.org>
32121
32122         Avoid expanding two macros in the wrong order.
32123         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
32124         gl_LIBUNISTRING if it is defined.
32125         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
32126         autoconf >= 2.64.
32127         Reported by Ludovic Courtès <ludo@gnu.org>.
32128
32129 2010-05-27  Jim Meyering  <meyering@redhat.com>
32130
32131         maint.mk: also prohibit "#undef" of always-defined symbols
32132         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
32133         Allow more than one space before the symbol name.
32134         (sc_prohibit_always-defined_macros): Use grep's -E, now that
32135         the regexp uses alternation.
32136
32137 2010-05-26  Eric Blake  <eblake@redhat.com>
32138
32139         maint.mk: avoid echo -e
32140         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
32141         Convert all uses of echo -* to printf.
32142         Reported by Matthias Bolte.
32143
32144 2010-05-25  Bruno Haible  <bruno@clisp.org>
32145
32146         Update to GNU gettext 0.18, part 2.
32147         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
32148         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
32149
32150 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32151
32152         Add missing include in test-pwrite.c.
32153         * tests/test-pwrite.c: Include string.h, for strcmp.
32154
32155 2010-05-24  Bruno Haible  <bruno@clisp.org>
32156
32157         * NEWS: Mention requirement for Automake option 'subdir-objects'.
32158
32159 2010-05-24  Bruno Haible  <bruno@clisp.org>
32160
32161         Don't use conversion with transliteration in u{8,16,32}_strcoll.
32162         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
32163         iconveh_error argument.
32164         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
32165         U_STRCONV_TO_LOCALE.
32166         * lib/unistr/u16-strcoll.c: Likewise.
32167         * lib/unistr/u32-strcoll.c: Likewise.
32168         * modules/unistr/u8-strcoll (Depends-on): Add
32169         uniconv/u8-strconv-to-enc, localcharset. Remove
32170         uniconv/u8-strconv-to-locale.
32171         (configure.ac): Bump version number.
32172         * modules/unistr/u16-strcoll (Depends-on): Add
32173         uniconv/u16-strconv-to-enc, localcharset. Remove
32174         uniconv/u16-strconv-to-locale.
32175         (configure.ac): Bump version number.
32176         * modules/unistr/u32-strcoll (Depends-on): Add
32177         uniconv/u32-strconv-to-enc, localcharset. Remove
32178         uniconv/u32-strconv-to-locale.
32179         (configure.ac): Bump version number.
32180
32181 2010-05-24  Bruno Haible  <bruno@clisp.org>
32182
32183         Avoid a test failure on NetBSD 5.0.
32184         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
32185         an iconv() bug.
32186
32187 2010-05-24  Bruno Haible  <bruno@clisp.org>
32188
32189         Adjust #include directive style.
32190         * modules/regex (Includes): Recommend to write <regex.h>.
32191
32192 2010-05-24  Bruno Haible  <bruno@clisp.org>
32193
32194         regex: Don't require alloca.
32195         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
32196         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
32197         only inside if (0).
32198
32199 2010-05-23  Jim Meyering  <meyering@redhat.com>
32200
32201         test-renameat.c: include <sys/stat.h>
32202         * tests/test-renameat.c: Include <sys/stat.h>; required for
32203         definition of S_IS* macros.
32204
32205 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
32206
32207         Update maintainer documentation for 'relocatable-prog' module.
32208         * doc/relocatable-maint.texi: Update.
32209         Comments by Bruno Haible.
32210
32211 2010-05-23  Bruno Haible  <bruno@clisp.org>
32212
32213         git-merge-changelog: Enable --split-merged-entry by default.
32214         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
32215         (usage): Don't mention this option any more.
32216         Reported by Ralf Wildenhues.
32217
32218 2010-05-23  Jim Meyering  <meyering@redhat.com>
32219
32220         test-pwrite: do not leave behind a test file named "out"
32221         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
32222         The trivial-looking use of init.sh is really necessary.
32223         It ensures that the temporary file, "out", is created in
32224         a temporary directory, and removed upon termination.
32225         * tests/test-pwrite.sh: Re-add file.
32226         * modules/pwrite-tests: Reference it.
32227
32228 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32229
32230         Fix output redirection buglet in init.sh.
32231         * tests/init.sh: Fix redirection of stderr.
32232
32233 2010-05-20  Simon Josefsson  <simon@josefsson.org>
32234
32235         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
32236
32237 2010-05-17  Simon Josefsson  <simon@josefsson.org>
32238
32239         * modules/valgrind-tests: New file.
32240         * m4/valgrind-tests.m4: New file.
32241         * doc/valgrind-tests.texi: New file.
32242         * doc/gnulib.texi (Running self-tests under valgrind): New
32243         section.
32244
32245 2010-05-19  Bruno Haible  <bruno@clisp.org>
32246
32247         Clean up dead code in recent commit.
32248         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
32249         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
32250         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
32251         Suggested by Paolo Bonzini.
32252
32253 2010-05-19  Bruno Haible  <bruno@clisp.org>
32254
32255         Avoid valgrind error reports from libunistring.
32256         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
32257         * modules/libunistring (Files): Add it.
32258         * modules/libunistring-optional (Files): Likewise.
32259
32260 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
32261             Bruno Haible  <bruno@clisp.org>
32262
32263         New module 'libunistring-optional'.
32264         * modules/libunistring-optional: New file.
32265         * m4/libunistring-base.m4: New file.
32266         * m4/libunistring-optional.m4: New file.
32267         * lib/unicase.in.h: Renamed from lib/unicase.h.
32268         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
32269         * lib/unictype.in.h: Renamed from lib/unictype.h.
32270         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
32271         * lib/uniname.in.h: Renamed from lib/uniname.h.
32272         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
32273         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
32274         * lib/unistr.in.h: Renamed from lib/unistr.h.
32275         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
32276         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
32277         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
32278         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
32279         gl_LIBUNISTRING. If the library was found, determine the installed
32280         version and set LIBUNISTRING_VERSION.
32281         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
32282         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
32283         handle a configuration option --with-included-libunistring.
32284         * modules/libunistring (Files): Add m4/absolute-header.m4.
32285         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
32286         Add m4/libunistring-base.m4.
32287         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32288         (Makefile.am): Build unicase.h from unicase.in.h.
32289         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
32290         Add m4/libunistring-base.m4.
32291         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32292         (Makefile.am): Build uniconv.h from uniconv.in.h.
32293         * modules/unictype/base (Files): Use unictype.in.h instead of
32294         unictype.h. Add m4/libunistring-base.m4.
32295         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32296         (Makefile.am): Build unictype.h from unictype.in.h.
32297         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
32298         Add m4/libunistring-base.m4.
32299         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32300         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
32301         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
32302         Add m4/libunistring-base.m4.
32303         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32304         (Makefile.am): Build uniname.h from uniname.in.h.
32305         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
32306         Add m4/libunistring-base.m4.
32307         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32308         (Makefile.am): Build uninorm.h from uninorm.in.h.
32309         * modules/unistdio/base (Files): Use unistdio.in.h instead of
32310         unistdio.h. Add m4/libunistring-base.m4.
32311         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32312         (Makefile.am): Build unistdio.h from unistdio.in.h.
32313         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
32314         Add m4/libunistring-base.m4.
32315         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32316         (Makefile.am): Build unistr.h from unistr.in.h.
32317         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
32318         Add m4/libunistring-base.m4.
32319         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32320         (Makefile.am): Build unitypes.h from unitypes.in.h.
32321         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
32322         Add m4/libunistring-base.m4.
32323         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32324         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
32325         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
32326         uniwidth.h. Add m4/libunistring-base.m4.
32327         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32328         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
32329         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
32330         instead of augmenting lib_SOURCES.
32331         * modules/unicase/empty-suffix-context: Likewise.
32332         * modules/unicase/locale-language: Likewise.
32333         * modules/unicase/tolower: Likewise.
32334         * modules/unicase/totitle: Likewise.
32335         * modules/unicase/toupper: Likewise.
32336         * modules/unicase/u8-casecmp: Likewise.
32337         * modules/unicase/u8-casecoll: Likewise.
32338         * modules/unicase/u8-casefold: Likewise.
32339         * modules/unicase/u8-casexfrm: Likewise.
32340         * modules/unicase/u8-ct-casefold: Likewise.
32341         * modules/unicase/u8-ct-tolower: Likewise.
32342         * modules/unicase/u8-ct-totitle: Likewise.
32343         * modules/unicase/u8-ct-toupper: Likewise.
32344         * modules/unicase/u8-is-cased: Likewise.
32345         * modules/unicase/u8-is-casefolded: Likewise.
32346         * modules/unicase/u8-is-lowercase: Likewise.
32347         * modules/unicase/u8-is-titlecase: Likewise.
32348         * modules/unicase/u8-is-uppercase: Likewise.
32349         * modules/unicase/u8-prefix-context: Likewise.
32350         * modules/unicase/u8-suffix-context: Likewise.
32351         * modules/unicase/u8-tolower: Likewise.
32352         * modules/unicase/u8-totitle: Likewise.
32353         * modules/unicase/u8-toupper: Likewise.
32354         * modules/unicase/u16-casecmp: Likewise.
32355         * modules/unicase/u16-casecoll: Likewise.
32356         * modules/unicase/u16-casefold: Likewise.
32357         * modules/unicase/u16-casexfrm: Likewise.
32358         * modules/unicase/u16-ct-casefold: Likewise.
32359         * modules/unicase/u16-ct-tolower: Likewise.
32360         * modules/unicase/u16-ct-totitle: Likewise.
32361         * modules/unicase/u16-ct-toupper: Likewise.
32362         * modules/unicase/u16-is-cased: Likewise.
32363         * modules/unicase/u16-is-casefolded: Likewise.
32364         * modules/unicase/u16-is-lowercase: Likewise.
32365         * modules/unicase/u16-is-titlecase: Likewise.
32366         * modules/unicase/u16-is-uppercase: Likewise.
32367         * modules/unicase/u16-prefix-context: Likewise.
32368         * modules/unicase/u16-suffix-context: Likewise.
32369         * modules/unicase/u16-tolower: Likewise.
32370         * modules/unicase/u16-totitle: Likewise.
32371         * modules/unicase/u16-toupper: Likewise.
32372         * modules/unicase/u32-casecmp: Likewise.
32373         * modules/unicase/u32-casecoll: Likewise.
32374         * modules/unicase/u32-casefold: Likewise.
32375         * modules/unicase/u32-casexfrm: Likewise.
32376         * modules/unicase/u32-ct-casefold: Likewise.
32377         * modules/unicase/u32-ct-tolower: Likewise.
32378         * modules/unicase/u32-ct-totitle: Likewise.
32379         * modules/unicase/u32-ct-toupper: Likewise.
32380         * modules/unicase/u32-is-cased: Likewise.
32381         * modules/unicase/u32-is-casefolded: Likewise.
32382         * modules/unicase/u32-is-lowercase: Likewise.
32383         * modules/unicase/u32-is-titlecase: Likewise.
32384         * modules/unicase/u32-is-uppercase: Likewise.
32385         * modules/unicase/u32-prefix-context: Likewise.
32386         * modules/unicase/u32-suffix-context: Likewise.
32387         * modules/unicase/u32-tolower: Likewise.
32388         * modules/unicase/u32-totitle: Likewise.
32389         * modules/unicase/u32-toupper: Likewise.
32390         * modules/unicase/ulc-casecmp: Likewise.
32391         * modules/unicase/ulc-casecoll: Likewise.
32392         * modules/unicase/ulc-casexfrm: Likewise.
32393         * modules/uniconv/u8-conv-from-enc: Likewise.
32394         * modules/uniconv/u8-conv-to-enc: Likewise.
32395         * modules/uniconv/u8-strconv-from-enc: Likewise.
32396         * modules/uniconv/u8-strconv-from-locale: Likewise.
32397         * modules/uniconv/u8-strconv-to-enc: Likewise.
32398         * modules/uniconv/u8-strconv-to-locale: Likewise.
32399         * modules/uniconv/u16-conv-from-enc: Likewise.
32400         * modules/uniconv/u16-conv-to-enc: Likewise.
32401         * modules/uniconv/u16-strconv-from-enc: Likewise.
32402         * modules/uniconv/u16-strconv-from-locale: Likewise.
32403         * modules/uniconv/u16-strconv-to-enc: Likewise.
32404         * modules/uniconv/u16-strconv-to-locale: Likewise.
32405         * modules/uniconv/u32-conv-from-enc: Likewise.
32406         * modules/uniconv/u32-conv-to-enc: Likewise.
32407         * modules/uniconv/u32-strconv-from-enc: Likewise.
32408         * modules/uniconv/u32-strconv-from-locale: Likewise.
32409         * modules/uniconv/u32-strconv-to-enc: Likewise.
32410         * modules/uniconv/u32-strconv-to-locale: Likewise.
32411         * modules/unictype/bidicategory-byname: Likewise.
32412         * modules/unictype/bidicategory-name: Likewise.
32413         * modules/unictype/bidicategory-of: Likewise.
32414         * modules/unictype/bidicategory-test: Likewise.
32415         * modules/unictype/block-list: Likewise.
32416         * modules/unictype/block-test: Likewise.
32417         * modules/unictype/category-C: Likewise.
32418         * modules/unictype/category-Cc: Likewise.
32419         * modules/unictype/category-Cf: Likewise.
32420         * modules/unictype/category-Cn: Likewise.
32421         * modules/unictype/category-Co: Likewise.
32422         * modules/unictype/category-Cs: Likewise.
32423         * modules/unictype/category-L: Likewise.
32424         * modules/unictype/category-Ll: Likewise.
32425         * modules/unictype/category-Lm: Likewise.
32426         * modules/unictype/category-Lo: Likewise.
32427         * modules/unictype/category-Lt: Likewise.
32428         * modules/unictype/category-Lu: Likewise.
32429         * modules/unictype/category-M: Likewise.
32430         * modules/unictype/category-Mc: Likewise.
32431         * modules/unictype/category-Me: Likewise.
32432         * modules/unictype/category-Mn: Likewise.
32433         * modules/unictype/category-N: Likewise.
32434         * modules/unictype/category-Nd: Likewise.
32435         * modules/unictype/category-Nl: Likewise.
32436         * modules/unictype/category-No: Likewise.
32437         * modules/unictype/category-P: Likewise.
32438         * modules/unictype/category-Pc: Likewise.
32439         * modules/unictype/category-Pd: Likewise.
32440         * modules/unictype/category-Pe: Likewise.
32441         * modules/unictype/category-Pf: Likewise.
32442         * modules/unictype/category-Pi: Likewise.
32443         * modules/unictype/category-Po: Likewise.
32444         * modules/unictype/category-Ps: Likewise.
32445         * modules/unictype/category-S: Likewise.
32446         * modules/unictype/category-Sc: Likewise.
32447         * modules/unictype/category-Sk: Likewise.
32448         * modules/unictype/category-Sm: Likewise.
32449         * modules/unictype/category-So: Likewise.
32450         * modules/unictype/category-Z: Likewise.
32451         * modules/unictype/category-Zl: Likewise.
32452         * modules/unictype/category-Zp: Likewise.
32453         * modules/unictype/category-Zs: Likewise.
32454         * modules/unictype/category-and: Likewise.
32455         * modules/unictype/category-and-not: Likewise.
32456         * modules/unictype/category-byname: Likewise.
32457         * modules/unictype/category-name: Likewise.
32458         * modules/unictype/category-none: Likewise.
32459         * modules/unictype/category-of: Likewise.
32460         * modules/unictype/category-or: Likewise.
32461         * modules/unictype/category-test: Likewise.
32462         * modules/unictype/combining-class: Likewise.
32463         * modules/unictype/ctype-alnum: Likewise.
32464         * modules/unictype/ctype-alpha: Likewise.
32465         * modules/unictype/ctype-blank: Likewise.
32466         * modules/unictype/ctype-cntrl: Likewise.
32467         * modules/unictype/ctype-digit: Likewise.
32468         * modules/unictype/ctype-graph: Likewise.
32469         * modules/unictype/ctype-lower: Likewise.
32470         * modules/unictype/ctype-print: Likewise.
32471         * modules/unictype/ctype-punct: Likewise.
32472         * modules/unictype/ctype-space: Likewise.
32473         * modules/unictype/ctype-upper: Likewise.
32474         * modules/unictype/ctype-xdigit: Likewise.
32475         * modules/unictype/decimal-digit: Likewise.
32476         * modules/unictype/digit: Likewise.
32477         * modules/unictype/mirror: Likewise.
32478         * modules/unictype/numeric: Likewise.
32479         * modules/unictype/property-alphabetic: Likewise.
32480         * modules/unictype/property-ascii-hex-digit: Likewise.
32481         * modules/unictype/property-bidi-arabic-digit: Likewise.
32482         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
32483         * modules/unictype/property-bidi-block-separator: Likewise.
32484         * modules/unictype/property-bidi-boundary-neutral: Likewise.
32485         * modules/unictype/property-bidi-common-separator: Likewise.
32486         * modules/unictype/property-bidi-control: Likewise.
32487         * modules/unictype/property-bidi-embedding-or-override: Likewise.
32488         * modules/unictype/property-bidi-eur-num-separator: Likewise.
32489         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
32490         * modules/unictype/property-bidi-european-digit: Likewise.
32491         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
32492         * modules/unictype/property-bidi-left-to-right: Likewise.
32493         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
32494         * modules/unictype/property-bidi-other-neutral: Likewise.
32495         * modules/unictype/property-bidi-pdf: Likewise.
32496         * modules/unictype/property-bidi-segment-separator: Likewise.
32497         * modules/unictype/property-bidi-whitespace: Likewise.
32498         * modules/unictype/property-byname: Likewise.
32499         * modules/unictype/property-combining: Likewise.
32500         * modules/unictype/property-composite: Likewise.
32501         * modules/unictype/property-currency-symbol: Likewise.
32502         * modules/unictype/property-dash: Likewise.
32503         * modules/unictype/property-decimal-digit: Likewise.
32504         * modules/unictype/property-default-ignorable-code-point: Likewise.
32505         * modules/unictype/property-deprecated: Likewise.
32506         * modules/unictype/property-diacritic: Likewise.
32507         * modules/unictype/property-extender: Likewise.
32508         * modules/unictype/property-format-control: Likewise.
32509         * modules/unictype/property-grapheme-base: Likewise.
32510         * modules/unictype/property-grapheme-extend: Likewise.
32511         * modules/unictype/property-grapheme-link: Likewise.
32512         * modules/unictype/property-hex-digit: Likewise.
32513         * modules/unictype/property-hyphen: Likewise.
32514         * modules/unictype/property-id-continue: Likewise.
32515         * modules/unictype/property-id-start: Likewise.
32516         * modules/unictype/property-ideographic: Likewise.
32517         * modules/unictype/property-ids-binary-operator: Likewise.
32518         * modules/unictype/property-ids-trinary-operator: Likewise.
32519         * modules/unictype/property-ignorable-control: Likewise.
32520         * modules/unictype/property-iso-control: Likewise.
32521         * modules/unictype/property-join-control: Likewise.
32522         * modules/unictype/property-left-of-pair: Likewise.
32523         * modules/unictype/property-line-separator: Likewise.
32524         * modules/unictype/property-logical-order-exception: Likewise.
32525         * modules/unictype/property-lowercase: Likewise.
32526         * modules/unictype/property-math: Likewise.
32527         * modules/unictype/property-non-break: Likewise.
32528         * modules/unictype/property-not-a-character: Likewise.
32529         * modules/unictype/property-numeric: Likewise.
32530         * modules/unictype/property-other-alphabetic: Likewise.
32531         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
32532         * modules/unictype/property-other-grapheme-extend: Likewise.
32533         * modules/unictype/property-other-id-continue: Likewise.
32534         * modules/unictype/property-other-id-start: Likewise.
32535         * modules/unictype/property-other-lowercase: Likewise.
32536         * modules/unictype/property-other-math: Likewise.
32537         * modules/unictype/property-other-uppercase: Likewise.
32538         * modules/unictype/property-paired-punctuation: Likewise.
32539         * modules/unictype/property-paragraph-separator: Likewise.
32540         * modules/unictype/property-pattern-syntax: Likewise.
32541         * modules/unictype/property-pattern-white-space: Likewise.
32542         * modules/unictype/property-private-use: Likewise.
32543         * modules/unictype/property-punctuation: Likewise.
32544         * modules/unictype/property-quotation-mark: Likewise.
32545         * modules/unictype/property-radical: Likewise.
32546         * modules/unictype/property-sentence-terminal: Likewise.
32547         * modules/unictype/property-soft-dotted: Likewise.
32548         * modules/unictype/property-space: Likewise.
32549         * modules/unictype/property-terminal-punctuation: Likewise.
32550         * modules/unictype/property-test: Likewise.
32551         * modules/unictype/property-titlecase: Likewise.
32552         * modules/unictype/property-unassigned-code-value: Likewise.
32553         * modules/unictype/property-unified-ideograph: Likewise.
32554         * modules/unictype/property-uppercase: Likewise.
32555         * modules/unictype/property-variation-selector: Likewise.
32556         * modules/unictype/property-white-space: Likewise.
32557         * modules/unictype/property-xid-continue: Likewise.
32558         * modules/unictype/property-xid-start: Likewise.
32559         * modules/unictype/property-zero-width: Likewise.
32560         * modules/unictype/scripts: Likewise.
32561         * modules/unictype/syntax-c-ident: Likewise.
32562         * modules/unictype/syntax-c-whitespace: Likewise.
32563         * modules/unictype/syntax-java-ident: Likewise.
32564         * modules/unictype/syntax-java-whitespace: Likewise.
32565         * modules/unilbrk/u8-possible-linebreaks: Likewise.
32566         * modules/unilbrk/u8-width-linebreaks: Likewise.
32567         * modules/unilbrk/u16-possible-linebreaks: Likewise.
32568         * modules/unilbrk/u16-width-linebreaks: Likewise.
32569         * modules/unilbrk/u32-possible-linebreaks: Likewise.
32570         * modules/unilbrk/u32-width-linebreaks: Likewise.
32571         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
32572         * modules/unilbrk/ulc-width-linebreaks: Likewise.
32573         * modules/uniname/uniname: Likewise.
32574         * modules/uninorm/canonical-decomposition: Likewise.
32575         * modules/uninorm/composition: Likewise.
32576         * modules/uninorm/decomposing-form: Likewise.
32577         * modules/uninorm/decomposition: Likewise.
32578         * modules/uninorm/filter: Likewise.
32579         * modules/uninorm/nfc: Likewise.
32580         * modules/uninorm/nfd: Likewise.
32581         * modules/uninorm/nfkc: Likewise.
32582         * modules/uninorm/nfkd: Likewise.
32583         * modules/uninorm/u8-normalize: Likewise.
32584         * modules/uninorm/u8-normcmp: Likewise.
32585         * modules/uninorm/u8-normcoll: Likewise.
32586         * modules/uninorm/u8-normxfrm: Likewise.
32587         * modules/uninorm/u16-normalize: Likewise.
32588         * modules/uninorm/u16-normcmp: Likewise.
32589         * modules/uninorm/u16-normcoll: Likewise.
32590         * modules/uninorm/u16-normxfrm: Likewise.
32591         * modules/uninorm/u32-normalize: Likewise.
32592         * modules/uninorm/u32-normcmp: Likewise.
32593         * modules/uninorm/u32-normcoll: Likewise.
32594         * modules/uninorm/u32-normxfrm: Likewise.
32595         * modules/unistdio/u8-asnprintf: Likewise.
32596         * modules/unistdio/u8-asprintf: Likewise.
32597         * modules/unistdio/u8-snprintf: Likewise.
32598         * modules/unistdio/u8-sprintf: Likewise.
32599         * modules/unistdio/u8-u8-asnprintf: Likewise.
32600         * modules/unistdio/u8-u8-asprintf: Likewise.
32601         * modules/unistdio/u8-u8-snprintf: Likewise.
32602         * modules/unistdio/u8-u8-sprintf: Likewise.
32603         * modules/unistdio/u8-u8-vasnprintf: Likewise.
32604         * modules/unistdio/u8-u8-vasprintf: Likewise.
32605         * modules/unistdio/u8-u8-vsnprintf: Likewise.
32606         * modules/unistdio/u8-u8-vsprintf: Likewise.
32607         * modules/unistdio/u8-vasnprintf: Likewise.
32608         * modules/unistdio/u8-vasprintf: Likewise.
32609         * modules/unistdio/u8-vsnprintf: Likewise.
32610         * modules/unistdio/u8-vsprintf: Likewise.
32611         * modules/unistdio/u16-asnprintf: Likewise.
32612         * modules/unistdio/u16-asprintf: Likewise.
32613         * modules/unistdio/u16-snprintf: Likewise.
32614         * modules/unistdio/u16-sprintf: Likewise.
32615         * modules/unistdio/u16-u16-asnprintf: Likewise.
32616         * modules/unistdio/u16-u16-asprintf: Likewise.
32617         * modules/unistdio/u16-u16-snprintf: Likewise.
32618         * modules/unistdio/u16-u16-sprintf: Likewise.
32619         * modules/unistdio/u16-u16-vasnprintf: Likewise.
32620         * modules/unistdio/u16-u16-vasprintf: Likewise.
32621         * modules/unistdio/u16-u16-vsnprintf: Likewise.
32622         * modules/unistdio/u16-u16-vsprintf: Likewise.
32623         * modules/unistdio/u16-vasnprintf: Likewise.
32624         * modules/unistdio/u16-vasprintf: Likewise.
32625         * modules/unistdio/u16-vsnprintf: Likewise.
32626         * modules/unistdio/u16-vsprintf: Likewise.
32627         * modules/unistdio/u32-asnprintf: Likewise.
32628         * modules/unistdio/u32-asprintf: Likewise.
32629         * modules/unistdio/u32-snprintf: Likewise.
32630         * modules/unistdio/u32-sprintf: Likewise.
32631         * modules/unistdio/u32-u32-asnprintf: Likewise.
32632         * modules/unistdio/u32-u32-asprintf: Likewise.
32633         * modules/unistdio/u32-u32-snprintf: Likewise.
32634         * modules/unistdio/u32-u32-sprintf: Likewise.
32635         * modules/unistdio/u32-u32-vasnprintf: Likewise.
32636         * modules/unistdio/u32-u32-vasprintf: Likewise.
32637         * modules/unistdio/u32-u32-vsnprintf: Likewise.
32638         * modules/unistdio/u32-u32-vsprintf: Likewise.
32639         * modules/unistdio/u32-vasnprintf: Likewise.
32640         * modules/unistdio/u32-vasprintf: Likewise.
32641         * modules/unistdio/u32-vsnprintf: Likewise.
32642         * modules/unistdio/u32-vsprintf: Likewise.
32643         * modules/unistdio/ulc-asnprintf: Likewise.
32644         * modules/unistdio/ulc-asprintf: Likewise.
32645         * modules/unistdio/ulc-fprintf: Likewise.
32646         * modules/unistdio/ulc-snprintf: Likewise.
32647         * modules/unistdio/ulc-sprintf: Likewise.
32648         * modules/unistdio/ulc-vasnprintf: Likewise.
32649         * modules/unistdio/ulc-vasprintf: Likewise.
32650         * modules/unistdio/ulc-vfprintf: Likewise.
32651         * modules/unistdio/ulc-vsnprintf: Likewise.
32652         * modules/unistdio/ulc-vsprintf: Likewise.
32653         * modules/unistr/u8-check: Likewise.
32654         * modules/unistr/u8-chr: Likewise.
32655         * modules/unistr/u8-cmp: Likewise.
32656         * modules/unistr/u8-cmp2: Likewise.
32657         * modules/unistr/u8-cpy: Likewise.
32658         * modules/unistr/u8-cpy-alloc: Likewise.
32659         * modules/unistr/u8-endswith: Likewise.
32660         * modules/unistr/u8-mblen: Likewise.
32661         * modules/unistr/u8-mbsnlen: Likewise.
32662         * modules/unistr/u8-mbtouc: Likewise.
32663         * modules/unistr/u8-mbtouc-unsafe: Likewise.
32664         * modules/unistr/u8-mbtoucr: Likewise.
32665         * modules/unistr/u8-move: Likewise.
32666         * modules/unistr/u8-next: Likewise.
32667         * modules/unistr/u8-prev: Likewise.
32668         * modules/unistr/u8-set: Likewise.
32669         * modules/unistr/u8-startswith: Likewise.
32670         * modules/unistr/u8-stpcpy: Likewise.
32671         * modules/unistr/u8-stpncpy: Likewise.
32672         * modules/unistr/u8-strcat: Likewise.
32673         * modules/unistr/u8-strchr: Likewise.
32674         * modules/unistr/u8-strcmp: Likewise.
32675         * modules/unistr/u8-strcoll: Likewise.
32676         * modules/unistr/u8-strcpy: Likewise.
32677         * modules/unistr/u8-strcspn: Likewise.
32678         * modules/unistr/u8-strdup: Likewise.
32679         * modules/unistr/u8-strlen: Likewise.
32680         * modules/unistr/u8-strmblen: Likewise.
32681         * modules/unistr/u8-strmbtouc: Likewise.
32682         * modules/unistr/u8-strncat: Likewise.
32683         * modules/unistr/u8-strncmp: Likewise.
32684         * modules/unistr/u8-strncpy: Likewise.
32685         * modules/unistr/u8-strnlen: Likewise.
32686         * modules/unistr/u8-strpbrk: Likewise.
32687         * modules/unistr/u8-strrchr: Likewise.
32688         * modules/unistr/u8-strspn: Likewise.
32689         * modules/unistr/u8-strstr: Likewise.
32690         * modules/unistr/u8-strtok: Likewise.
32691         * modules/unistr/u8-to-u16: Likewise.
32692         * modules/unistr/u8-to-u32: Likewise.
32693         * modules/unistr/u8-uctomb: Likewise.
32694         * modules/unistr/u16-check: Likewise.
32695         * modules/unistr/u16-chr: Likewise.
32696         * modules/unistr/u16-cmp: Likewise.
32697         * modules/unistr/u16-cmp2: Likewise.
32698         * modules/unistr/u16-cpy: Likewise.
32699         * modules/unistr/u16-cpy-alloc: Likewise.
32700         * modules/unistr/u16-endswith: Likewise.
32701         * modules/unistr/u16-mblen: Likewise.
32702         * modules/unistr/u16-mbsnlen: Likewise.
32703         * modules/unistr/u16-mbtouc: Likewise.
32704         * modules/unistr/u16-mbtouc-unsafe: Likewise.
32705         * modules/unistr/u16-mbtoucr: Likewise.
32706         * modules/unistr/u16-move: Likewise.
32707         * modules/unistr/u16-next: Likewise.
32708         * modules/unistr/u16-prev: Likewise.
32709         * modules/unistr/u16-set: Likewise.
32710         * modules/unistr/u16-startswith: Likewise.
32711         * modules/unistr/u16-stpcpy: Likewise.
32712         * modules/unistr/u16-stpncpy: Likewise.
32713         * modules/unistr/u16-strcat: Likewise.
32714         * modules/unistr/u16-strchr: Likewise.
32715         * modules/unistr/u16-strcmp: Likewise.
32716         * modules/unistr/u16-strcoll: Likewise.
32717         * modules/unistr/u16-strcpy: Likewise.
32718         * modules/unistr/u16-strcspn: Likewise.
32719         * modules/unistr/u16-strdup: Likewise.
32720         * modules/unistr/u16-strlen: Likewise.
32721         * modules/unistr/u16-strmblen: Likewise.
32722         * modules/unistr/u16-strmbtouc: Likewise.
32723         * modules/unistr/u16-strncat: Likewise.
32724         * modules/unistr/u16-strncmp: Likewise.
32725         * modules/unistr/u16-strncpy: Likewise.
32726         * modules/unistr/u16-strnlen: Likewise.
32727         * modules/unistr/u16-strpbrk: Likewise.
32728         * modules/unistr/u16-strrchr: Likewise.
32729         * modules/unistr/u16-strspn: Likewise.
32730         * modules/unistr/u16-strstr: Likewise.
32731         * modules/unistr/u16-strtok: Likewise.
32732         * modules/unistr/u16-to-u32: Likewise.
32733         * modules/unistr/u16-to-u8: Likewise.
32734         * modules/unistr/u16-uctomb: Likewise.
32735         * modules/unistr/u32-check: Likewise.
32736         * modules/unistr/u32-chr: Likewise.
32737         * modules/unistr/u32-cmp: Likewise.
32738         * modules/unistr/u32-cmp2: Likewise.
32739         * modules/unistr/u32-cpy: Likewise.
32740         * modules/unistr/u32-cpy-alloc: Likewise.
32741         * modules/unistr/u32-endswith: Likewise.
32742         * modules/unistr/u32-mblen: Likewise.
32743         * modules/unistr/u32-mbsnlen: Likewise.
32744         * modules/unistr/u32-mbtouc: Likewise.
32745         * modules/unistr/u32-mbtouc-unsafe: Likewise.
32746         * modules/unistr/u32-mbtoucr: Likewise.
32747         * modules/unistr/u32-move: Likewise.
32748         * modules/unistr/u32-next: Likewise.
32749         * modules/unistr/u32-prev: Likewise.
32750         * modules/unistr/u32-set: Likewise.
32751         * modules/unistr/u32-startswith: Likewise.
32752         * modules/unistr/u32-stpcpy: Likewise.
32753         * modules/unistr/u32-stpncpy: Likewise.
32754         * modules/unistr/u32-strcat: Likewise.
32755         * modules/unistr/u32-strchr: Likewise.
32756         * modules/unistr/u32-strcmp: Likewise.
32757         * modules/unistr/u32-strcoll: Likewise.
32758         * modules/unistr/u32-strcpy: Likewise.
32759         * modules/unistr/u32-strcspn: Likewise.
32760         * modules/unistr/u32-strdup: Likewise.
32761         * modules/unistr/u32-strlen: Likewise.
32762         * modules/unistr/u32-strmblen: Likewise.
32763         * modules/unistr/u32-strmbtouc: Likewise.
32764         * modules/unistr/u32-strncat: Likewise.
32765         * modules/unistr/u32-strncmp: Likewise.
32766         * modules/unistr/u32-strncpy: Likewise.
32767         * modules/unistr/u32-strnlen: Likewise.
32768         * modules/unistr/u32-strpbrk: Likewise.
32769         * modules/unistr/u32-strrchr: Likewise.
32770         * modules/unistr/u32-strspn: Likewise.
32771         * modules/unistr/u32-strstr: Likewise.
32772         * modules/unistr/u32-strtok: Likewise.
32773         * modules/unistr/u32-to-u16: Likewise.
32774         * modules/unistr/u32-to-u8: Likewise.
32775         * modules/unistr/u32-uctomb: Likewise.
32776         * modules/uniwbrk/u8-wordbreaks: Likewise.
32777         * modules/uniwbrk/u16-wordbreaks: Likewise.
32778         * modules/uniwbrk/u32-wordbreaks: Likewise.
32779         * modules/uniwbrk/ulc-wordbreaks: Likewise.
32780         * modules/uniwbrk/wordbreak-property: Likewise.
32781         * modules/uniwidth/u8-strwidth: Likewise.
32782         * modules/uniwidth/u8-width: Likewise.
32783         * modules/uniwidth/u16-strwidth: Likewise.
32784         * modules/uniwidth/u16-width: Likewise.
32785         * modules/uniwidth/u32-strwidth: Likewise.
32786         * modules/uniwidth/u32-width: Likewise.
32787         * modules/uniwidth/width: Likewise.
32788         * modules/unicase/cased-tests (Makefile.am): Link all test programs
32789         with $(LIBUNISTRING).
32790         * modules/unicase/ignorable-tests: Likewise.
32791         * modules/unicase/locale-language-tests: Likewise.
32792         * modules/unicase/tolower-tests: Likewise.
32793         * modules/unicase/totitle-tests: Likewise.
32794         * modules/unicase/toupper-tests: Likewise.
32795         * modules/unicase/u8-casecmp-tests: Likewise.
32796         * modules/unicase/u8-casecoll-tests: Likewise.
32797         * modules/unicase/u8-casefold-tests: Likewise.
32798         * modules/unicase/u8-is-cased-tests: Likewise.
32799         * modules/unicase/u8-is-casefolded-tests: Likewise.
32800         * modules/unicase/u8-is-lowercase-tests: Likewise.
32801         * modules/unicase/u8-is-titlecase-tests: Likewise.
32802         * modules/unicase/u8-is-uppercase-tests: Likewise.
32803         * modules/unicase/u8-tolower-tests: Likewise.
32804         * modules/unicase/u8-totitle-tests: Likewise.
32805         * modules/unicase/u8-toupper-tests: Likewise.
32806         * modules/unicase/u16-casecmp-tests: Likewise.
32807         * modules/unicase/u16-casecoll-tests: Likewise.
32808         * modules/unicase/u16-casefold-tests: Likewise.
32809         * modules/unicase/u16-is-cased-tests: Likewise.
32810         * modules/unicase/u16-is-casefolded-tests: Likewise.
32811         * modules/unicase/u16-is-lowercase-tests: Likewise.
32812         * modules/unicase/u16-is-titlecase-tests: Likewise.
32813         * modules/unicase/u16-is-uppercase-tests: Likewise.
32814         * modules/unicase/u16-tolower-tests: Likewise.
32815         * modules/unicase/u16-totitle-tests: Likewise.
32816         * modules/unicase/u16-toupper-tests: Likewise.
32817         * modules/unicase/u32-casecmp-tests: Likewise.
32818         * modules/unicase/u32-casecoll-tests: Likewise.
32819         * modules/unicase/u32-casefold-tests: Likewise.
32820         * modules/unicase/u32-is-cased-tests: Likewise.
32821         * modules/unicase/u32-is-casefolded-tests: Likewise.
32822         * modules/unicase/u32-is-lowercase-tests: Likewise.
32823         * modules/unicase/u32-is-titlecase-tests: Likewise.
32824         * modules/unicase/u32-is-uppercase-tests: Likewise.
32825         * modules/unicase/u32-tolower-tests: Likewise.
32826         * modules/unicase/u32-totitle-tests: Likewise.
32827         * modules/unicase/u32-toupper-tests: Likewise.
32828         * modules/unicase/ulc-casecmp-tests: Likewise.
32829         * modules/unicase/ulc-casecoll-tests: Likewise.
32830         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
32831         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
32832         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
32833         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
32834         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
32835         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
32836         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
32837         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
32838         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
32839         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
32840         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
32841         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
32842         * modules/unictype/bidicategory-byname-tests: Likewise.
32843         * modules/unictype/bidicategory-name-tests: Likewise.
32844         * modules/unictype/bidicategory-of-tests: Likewise.
32845         * modules/unictype/bidicategory-test-tests: Likewise.
32846         * modules/unictype/block-list-tests: Likewise.
32847         * modules/unictype/block-of-tests: Likewise.
32848         * modules/unictype/block-test-tests: Likewise.
32849         * modules/unictype/category-C-tests: Likewise.
32850         * modules/unictype/category-Cc-tests: Likewise.
32851         * modules/unictype/category-Cf-tests: Likewise.
32852         * modules/unictype/category-Cn-tests: Likewise.
32853         * modules/unictype/category-Co-tests: Likewise.
32854         * modules/unictype/category-Cs-tests: Likewise.
32855         * modules/unictype/category-L-tests: Likewise.
32856         * modules/unictype/category-Ll-tests: Likewise.
32857         * modules/unictype/category-Lm-tests: Likewise.
32858         * modules/unictype/category-Lo-tests: Likewise.
32859         * modules/unictype/category-Lt-tests: Likewise.
32860         * modules/unictype/category-Lu-tests: Likewise.
32861         * modules/unictype/category-M-tests: Likewise.
32862         * modules/unictype/category-Mc-tests: Likewise.
32863         * modules/unictype/category-Me-tests: Likewise.
32864         * modules/unictype/category-Mn-tests: Likewise.
32865         * modules/unictype/category-N-tests: Likewise.
32866         * modules/unictype/category-Nd-tests: Likewise.
32867         * modules/unictype/category-Nl-tests: Likewise.
32868         * modules/unictype/category-No-tests: Likewise.
32869         * modules/unictype/category-P-tests: Likewise.
32870         * modules/unictype/category-Pc-tests: Likewise.
32871         * modules/unictype/category-Pd-tests: Likewise.
32872         * modules/unictype/category-Pe-tests: Likewise.
32873         * modules/unictype/category-Pf-tests: Likewise.
32874         * modules/unictype/category-Pi-tests: Likewise.
32875         * modules/unictype/category-Po-tests: Likewise.
32876         * modules/unictype/category-Ps-tests: Likewise.
32877         * modules/unictype/category-S-tests: Likewise.
32878         * modules/unictype/category-Sc-tests: Likewise.
32879         * modules/unictype/category-Sk-tests: Likewise.
32880         * modules/unictype/category-Sm-tests: Likewise.
32881         * modules/unictype/category-So-tests: Likewise.
32882         * modules/unictype/category-Z-tests: Likewise.
32883         * modules/unictype/category-Zl-tests: Likewise.
32884         * modules/unictype/category-Zp-tests: Likewise.
32885         * modules/unictype/category-Zs-tests: Likewise.
32886         * modules/unictype/category-and-not-tests: Likewise.
32887         * modules/unictype/category-and-tests: Likewise.
32888         * modules/unictype/category-byname-tests: Likewise.
32889         * modules/unictype/category-name-tests: Likewise.
32890         * modules/unictype/category-none-tests: Likewise.
32891         * modules/unictype/category-of-tests: Likewise.
32892         * modules/unictype/category-or-tests: Likewise.
32893         * modules/unictype/category-test-withtable-tests: Likewise.
32894         * modules/unictype/combining-class-tests: Likewise.
32895         * modules/unictype/ctype-alnum-tests: Likewise.
32896         * modules/unictype/ctype-alpha-tests: Likewise.
32897         * modules/unictype/ctype-blank-tests: Likewise.
32898         * modules/unictype/ctype-cntrl-tests: Likewise.
32899         * modules/unictype/ctype-digit-tests: Likewise.
32900         * modules/unictype/ctype-graph-tests: Likewise.
32901         * modules/unictype/ctype-lower-tests: Likewise.
32902         * modules/unictype/ctype-print-tests: Likewise.
32903         * modules/unictype/ctype-punct-tests: Likewise.
32904         * modules/unictype/ctype-space-tests: Likewise.
32905         * modules/unictype/ctype-upper-tests: Likewise.
32906         * modules/unictype/ctype-xdigit-tests: Likewise.
32907         * modules/unictype/decimal-digit-tests: Likewise.
32908         * modules/unictype/digit-tests: Likewise.
32909         * modules/unictype/mirror-tests: Likewise.
32910         * modules/unictype/numeric-tests: Likewise.
32911         * modules/unictype/property-alphabetic-tests: Likewise.
32912         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
32913         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
32914         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
32915         * modules/unictype/property-bidi-block-separator-tests: Likewise.
32916         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
32917         * modules/unictype/property-bidi-common-separator-tests: Likewise.
32918         * modules/unictype/property-bidi-control-tests: Likewise.
32919         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
32920         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
32921         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
32922         * modules/unictype/property-bidi-european-digit-tests: Likewise.
32923         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
32924         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
32925         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
32926         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
32927         * modules/unictype/property-bidi-pdf-tests: Likewise.
32928         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
32929         * modules/unictype/property-bidi-whitespace-tests: Likewise.
32930         * modules/unictype/property-byname-tests: Likewise.
32931         * modules/unictype/property-combining-tests: Likewise.
32932         * modules/unictype/property-composite-tests: Likewise.
32933         * modules/unictype/property-currency-symbol-tests: Likewise.
32934         * modules/unictype/property-dash-tests: Likewise.
32935         * modules/unictype/property-decimal-digit-tests: Likewise.
32936         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
32937         * modules/unictype/property-deprecated-tests: Likewise.
32938         * modules/unictype/property-diacritic-tests: Likewise.
32939         * modules/unictype/property-extender-tests: Likewise.
32940         * modules/unictype/property-format-control-tests: Likewise.
32941         * modules/unictype/property-grapheme-base-tests: Likewise.
32942         * modules/unictype/property-grapheme-extend-tests: Likewise.
32943         * modules/unictype/property-grapheme-link-tests: Likewise.
32944         * modules/unictype/property-hex-digit-tests: Likewise.
32945         * modules/unictype/property-hyphen-tests: Likewise.
32946         * modules/unictype/property-id-continue-tests: Likewise.
32947         * modules/unictype/property-id-start-tests: Likewise.
32948         * modules/unictype/property-ideographic-tests: Likewise.
32949         * modules/unictype/property-ids-binary-operator-tests: Likewise.
32950         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
32951         * modules/unictype/property-ignorable-control-tests: Likewise.
32952         * modules/unictype/property-iso-control-tests: Likewise.
32953         * modules/unictype/property-join-control-tests: Likewise.
32954         * modules/unictype/property-left-of-pair-tests: Likewise.
32955         * modules/unictype/property-line-separator-tests: Likewise.
32956         * modules/unictype/property-logical-order-exception-tests: Likewise.
32957         * modules/unictype/property-lowercase-tests: Likewise.
32958         * modules/unictype/property-math-tests: Likewise.
32959         * modules/unictype/property-non-break-tests: Likewise.
32960         * modules/unictype/property-not-a-character-tests: Likewise.
32961         * modules/unictype/property-numeric-tests: Likewise.
32962         * modules/unictype/property-other-alphabetic-tests: Likewise.
32963         * modules/unictype/property-other-default-ignorable-code-point-tests:
32964         Likewise.
32965         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
32966         * modules/unictype/property-other-id-continue-tests: Likewise.
32967         * modules/unictype/property-other-id-start-tests: Likewise.
32968         * modules/unictype/property-other-lowercase-tests: Likewise.
32969         * modules/unictype/property-other-math-tests: Likewise.
32970         * modules/unictype/property-other-uppercase-tests: Likewise.
32971         * modules/unictype/property-paired-punctuation-tests: Likewise.
32972         * modules/unictype/property-paragraph-separator-tests: Likewise.
32973         * modules/unictype/property-pattern-syntax-tests: Likewise.
32974         * modules/unictype/property-pattern-white-space-tests: Likewise.
32975         * modules/unictype/property-private-use-tests: Likewise.
32976         * modules/unictype/property-punctuation-tests: Likewise.
32977         * modules/unictype/property-quotation-mark-tests: Likewise.
32978         * modules/unictype/property-radical-tests: Likewise.
32979         * modules/unictype/property-sentence-terminal-tests: Likewise.
32980         * modules/unictype/property-soft-dotted-tests: Likewise.
32981         * modules/unictype/property-space-tests: Likewise.
32982         * modules/unictype/property-terminal-punctuation-tests: Likewise.
32983         * modules/unictype/property-test-tests: Likewise.
32984         * modules/unictype/property-titlecase-tests: Likewise.
32985         * modules/unictype/property-unassigned-code-value-tests: Likewise.
32986         * modules/unictype/property-unified-ideograph-tests: Likewise.
32987         * modules/unictype/property-uppercase-tests: Likewise.
32988         * modules/unictype/property-variation-selector-tests: Likewise.
32989         * modules/unictype/property-white-space-tests: Likewise.
32990         * modules/unictype/property-xid-continue-tests: Likewise.
32991         * modules/unictype/property-xid-start-tests: Likewise.
32992         * modules/unictype/property-zero-width-tests: Likewise.
32993         * modules/unictype/scripts-tests: Likewise.
32994         * modules/unictype/syntax-c-ident-tests: Likewise.
32995         * modules/unictype/syntax-c-whitespace-tests: Likewise.
32996         * modules/unictype/syntax-java-ident-tests: Likewise.
32997         * modules/unictype/syntax-java-whitespace-tests: Likewise.
32998         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
32999         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
33000         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
33001         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
33002         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
33003         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
33004         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
33005         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
33006         * modules/uniname/uniname-tests: Likewise.
33007         * modules/uninorm/canonical-decomposition-tests: Likewise.
33008         * modules/uninorm/compat-decomposition-tests: Likewise.
33009         * modules/uninorm/composition-tests: Likewise.
33010         * modules/uninorm/decomposing-form-tests: Likewise.
33011         * modules/uninorm/decomposition-tests: Likewise.
33012         * modules/uninorm/filter-tests: Likewise.
33013         * modules/uninorm/nfc-tests: Likewise.
33014         * modules/uninorm/nfd-tests: Likewise.
33015         * modules/uninorm/nfkc-tests: Likewise.
33016         * modules/uninorm/nfkd-tests: Likewise.
33017         * modules/uninorm/u8-normcmp-tests: Likewise.
33018         * modules/uninorm/u8-normcoll-tests: Likewise.
33019         * modules/uninorm/u16-normcmp-tests: Likewise.
33020         * modules/uninorm/u16-normcoll-tests: Likewise.
33021         * modules/uninorm/u32-normcmp-tests: Likewise.
33022         * modules/uninorm/u32-normcoll-tests: Likewise.
33023         * modules/unistdio/u8-asnprintf-tests: Likewise.
33024         * modules/unistdio/u8-vasnprintf-tests: Likewise.
33025         * modules/unistdio/u8-vasprintf-tests: Likewise.
33026         * modules/unistdio/u8-vsnprintf-tests: Likewise.
33027         * modules/unistdio/u8-vsprintf-tests: Likewise.
33028         * modules/unistdio/u16-asnprintf-tests: Likewise.
33029         * modules/unistdio/u16-vasnprintf-tests: Likewise.
33030         * modules/unistdio/u16-vasprintf-tests: Likewise.
33031         * modules/unistdio/u16-vsnprintf-tests: Likewise.
33032         * modules/unistdio/u16-vsprintf-tests: Likewise.
33033         * modules/unistdio/u32-asnprintf-tests: Likewise.
33034         * modules/unistdio/u32-vasnprintf-tests: Likewise.
33035         * modules/unistdio/u32-vasprintf-tests: Likewise.
33036         * modules/unistdio/u32-vsnprintf-tests: Likewise.
33037         * modules/unistdio/u32-vsprintf-tests: Likewise.
33038         * modules/unistdio/ulc-asnprintf-tests: Likewise.
33039         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
33040         * modules/unistdio/ulc-vasprintf-tests: Likewise.
33041         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
33042         * modules/unistdio/ulc-vsprintf-tests: Likewise.
33043         * modules/unistr/u8-check-tests: Likewise.
33044         * modules/unistr/u8-chr-tests: Likewise.
33045         * modules/unistr/u8-cmp-tests: Likewise.
33046         * modules/unistr/u8-cmp2-tests: Likewise.
33047         * modules/unistr/u8-cpy-alloc-tests: Likewise.
33048         * modules/unistr/u8-cpy-tests: Likewise.
33049         * modules/unistr/u8-mblen-tests: Likewise.
33050         * modules/unistr/u8-mbsnlen-tests: Likewise.
33051         * modules/unistr/u8-mbtouc-tests: Likewise.
33052         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
33053         * modules/unistr/u8-mbtoucr-tests: Likewise.
33054         * modules/unistr/u8-move-tests: Likewise.
33055         * modules/unistr/u8-next-tests: Likewise.
33056         * modules/unistr/u8-prev-tests: Likewise.
33057         * modules/unistr/u8-set-tests: Likewise.
33058         * modules/unistr/u8-stpcpy-tests: Likewise.
33059         * modules/unistr/u8-stpncpy-tests: Likewise.
33060         * modules/unistr/u8-strcat-tests: Likewise.
33061         * modules/unistr/u8-strcmp-tests: Likewise.
33062         * modules/unistr/u8-strcoll-tests: Likewise.
33063         * modules/unistr/u8-strcpy-tests: Likewise.
33064         * modules/unistr/u8-strdup-tests: Likewise.
33065         * modules/unistr/u8-strlen-tests: Likewise.
33066         * modules/unistr/u8-strmblen-tests: Likewise.
33067         * modules/unistr/u8-strmbtouc-tests: Likewise.
33068         * modules/unistr/u8-strncat-tests: Likewise.
33069         * modules/unistr/u8-strncmp-tests: Likewise.
33070         * modules/unistr/u8-strncpy-tests: Likewise.
33071         * modules/unistr/u8-strnlen-tests: Likewise.
33072         * modules/unistr/u8-to-u16-tests: Likewise.
33073         * modules/unistr/u8-to-u32-tests: Likewise.
33074         * modules/unistr/u8-uctomb-tests: Likewise.
33075         * modules/unistr/u16-check-tests: Likewise.
33076         * modules/unistr/u16-chr-tests: Likewise.
33077         * modules/unistr/u16-cmp-tests: Likewise.
33078         * modules/unistr/u16-cmp2-tests: Likewise.
33079         * modules/unistr/u16-cpy-alloc-tests: Likewise.
33080         * modules/unistr/u16-cpy-tests: Likewise.
33081         * modules/unistr/u16-mblen-tests: Likewise.
33082         * modules/unistr/u16-mbsnlen-tests: Likewise.
33083         * modules/unistr/u16-mbtouc-tests: Likewise.
33084         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
33085         * modules/unistr/u16-mbtoucr-tests: Likewise.
33086         * modules/unistr/u16-move-tests: Likewise.
33087         * modules/unistr/u16-next-tests: Likewise.
33088         * modules/unistr/u16-prev-tests: Likewise.
33089         * modules/unistr/u16-set-tests: Likewise.
33090         * modules/unistr/u16-stpcpy-tests: Likewise.
33091         * modules/unistr/u16-stpncpy-tests: Likewise.
33092         * modules/unistr/u16-strcat-tests: Likewise.
33093         * modules/unistr/u16-strcmp-tests: Likewise.
33094         * modules/unistr/u16-strcoll-tests: Likewise.
33095         * modules/unistr/u16-strcpy-tests: Likewise.
33096         * modules/unistr/u16-strdup-tests: Likewise.
33097         * modules/unistr/u16-strlen-tests: Likewise.
33098         * modules/unistr/u16-strmblen-tests: Likewise.
33099         * modules/unistr/u16-strmbtouc-tests: Likewise.
33100         * modules/unistr/u16-strncat-tests: Likewise.
33101         * modules/unistr/u16-strncmp-tests: Likewise.
33102         * modules/unistr/u16-strncpy-tests: Likewise.
33103         * modules/unistr/u16-strnlen-tests: Likewise.
33104         * modules/unistr/u16-to-u32-tests: Likewise.
33105         * modules/unistr/u16-to-u8-tests: Likewise.
33106         * modules/unistr/u16-uctomb-tests: Likewise.
33107         * modules/unistr/u32-check-tests: Likewise.
33108         * modules/unistr/u32-chr-tests: Likewise.
33109         * modules/unistr/u32-cmp-tests: Likewise.
33110         * modules/unistr/u32-cmp2-tests: Likewise.
33111         * modules/unistr/u32-cpy-alloc-tests: Likewise.
33112         * modules/unistr/u32-cpy-tests: Likewise.
33113         * modules/unistr/u32-mblen-tests: Likewise.
33114         * modules/unistr/u32-mbsnlen-tests: Likewise.
33115         * modules/unistr/u32-mbtouc-tests: Likewise.
33116         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
33117         * modules/unistr/u32-mbtoucr-tests: Likewise.
33118         * modules/unistr/u32-move-tests: Likewise.
33119         * modules/unistr/u32-next-tests: Likewise.
33120         * modules/unistr/u32-prev-tests: Likewise.
33121         * modules/unistr/u32-set-tests: Likewise.
33122         * modules/unistr/u32-stpcpy-tests: Likewise.
33123         * modules/unistr/u32-stpncpy-tests: Likewise.
33124         * modules/unistr/u32-strcat-tests: Likewise.
33125         * modules/unistr/u32-strcmp-tests: Likewise.
33126         * modules/unistr/u32-strcoll-tests: Likewise.
33127         * modules/unistr/u32-strcpy-tests: Likewise.
33128         * modules/unistr/u32-strdup-tests: Likewise.
33129         * modules/unistr/u32-strlen-tests: Likewise.
33130         * modules/unistr/u32-strmblen-tests: Likewise.
33131         * modules/unistr/u32-strmbtouc-tests: Likewise.
33132         * modules/unistr/u32-strncat-tests: Likewise.
33133         * modules/unistr/u32-strncmp-tests: Likewise.
33134         * modules/unistr/u32-strncpy-tests: Likewise.
33135         * modules/unistr/u32-strnlen-tests: Likewise.
33136         * modules/unistr/u32-to-u16-tests: Likewise.
33137         * modules/unistr/u32-to-u8-tests: Likewise.
33138         * modules/unistr/u32-uctomb-tests: Likewise.
33139         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
33140         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
33141         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
33142         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
33143         * modules/uniwidth/u8-strwidth-tests: Likewise.
33144         * modules/uniwidth/u8-width-tests: Likewise.
33145         * modules/uniwidth/u16-strwidth-tests: Likewise.
33146         * modules/uniwidth/u16-width-tests: Likewise.
33147         * modules/uniwidth/u32-strwidth-tests: Likewise.
33148         * modules/uniwidth/u32-width-tests: Likewise.
33149         * modules/uniwidth/width-tests: Likewise.
33150
33151 2010-05-18  Richard Jones  <rjones@redhat.com>
33152
33153         doc: users.txt: list hivex
33154         * users.txt: Add hivex.
33155
33156 2010-05-18  Richard Jones  <rjones@redhat.com>
33157
33158         doc: users.txt: list febootstrap
33159         * users.txt: Add febootstrap.
33160
33161 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
33162
33163         bootstrap: fix an error when gnulib is not used as a git submodule
33164         * build-aux/bootstrap (gnulib_path): If its length is zero then
33165         assign "gnulib" to it.
33166         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
33167
33168 2010-05-16  Bruno Haible  <bruno@clisp.org>
33169
33170         Avoid autoconf warnings about AM_ICONV.
33171         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
33172         2.64.
33173
33174 2010-05-16  Bruno Haible  <bruno@clisp.org>
33175
33176         absolute-header: Make the macro usable in more situations.
33177         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
33178         from gl_ABSOLUTE_HEADER.
33179         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
33180
33181 2010-05-16  James Youngman  <jay@gnu.org>
33182
33183         doc: update users.txt
33184         * users.txt: Add CSSC.
33185
33186 2010-05-16  Jim Meyering  <meyering@redhat.com>
33187
33188         init.sh: fix an error in the previous change; add more comments
33189         * tests/init.sh: Compare exit code in loop against 9, not 2.
33190         Patch by Bruno Haible.
33191         Make the two tests more similar by adding an empty "then" clause.
33192         Add comments.
33193
33194         init.sh: avoid unnecessary shell re-exec
33195         * tests/init.sh: Improve the re-exec-required check to first test the
33196         current shell.  If it passes the test, do not search for a shell that
33197         does pass, and do not re-exec.  This test is particularly contorted to
33198         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
33199         of $(...) evokes a syntax error and causes immediate shell exit with
33200         status 2.  Bruno Haible reported that the re-exec made it impossible
33201         to single-step through any init.sh-using script.
33202
33203 2010-05-16  Bruno Haible  <bruno@clisp.org>
33204
33205         Fix collision between gnulib's and libintl's printf replacements.
33206         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
33207         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
33208         (printf): When using GNU C, map the __printf__ function to rpl_printf
33209         via __asm__. When not using GNU C, define rpl_printf instead of
33210         __printf__.
33211         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
33212         commit.
33213         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
33214         commit.
33215         * m4/asm-underscore.m4: New file.
33216         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
33217         * modules/stdio (Files): Add m4/asm-underscore.m4.
33218         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
33219         Reported by Ben Pfaff.
33220
33221 2010-05-16  Bruno Haible  <bruno@clisp.org>
33222
33223         verify: Avoid skipping the test on openSUSE 11.0.
33224         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
33225
33226 2010-05-13  Bruno Haible  <bruno@clisp.org>
33227
33228         Avoid useless warnings from G++.
33229         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
33230         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
33231         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33232
33233 2010-05-11  Jim Meyering  <meyering@redhat.com>
33234
33235         maint.mk: tweak preceding change
33236         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
33237         regexps tighter by anchoring at EOL, and make the new group "shy"
33238         for slightly decreased overhead.
33239
33240 2010-05-11  Eric Blake  <eblake@redhat.com>
33241
33242         maint.mk: gnulib doesn't guarantee NSIG
33243         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
33244
33245 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33246
33247         test-pwrite.c: Remove unused variable declaration.
33248         * tests/test-pwrite.c (main): Remove read_buf declaration.
33249
33250         Remove useless test-pwrite.sh file.
33251         * tests/test-pwrite.sh: Delete file.
33252         * modules/pwrite-tests: Remove references.
33253         Reported by Bruno Haible.
33254
33255 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33256
33257         init.sh: fix a typo
33258         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
33259
33260 2010-05-10  Jim Meyering  <meyering@redhat.com>
33261
33262         maint.mk: avoid using a temporary file in the always-defined-macros check
33263         * top/maint.mk (.re-defmac): Remove rule.
33264         (gl_trap_): Remove definition.
33265         (sc_prohibit_always-defined_macros): Rewrite not to create and
33266         depend on a temporary file.  Instead, depend on GNU grep's ability
33267         to read a list of regular expressions from stdin when given "-f -".
33268
33269 2010-05-09  Bruno Haible  <bruno@clisp.org>
33270
33271         Update to GNU gettext 0.18, part 1.
33272         * m4/gettext.m4: Update to GNU gettext 0.18.
33273         * m4/intl.m4: Likewise.
33274         * m4/po.m4: Likewise.
33275         * modules/gettext (Files): Add m4/fcntl-o.m4.
33276         (configure.ac): Require gettext infrastructure from version 0.18.
33277
33278 2010-05-09  Jim Meyering  <meyering@redhat.com>
33279
33280         init.sh: enable MALLOC_PERTURB_
33281         * tests/init.sh: Enable glibc's malloc-perturbing option.
33282
33283         maint.mk: improve sc_cross_check_PATH_usage_in_tests
33284         With my recent change in init.sh from the two-line form:
33285             -#   : ${srcdir=.}
33286             -#   . "$srcdir/init.sh"; path_prepend_ .
33287             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
33288         I noticed that using the one-line form would cause this test
33289         to fail with a false-positive, or to stop working altogether,
33290         depending on whether help-version changed or all the tests did.
33291         * top/maint.mk (_hv_regex): Remove this definition.
33292         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
33293         (_hv_regex_strong): Use a stronger regex to check for conformance.
33294         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
33295         Give a separate diagnostic for lack of conforming use.
33296
33297         maint.mk: prohibit definition of symbols defined by gnulib
33298         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
33299         definition of symbols defined by gnulib.
33300
33301 2010-05-09  Bruno Haible  <bruno@clisp.org>
33302
33303         acl: Avoid test failure on Cygwin-hosted mingw.
33304         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
33305
33306 2010-05-09  Bruno Haible  <bruno@clisp.org>
33307
33308         error: Use system's fcntl function.
33309         * lib/error.c (fcntl): Undefine.
33310
33311 2010-05-09  Jim Meyering  <meyering@redhat.com>
33312
33313         verify: adjust formatting to be more consistent
33314         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
33315         argument-list '('s, and after one comma.
33316
33317 2010-05-09  Bruno Haible  <bruno@clisp.org>
33318
33319         error: More reliable output on mingw.
33320         * lib/error.c: Include <windows.h>.
33321         (is_open): New function.
33322         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
33323         defined.
33324
33325 2010-05-09  Bruno Haible  <bruno@clisp.org>
33326
33327         vasnprintf: Fix syntax errors in libintl build on mingw.
33328         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
33329         pad_ourselves and prec_ourselves after use.
33330
33331 2010-05-08  Bruno Haible  <bruno@clisp.org>
33332
33333         * lib/config.charset: Update comments for Cygwin 1.7.
33334         * lib/localcharset.c: Likewise.
33335
33336 2010-05-07  Jim Meyering  <meyering@redhat.com>
33337
33338         init.sh: improve comments
33339         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
33340         . "${srcdir=.}/init.sh"; path_prepend_ .
33341         Add a note about path_prepend_ and the alternative of using
33342         TESTS_ENVIRONMENT.
33343
33344 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33345
33346         exclude: Unescape hashed patterns in wildcard mode.
33347         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
33348         to the hash list.
33349         * tests/test-exclude8.sh: New test case.
33350         * modules/exclude-tests: Add new test.
33351
33352 2010-05-05  Eric Blake  <eblake@redhat.com>
33353
33354         verify: automate tests
33355         * modules/verify-tests: New module.
33356         * tests/test-verify.sh: New file.
33357         * tests/test-verify.c: Guard each negative test with a unique id.
33358         Also avoid warning about unused left hand of comma expressions.
33359
33360 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
33361
33362         Further improvements to verify.h, suggested by Eric Blake.
33363         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
33364         the GL_* versions, to avoid collision with OpenGL.
33365         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
33366         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
33367         than testing merely whether it's defined.
33368
33369         Modify verify.h to pacify gcc -Wredundant_decls.
33370         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
33371         These use the prefix "GL_" since they're likely to be useful elsewhere.
33372         We may need to break them out into a different .h file.
33373         (__COUNTER__): Define to 0 if the compiler doesn't support it.
33374         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
33375         of verify_function__.
33376
33377 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33378
33379         Tests for module pwrite.
33380         * modules/pwrite-tests: New file.
33381         * tests/test-pwrite.sh: New file.
33382         * tests/test-pwrite.c: New file.
33383
33384         New module pwrite.
33385         * lib/unistd.in.h (pwrite): New declaration.
33386         * lib/pwrite.c: New file, from glibc with modifications.
33387         * m4/pwrite.m4: New file.
33388         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
33389         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
33390         REPLACE_PWRITE.
33391         * modules/pwrite: New file.
33392         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
33393         REPLACE_PWRITE.
33394         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
33395         * doc/posix-functions/pwrite.texi: Mention the new module.
33396
33397 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33398
33399         pread: Update documentation.
33400         * doc/posix-functions/pread.texi: Mention the 'pread' module.
33401
33402 2010-05-04  Eric Blake  <eblake@redhat.com>
33403
33404         docs: update cygwin progress
33405         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
33406         this bug.
33407         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
33408         Added in cygwin 1.7.2.
33409         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
33410         Likewise.
33411         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
33412         Likewise.
33413         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33414         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33415         * doc/glibc-functions/accept4.texi (accept4): Likewise.
33416         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
33417         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
33418         Mention nproc module.
33419         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
33420         bug in cygwin 1.7.5 addition.
33421         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
33422         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
33423         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
33424         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
33425         1.7.5.
33426         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
33427         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
33428         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
33429         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
33430         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
33431         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
33432         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
33433         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
33434         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
33435         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
33436         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
33437         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
33438         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
33439         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
33440         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
33441         Likewise.
33442         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
33443         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
33444         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
33445         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
33446         Likewise.
33447         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
33448         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
33449         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
33450         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
33451         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
33452         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
33453         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
33454         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
33455         Likewise.
33456         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
33457         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
33458         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
33459         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
33460         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
33461         Likewise.
33462         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
33463         Likewise.
33464         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
33465         Likewise.
33466         * doc/glibc-functions/xdrrec_endofrecord.texi
33467         (xdrrec_endofrecord): Likewise.
33468         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
33469         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
33470         Likewise.
33471         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
33472         Likewise.
33473
33474 2010-05-04  Jim Meyering  <meyering@redhat.com>
33475
33476         gendocs.sh: make its "-s FILE" option more useful
33477         * build-aux/gendocs.sh: When honoring the -s FILE option, update
33478         $PACKAGE to reflect the probably-different basename of "FILE".
33479
33480 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33481
33482         bootstrap: don't ignore download_po_files failure
33483         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
33484         failure.
33485
33486 2010-05-03  Jim Meyering  <meyering@redhat.com>
33487
33488         maint.mk: allow to pass options to gendocs.sh
33489         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
33490         (gendocs_options_): New overridable variable.
33491
33492         gnu-web-doc-update: don't ignore configure or build failure
33493         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
33494
33495         announce-gen: backslash-escape '@'s in --help output
33496         * build-aux/announce-gen: Fix syntax errors.
33497
33498         maint.mk, announce-gen: allow project-specific announcement mail headers
33499         * top/maint.mk (translation_project_): Define default.
33500         (announcement_Cc_, announcement_mail_headers_): Likewise.
33501         (announcement): Invoke announce-gen with new --mail-headers option.
33502         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
33503
33504         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
33505         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
33506         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
33507         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
33508         line in the "err2" output file when running "make check" in verbose
33509         mode (i.e., with set -x enabled).
33510
33511 2010-05-03  Bruno Haible  <bruno@clisp.org>
33512
33513         wctob: Fix for weird platforms.
33514         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
33515         argument value.
33516
33517 2010-05-03  Jim Meyering  <meyering@redhat.com>
33518
33519         maint.mk: prohibit unwarranted use of <strings.h>
33520         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
33521         strings.h in a file that does not also use strcasecmp, strncasecmp,
33522         ffs or ffsll.
33523
33524         maint.mk: remove obsolete comments
33525         * top/maint.mk: Remove stale, commented-out rules.
33526
33527 2010-05-02  Bruno Haible  <bruno@clisp.org>
33528
33529         wcwidth: Declare also when it's aliased.
33530         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
33531         macro.
33532
33533 2010-05-02  Bruno Haible  <bruno@clisp.org>
33534
33535         Fix regression from 2010-04-25.
33536         * gnulib-tool (func_modules_transitive_closure): Check the status of
33537         all modules, not only of the tests that are of the form foo-tests where
33538         foo is a module.
33539
33540 2010-05-02  Bruno Haible  <bruno@clisp.org>
33541
33542         wctob: Work around nasty Cygwin 1.7.2 bug.
33543         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
33544         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
33545
33546 2010-05-01  Bruno Haible  <bruno@clisp.org>
33547
33548         fpurge: Sharper test.
33549         * tests/test-fpurge.c (main): Add one more ftell check.
33550         * modules/fpurge-tests (Depends-on): Add ftell.
33551         Suggested by Eric Blake.
33552
33553 2010-05-01  Bruno Haible  <bruno@clisp.org>
33554
33555         ftello: Another test.
33556         * tests/test-ftello3.c: New file.
33557         * modules/ftello-tests (Files): Add it.
33558         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33559         MOSTLYCLEANFILES.
33560
33561         ftell: Another test.
33562         * tests/test-ftell3.c: New file.
33563         * modules/ftell-tests (Files): Add it.
33564         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33565         MOSTLYCLEANFILES.
33566
33567 2010-05-01  Bruno Haible  <bruno@clisp.org>
33568
33569         ftell, ftello: Work around Solaris bug.
33570         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
33571         * lib/ftello.c: Include stdio-impl.h.
33572         (ftello): On Solaris, when _IOWRT is set, compute the result without
33573         looking at _IOREAD.
33574         * modules/ftello (Files): Add lib/stdio-impl.h.
33575         * doc/posix-functions/ftell.texi: Mention Solaris bug.
33576         * doc/posix-functions/ftello.texi: Likewise.
33577         Reported by Eric Blake.
33578
33579 2010-05-01  Bruno Haible  <bruno@clisp.org>
33580
33581         freading: Adapt to special meaning of _IOREAD flag on Solaris.
33582         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
33583         the _IOWRT flag is also set.
33584
33585 2010-05-01  Bruno Haible  <bruno@clisp.org>
33586
33587         Fix doc about a HP-UX stdio bug.
33588         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
33589         * doc/posix-functions/ftello.texi: Likewise.
33590
33591 2010-05-01  Bruno Haible  <bruno@clisp.org>
33592
33593         lseek test: Fix failure on Solaris.
33594         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
33595         output.
33596
33597 2010-04-30  Jim Meyering  <meyering@redhat.com>
33598
33599         bootstrap: don't ignore failure to generate po*/Makevars
33600         * build-aux/bootstrap (with_gettext): Don't ignore failure
33601         to create po/Makevars or runtime-po/Makevars.
33602
33603 2010-04-29  Eric Blake  <eblake@redhat.com>
33604
33605         headers: relax license to LGPLv2+
33606         * modules/fcntl-h (License): Relax license.
33607         * modules/getopt-posix (License): Likewise.
33608         * modules/locale (License): Likewise.
33609         * modules/math (License): Likewise.
33610         * modules/pty (License): Likewise.
33611         * modules/sched (License): Likewise.
33612         * modules/search (License): Likewise.
33613         * modules/spawn (License): Likewise.
33614         * modules/stdarg (License): Likewise.
33615         * modules/sysexits (License): Likewise.
33616
33617 2010-04-29  Jim Meyering  <meyering@redhat.com>
33618
33619         inttypes: relax license to LGPLv2+
33620         * modules/inttypes (License): Relax license.
33621
33622 2010-04-29  Simon Josefsson  <simon@josefsson.org>
33623
33624         * top/maint.mk (indent): Run twice to produce idempotent results.
33625
33626 2010-04-28  Bruno Haible  <bruno@clisp.org>
33627
33628         getdate: Generate getdate.c in the source directory.
33629         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
33630         MOSTLYCLEANFILES.
33631         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
33632
33633 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
33634
33635         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
33636         is not declared as a const *; avoid warnings in that case.
33637
33638 2010-04-28  Eric Blake  <eblake@redhat.com>
33639
33640         canonicalize-lgpl: avoid compiler warning
33641         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
33642         declaration' / 'extraneous semicolon' warning with some compilers.
33643         Reported by Andreas Gruenbacher.
33644
33645 2010-04-28  Jim Meyering  <meyering@redhat.com>
33646
33647         init.sh: ensure a more reliable exit status when exiting via trap
33648         * tests/init.sh (setup_): Don't rely on $? in signal handler.
33649         Inspired by patches from Dmitry V. Levin.
33650         Also trap on signal 3 (SIGQUIT).
33651
33652 2010-04-27  Bruno Haible  <bruno@clisp.org>
33653
33654         Update doc about utimes().
33655         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
33656         'utimens' module.
33657         Reported by Andreas Gruenbacher <agruen@suse.de>.
33658
33659 2010-04-27  Eric Blake  <eblake@redhat.com>
33660
33661         full-read, full-write: relax license
33662         * modules/full-read (License): Drop to LGPLv2+.
33663         * modules/full-write (License): Likewise.
33664         * modules/safe-read (License): Likewise.
33665         * modules/safe-write (License): Likewise.
33666
33667         pthread: mention library for linking
33668         * modules/pthread (Link): Mention $(LIB_PTHREAD).
33669
33670 2010-04-27  Jim Meyering  <meyering@redhat.com>
33671
33672         maint.mk: fix a bug introduced in last change
33673         * top/maint.mk (gl_assured_headers_): Now that all names are on
33674         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
33675         is not anchored to end of word, it should be adequate.
33676
33677         maint.mk: avoid side-effect in latest syntax-check
33678         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
33679         to run commands via $(shell...), and hence to incur cost only when
33680         the new rule is actually run.
33681
33682         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
33683         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
33684         and use that to create a regexp used to detect all #if HAVE_..._H uses.
33685         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
33686         (gl_assured_headers_, az_, AZ_): Define.
33687         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
33688
33689 2010-04-26  Jim Meyering  <jim@meyering.net>
33690             Bruno Haible  <bruno@clisp.org>
33691
33692         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
33693         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
33694         Prompted by an exchange with Gilles Espinasse.
33695
33696 2010-04-26  Jim Meyering  <meyering@redhat.com>
33697
33698         git-version-gen: aesthetic tweak
33699         * build-aux/git-version-gen: Use "$nl" rather than a literal,
33700         so that the command remains on a single line.
33701
33702 2010-04-26  Eric Blake  <eblake@redhat.com>
33703
33704         git-version-gen: allow use on EBCDIC hosts
33705         * build-aux/git-version-gen (dirty): Use literal rather than tying
33706         ourselves to ascii.
33707         Reported by Steve Goetze.
33708
33709 2010-04-25  Bruno Haible  <bruno@clisp.org>
33710
33711         netdb: Add support for GNULIB_POSIXCHECK.
33712         * lib/netdb.in.h: Include warn-on-use.h.
33713         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
33714         functions are used when GNULIB_POSIXCHECK is defined and the
33715         getaddrinfo module is not in use.
33716         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
33717         freeaddrinfo, gai_strerror, getnameinfo are declared.
33718         * modules/netdb (Depends-on): Add warn-on-use.
33719         (Makefile.am): Include warn-on-use.h in netdb.h.
33720
33721 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
33722
33723         build: avoid "make check" failure without .git/ directory
33724         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
33725         there is no .git/ directory.
33726
33727 2010-04-25  Bruno Haible  <bruno@clisp.org>
33728
33729         ptsname: Fix misuse of ttyname_r.
33730         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
33731         of errno.
33732
33733 2010-04-25  Bruno Haible  <bruno@clisp.org>
33734
33735         ttyname_r: Make it work on Solaris 10.
33736         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
33737         if the system function has the POSIX declaration. Test whether the
33738         function fails if the buffer is less than 128 bytes large.
33739         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
33740         system's ttyname_r function. Provide a reasonably large buffer.
33741         * modules/ttyname_r (Depends-on): Add extensions.
33742         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
33743
33744 2010-04-25  Bruno Haible  <bruno@clisp.org>
33745
33746         Use the 'extensions' module for some more functions on Solaris.
33747         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
33748         module.
33749         * doc/posix-functions/ctime_r.texi: Likewise.
33750         * doc/posix-functions/getgrgid_r.texi: Likewise.
33751         * doc/posix-functions/getgrnam_r.texi: Likewise.
33752         * doc/posix-functions/getpwnam_r.texi: Likewise.
33753         * doc/posix-functions/getpwuid_r.texi: Likewise.
33754         * doc/posix-functions/readdir_r.texi: Likewise.
33755         * doc/posix-functions/sigwait.texi: Likewise.
33756         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
33757         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
33758
33759 2010-04-25  Bruno Haible  <bruno@clisp.org>
33760
33761         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
33762         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
33763         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
33764         * lib/ttyname_r.c: Include <limits.h>.
33765         (ttyname_r): Define using the system's ttyname_r function, if it exists
33766         and not on Solaris.
33767         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
33768         set.
33769         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
33770         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
33771         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
33772         Reported by Simon Josefsson.
33773
33774 2010-04-25  Bruno Haible  <bruno@clisp.org>
33775
33776         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
33777         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
33778         * doc/posix-functions/ctime_r.texi: Likewise.
33779         * doc/posix-functions/getgrgid_r.texi: Likewise.
33780         * doc/posix-functions/getgrnam_r.texi: Likewise.
33781         * doc/posix-functions/getlogin_r.texi: Likewise.
33782         * doc/posix-functions/getpwnam_r.texi: Likewise.
33783         * doc/posix-functions/getpwuid_r.texi: Likewise.
33784         * doc/posix-functions/readdir_r.texi: Likewise.
33785         * doc/posix-functions/sigwait.texi: Likewise.
33786         * doc/posix-functions/ttyname_r.texi: Likewise.
33787         Reported by Simon Josefsson.
33788
33789 2010-04-25  Bruno Haible  <bruno@clisp.org>
33790
33791         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
33792         * gnulib-tool (func_usage): Document that --with-*-tests options apply
33793         also to --create-testdir.
33794         (func_acceptable): Don't consider the status of *-tests modules here.
33795         (func_modules_transitive_closure): Consider it here, before including a
33796         test module.
33797         (func_import, func_create_testdir): Set inc_all_direct_tests,
33798         inc_all_indirect_tests.
33799         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
33800         --create-testdir and --create-megatestdir.
33801
33802 2010-04-25  Bruno Haible  <bruno@clisp.org>
33803
33804         gnulib-tool: Add --without-*-tests options.
33805         * gnulib-tool (func_usage): Document the --without-*-tests options.
33806         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
33807         excl_unportable_tests): New variables.
33808         Fail if they are specified with --import or --update.
33809         (func_acceptable): Respect the excl_*_tests variables.
33810         (func_import): Set the excl_*_tests variables to empty.
33811
33812 2010-04-25  Simon Josefsson  <simon@josefsson.org>
33813             Bruno Haible  <bruno@clisp.org>
33814
33815         Work around a MacOS X 10.4 bug with openpty.
33816         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
33817         * tests/test-openpty.c (main): Close the master side explicitly.
33818
33819 2010-04-25  Bruno Haible  <bruno@clisp.org>
33820
33821         strnlen: Fix a C++ test error on MacOS X and Solaris.
33822         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
33823         the function is not declared.
33824         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
33825         Simon Josefsson.
33826
33827 2010-04-24  Bruno Haible  <bruno@clisp.org>
33828
33829         Avoid a gcc warning.
33830         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
33831         of correct type for %08lx directive.
33832         Reported by Eric Blake.
33833
33834 2010-04-24  Bruno Haible  <bruno@clisp.org>
33835
33836         vasnprintf: Correct errno value in case of out-of-memory.
33837         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
33838         or sprintf. Use the errno value from SNPRINTF or sprintf.
33839         Reported by Ian Beckwith <ianb@erislabs.net>.
33840
33841 2010-04-24  Bruno Haible  <bruno@clisp.org>
33842
33843         ansi-c++-opt: Find correct compiler when cross-compiling.
33844         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
33845         AC_CHECK_PROGS.
33846         Reported by Simon Josefsson.
33847
33848 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
33849
33850         vc-list-files: Add support for subversion
33851         * build-aux/vc-list-files: Use "svn list" to generate the list of
33852         files controlled by subversion.
33853
33854 2010-04-23  Jim Meyering  <meyering@redhat.com>
33855
33856         vc-list-files tests: convert to use init.sh
33857         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
33858         path_prepend_.
33859         Use Exit, not exit.
33860         Use skip_ rather than open coding it.
33861         Remove trap set-up and compare definitions.
33862         * tests/test-vc-list-files-git.sh: Likewise.
33863         * modules/vc-list-files-tests (Files): Add tests/init.sh.
33864
33865 2010-04-22  Simon Josefsson  <simon@josefsson.org>
33866
33867         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
33868         backup files.
33869
33870 2010-04-21  Simon Josefsson  <simon@josefsson.org>
33871
33872         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
33873
33874 2010-04-20  Eric Blake  <eblake@redhat.com>
33875
33876         tests: be robust to ignored SIGPIPE
33877         * tests/test-select-in.sh: Consume all output.
33878         * tests/test-lseek.sh: Check correct exit status, while avoiding
33879         EPIPE.
33880
33881 2010-04-20  Simon Josefsson  <simon@josefsson.org>
33882             Bruno Haible  <bruno@clisp.org>
33883
33884         visibility: Don't use -fvisibility if it leads to a warning.
33885         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
33886         yes, don't pretend that visibility works if it leads to a warning.
33887         Reported by Mike Gran <spk121@yahoo.com>.
33888
33889 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
33890
33891         * build-aux/bootstrap: Use "git -h" for testing for supported options
33892         instead of "git --help".  The short-form option only shows a summary,
33893         and doesn't layout the full man page.  Grep for the full option name
33894         in the summary, too.
33895
33896 2010-04-19  Bruno Haible  <bruno@clisp.org>
33897
33898         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
33899         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
33900         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
33901         mention of RELOCATABLE_STRIP.
33902         Reported by Sylvain Beucler <beuc@beuc.net>.
33903
33904 2010-04-19  Bruno Haible  <bruno@clisp.org>
33905
33906         * lib/diffseq.h: Fix typo in comment.
33907         Reported by Eric Blake.
33908
33909 2010-04-19  Bruno Haible  <bruno@clisp.org>
33910
33911         ioctl: Move autoconf macro to a .m4 file.
33912         * m4/ioctl.m4: New file, extracted from modules/ioctl.
33913         * modules/ioctl (Files): Add it.
33914         (configure.ac): Simply invoke gl_FUNC_IOCTL.
33915         Reported by Ian Beckwith <ianb@erislabs.net>.
33916
33917 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
33918             Bruno Haible  <bruno@clisp.org>
33919
33920         diffseq: Accommodate use-case with abstract arrays.
33921         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
33922         is not defined.
33923         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
33924         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
33925
33926 2010-04-18  Bruno Haible  <bruno@clisp.org>
33927
33928         * doc/posix-headers/stdbool.texi: More precise wording.
33929
33930 2010-04-17  Jim Meyering  <meyering@redhat.com>
33931
33932         maint.mk: use gnu-style indentation in an embedded perl script
33933         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
33934         Rename variable: s/two/last_two_bytes/
33935
33936 2010-04-16  Eric Blake  <eblake@redhat.com>
33937
33938         test-stdbool: skip test that fails with Solaris CC
33939         * tests/test-stdbool.c (f): Skip test that causes compilation
33940         error under buggy C++ compiler.
33941         * lib/stdbool.in.h: Document the limitation.
33942         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
33943
33944         setenv: allow compilation with C++
33945         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
33946         register keyword.
33947
33948         stdint: allow test to pass with C++
33949         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
33950
33951         getopt: allow compilation with C++
33952         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
33953         struct.
33954         * lib/getopt.c (_getopt_internal_r): Use correct type.
33955         Reported by Dagobert Michelson, via Joel E. Denny.
33956
33957 2010-04-16  Bruno Haible  <bruno@clisp.org>
33958
33959         Override netdb.h always.
33960         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
33961         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
33962         Reported by Ludovic Courtès <ludo@gnu.org>.
33963
33964 2010-04-15  Bruno Haible  <bruno@clisp.org>
33965
33966         openpty: Fix mistake from 2010-03-21.
33967         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
33968         Reported by Simon Josefsson.
33969
33970 2010-04-15  Eric Blake  <eblake@redhat.com>
33971
33972         test-forkpty: fix expected signature
33973         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
33974         Reported by Simon Josefsson.
33975
33976 2010-04-15  Jim Meyering  <meyering@redhat.com>
33977
33978         maint.mk: texinfo_suffix_re_: correct the default regexp
33979         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
33980
33981         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
33982         make it configurable via texinfo_suffix_re_.
33983
33984 2010-04-14  Eric Blake  <eblake@redhat.com>
33985
33986         strtok_r: relax license to LGPLv2+
33987         * modules/strtok_r (License): Relax license.
33988         Reported by Matthias Bolte.
33989
33990 2010-04-14  Simon Josefsson  <simon@josefsson.org>
33991
33992         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
33993         version 1.4.4 by default instead of requiring the libgcrypt
33994         version used during build.  This makes it possible to use the
33995         application with older but still binary compatible libgcrypt
33996         versions.
33997
33998 2010-04-13  Eric Blake  <eblake@redhat.com>
33999
34000         getopt-gnu: match recent glibc fixes and posix ruling
34001         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
34002         '+' handling, when requesting extensions.
34003         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
34004         'W;' handling.
34005         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
34006         * doc/posix-functions/getopt.texi (getopt): Document this.
34007         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34008         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34009         Likewise.
34010
34011         getopt: merge bug fixes from glibc
34012         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
34013         diagnostics.  Honor '+:' correctly.  Reject ';'.
34014
34015         getopt-posix: detect MacOS bug
34016         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
34017         optind when missing a required argument.
34018         * doc/posix-functions/getopt.texi (getopt): Document the bug.
34019         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34020         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34021         Likewise.
34022
34023         getopt-posix: avoid spurious failure on Solaris
34024         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
34025         an indicator that setting optind=1 is sufficient for reset.
34026
34027         getopt-posix: avoid spurious failure on FreeBSD
34028         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
34029         in POSIX mode, since the m4 test uses it.
34030
34031         gnulib-tool: silence warning on BSD sh
34032         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
34033
34034 2010-04-13  Jim Meyering  <meyering@redhat.com>
34035
34036         doc: users.txt: GNU patch now uses gnulib
34037         * users.txt: Add patch.
34038
34039 2010-04-12  Jim Meyering  <meyering@redhat.com>
34040
34041         maint.mk: generate more concise timing data for syntax-check rules
34042         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
34043         " done" from each line that reports a syntax-check test duration.
34044
34045 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
34046
34047         git-version-gen: use "git update-index..." rather than "git status"
34048         * build-aux/git-version-gen: Use git update-index --refresh, not
34049         "git status".  With some versions of git, "git status" would fail
34050         to update the index and result in an unwarranted "-dirty" suffix.
34051
34052 2010-04-11  Jim Meyering  <meyering@redhat.com>
34053
34054         openat: correct formatting (no semantic change)
34055         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
34056         Suggested by Bruno Haible.
34057
34058 2010-04-11  Bruno Haible  <bruno@clisp.org>
34059
34060         Stricter declaration checking in testdirs.
34061         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34062         If for_tests is true, augment AM_CPPFLAGS to define
34063         GNULIB_STRICT_CHECKING.
34064         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
34065         GNULIB_STRICT_CHECKING is defined, verify that the function is
34066         declared.
34067
34068 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
34069             Bruno Haible  <bruno@clisp.org>
34070
34071         libunistring: Improve configure output.
34072         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
34073         Don't say "consider installing GNU libunistring" when checking again
34074         with libiconv.
34075
34076 2010-04-11  Bruno Haible  <bruno@clisp.org>
34077
34078         libunistring: Correct value of $LTLIBUNISTRING.
34079         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
34080         correct the value of $LTLIBUNISTRING.
34081
34082 2010-04-11  Bruno Haible  <bruno@clisp.org>
34083
34084         havelib: Add static libraries to LIBS in the right order.
34085         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
34086         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
34087
34088 2010-04-11  Bruno Haible  <bruno@clisp.org>
34089
34090         libunistring: Detect libunistring also when it depends on libiconv.
34091         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
34092         the second AC_LIB_HAVE_LINKFLAGS invocation.
34093
34094 2010-04-11  James Youngman  <jay@gnu.org>
34095
34096         close-stream: declare local scalars to be "const"
34097         * lib/close-stream.c (close_stream): Make boolean variables const
34098         to document the fact that we set but do not change them.
34099
34100 2010-04-11  Bruno Haible  <bruno@clisp.org>
34101
34102         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
34103
34104 2010-04-11  Jim Meyering  <meyering@redhat.com>
34105
34106         maint.mk: don't include dist-check.mk
34107         * top/maint.mk: Remove bogus include directive.
34108
34109         maint.mk: improve empty-line-at-EOF check
34110         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
34111         solution, rather than tail+Perl-based one.  The latter would read
34112         a few kilobytes from the end of each file, and did not handle empty
34113         files properly.
34114
34115         maint.mk: print the elapsed time for each syntax-check rule
34116         * top/maint.mk (sc_m_rules_): Save start time in a file.
34117         (sc_z_rules_): New rules: remove temp file and print elapsed time.
34118         (local-check): Interpose the .z rules
34119
34120 2010-04-11  Jim Meyering  <meyering@redhat.com>
34121
34122         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
34123         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
34124         empty file with one that ends in an empty line.
34125
34126 2010-04-10  Bruno Haible  <bruno@clisp.org>
34127
34128         mkdir: Make it work on mingw64.
34129         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
34130         * lib/mkdir.c: Update comment.
34131         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
34132
34133 2010-04-10  Bruno Haible  <bruno@clisp.org>
34134
34135         Don't override improved macro from newer autoconf.
34136         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
34137         autoconf >= 2.62.
34138         Reported by Joel E. Denny <jdenny@clemson.edu>.
34139
34140 2010-04-10  Jim Meyering  <meyering@redhat.com>
34141
34142         maint.mk: new syntax-check rule: prohibit empty lines at end of file
34143         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
34144
34145         maint.mk: correct a diagnostic
34146         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
34147         in diagnostic; now use $prohibit.
34148
34149 2010-04-10  Bruno Haible  <address@hidden>
34150
34151         fchownat: Fix a C++ test error on Solaris 8.
34152         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
34153         the function does not exist.
34154
34155 2010-04-10  Bruno Haible  <bruno@clisp.org>
34156
34157         vasnprintf: Add more tests.
34158         * tests/test-vasnprintf-posix.c: Include <errno.h>.
34159         (test_function): Test converting an invalid wide string.
34160
34161         vasnprintf: Correct handling of unconvertible wide string arguments.
34162         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
34163         VASNPRINTF.
34164         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
34165         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
34166         smaller than the expected maximum need for the directive. Set errno to
34167         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
34168         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
34169         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
34170         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
34171         * modules/vasnprintf (Files): Add m4/printf.m4.
34172         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34173
34174 2010-04-10  Bruno Haible  <bruno@clisp.org>
34175
34176         vasnprintf: Fix crash in %ls directive.
34177         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
34178         string is passed as argument to %ls, with no precision and no width.
34179         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34180
34181 2010-04-10  Bruno Haible  <bruno@clisp.org>
34182
34183         vasnprintf: Fix multiple test failures on mingw.
34184         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
34185         _snprintf, or snwprintf, not _snwprintf.
34186
34187 2010-04-10  Bruno Haible  <bruno@clisp.org>
34188
34189         write: Fix a C++ test error on mingw.
34190         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
34191
34192 2010-04-10  Bruno Haible  <bruno@clisp.org>
34193
34194         vasnprintf test: Reduce code duplication.
34195         * tests/test-vasnprintf.c (test_function): New function, extracted from
34196         test_vasnprintf.
34197         (test_vasnprintf, test_asnprintf): Invoke it.
34198
34199 2010-04-10  Bruno Haible  <bruno@clisp.org>
34200
34201         strnlen: Fix warning in C++ mode on MacOS X.
34202         * lib/string.in.h (strnlen): Use the modern idiom.
34203         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
34204         defining strnlen as a macro already in <config.h>.
34205         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34206         REPLACE_STRNLEN.
34207         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
34208         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34209
34210 2010-04-08  James Youngman  <jay@gnu.org>
34211
34212         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
34213         the example.
34214
34215 2010-04-09  Jim Meyering  <meyering@redhat.com>
34216
34217         maint.mk: print better diagnostic when there is no $(_hv_file)
34218         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
34219         announce that when $(_hv_file) (aka help-version) does not exist.
34220
34221         init.sh: run tr in the "C" locale to avoid multibyte interpretation
34222         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
34223         not try to interpret its random input bytes.  Jarno Rajahalme reported
34224         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
34225         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
34226         (mktempd_): Likewise, just in case.
34227
34228         ftruncate: add two years to projected module removal date: 2012
34229         * m4/ftruncate.m4: Adjust comments.
34230
34231         ftruncate: mark module as obsolete; even MinGW provides it, now
34232         * modules/ftruncate (Status): Obsolete.
34233         (Notice): Say that.
34234         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
34235         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
34236
34237 2010-04-08  Bruno Haible  <bruno@clisp.org>
34238
34239         Fix side effects from tests-related modules.
34240         * modules/dprintf-posix (Comment): New section.
34241         * modules/fprintf-posix (Comment): Likewise.
34242         * modules/obstack-printf-posix (Comment): Likewise.
34243         * modules/printf-posix (Comment): Likewise.
34244         * modules/snprintf-posix (Comment): Likewise.
34245         * modules/sprintf-posix (Comment): Likewise.
34246         * modules/vasnprintf-posix (Comment): Likewise.
34247         * modules/vasprintf-posix (Comment): Likewise.
34248         * modules/vdprintf-posix (Comment): Likewise.
34249         * modules/vfprintf-posix (Comment): Likewise.
34250         * modules/vprintf-posix (Comment): Likewise.
34251         * modules/vsnprintf-posix (Comment): Likewise.
34252         * modules/vsprintf-posix (Comment): Likewise.
34253         * modules/xprintf-posix (Comment): Likewise.
34254         * modules/xvasprintf-posix (Comment): Likewise.
34255         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
34256         * modules/floorf-tests (Depends-on): Likewise.
34257         * modules/round-tests (Depends-on): Likewise.
34258         * modules/roundf-tests (Depends-on): Likewise.
34259         * modules/trunc-tests (Depends-on): Likewise.
34260         * modules/truncf-tests (Depends-on): Likewise.
34261         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
34262         'fprintf-posix' module is not present.
34263         * tests/test-floorf2.c (check): Likewise.
34264         * tests/test-trunc2.c (check): Likewise.
34265         * tests/test-truncf2.c (check): Likewise.
34266         * tests/test-round2.c (equal): Likewise.
34267         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34268
34269 2010-04-07  Karl Berry  <karl@gnu.org>
34270
34271         * config/srclist.txt,
34272         * config/srclistvars.sh,
34273         * config/srclist-update: doc fixes.
34274
34275 2010-04-07  Jim Meyering  <meyering@redhat.com>
34276
34277         maint.mk: add a PATH crosschecking syntax-check rule
34278         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
34279         Useful if you use a test like the one in help-version (coreutils,
34280         diffutils, grep, gzip) that ensures $(VERSION) matches what is
34281         printed by prog --version.
34282
34283 2010-04-06  Bruno Haible  <bruno@clisp.org>
34284
34285         Fix link error on mingw.
34286         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
34287         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
34288
34289 2010-04-06  Bruno Haible  <bruno@clisp.org>
34290
34291         Assume rmdir exists.
34292         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
34293
34294 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
34295
34296         doc: update users.txt
34297         * users.txt: Add gcal.
34298
34299 2010-04-06  Jim Meyering  <meyering@redhat.com>
34300
34301         init.sh: simply unset TMPDIR rather than risking env -i
34302         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
34303         although it probably works fine on all Unix-based systems, some
34304         systems (Cygwin?) cannot tolerate a totally cleared environment.
34305         Suggestion from Eric Blake.
34306
34307 2010-04-06  Jim Meyering  <meyering@redhat.com>
34308
34309         init.sh: portability fix: use env's POSIX-specified -i option not -u
34310         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
34311         than unportable env -u.  Solaris 5.11's env lacks support for -u.
34312
34313 2010-04-05  Bruno Haible  <bruno@clisp.org>
34314
34315         btowc: Work around Cygwin 1.7.2 bug.
34316         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
34317         does not map NUL to 0.
34318         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
34319
34320 2010-04-05  Bruno Haible  <bruno@clisp.org>
34321
34322         Make the multithread modules work on Cygwin 1.7.2.
34323         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
34324         imported symbols can be declared weak, so that it returns "no" on
34325         Cygwin 1.7.2.
34326
34327 2010-04-05  Bruno Haible  <bruno@clisp.org>
34328
34329         Use the module 'strncat'.
34330         * modules/unistr/u8-strncat (Depends-on): Add strncat.
34331
34332         Tests for module 'strncat'.
34333         * modules/strncat-tests: New file.
34334         * tests/test-strncat.c: New file.
34335
34336         New module 'strncat'.
34337         * lib/string.in.h (strncat): New declaration.
34338         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
34339         * m4/strncat.m4: New file, based on m4/memchr.m4.
34340         * modules/strncat: New file.
34341         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
34342         is declared.
34343         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
34344         REPLACE_STRNCAT.
34345         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
34346         REPLACE_STRNCAT.
34347         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
34348         module.
34349         * tests/test-string-c++.cc: Check signature of strncat.
34350
34351 2010-04-05  Jim Meyering  <meyering@redhat.com>
34352
34353         xstrtoumax-tests: convert to use init.sh
34354         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
34355         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34356         Use Exit, not exit.
34357         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34358
34359         xstrtoimax-tests: convert to use init.sh
34360         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
34361         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34362         Use Exit, not exit.
34363         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34364
34365 2010-04-05  Bruno Haible  <bruno@clisp.org>
34366
34367         sys_socket: Avoid #define replacements in C++ mode.
34368         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
34369         warning to the function if possible, rather than #defining the symbol
34370         to a dysfunctional alias.
34371
34372 2010-04-05  Bruno Haible  <bruno@clisp.org>
34373
34374         fseeko: Fix C++ test error on mingw.
34375         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
34376         gl_FUNC_FSEEKO.
34377         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
34378         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
34379         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
34380         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
34381
34382 2010-04-05  Bruno Haible  <bruno@clisp.org>
34383
34384         duplocale: Improve test output.
34385         * tests/test-duplocale.c (main): Print reason for skipped test.
34386
34387 2010-04-05  Bruno Haible  <bruno@clisp.org>
34388
34389         Assume rmdir exists.
34390         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
34391         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
34392
34393 2010-04-05  Bruno Haible  <bruno@clisp.org>
34394
34395         Fix link error on Solaris 8 with cc.
34396         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
34397
34398 2010-04-05  Bruno Haible  <bruno@clisp.org>
34399
34400         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34401         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
34402
34403 2010-04-05  Bruno Haible  <bruno@clisp.org>
34404
34405         vasprintf: Update documentation.
34406         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
34407
34408 2010-04-05  Bruno Haible  <bruno@clisp.org>
34409
34410         ptsname: Improve test.
34411         * tests/test-ptsname.c (main): Also try the various master names of BSD
34412         systems.
34413
34414 2010-04-05  Bruno Haible  <bruno@clisp.org>
34415
34416         memchr: Avoid a possible C++ test error.
34417         * lib/string.in.h (memchr): Provide declaration if function is missing.
34418         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
34419         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
34420         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
34421         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
34422
34423 2010-04-05  Bruno Haible  <bruno@clisp.org>
34424
34425         strtok_r: Improve idiom.
34426         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
34427         AC_LIBOBJ is used.
34428
34429 2010-04-05  Bruno Haible  <bruno@clisp.org>
34430
34431         strdup: Improve idiom.
34432         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
34433         AC_LIBOBJ is used.
34434         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
34435         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
34436         when AC_LIBOBJ is used.
34437
34438 2010-04-05  Bruno Haible  <bruno@clisp.org>
34439
34440         mbsinit, mbrtowc, wcrtomb: Improve idioms.
34441         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
34442         don't set REPLACE_MBSINIT to 1.
34443         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
34444         don't set REPLACE_MBRTOWC to 1.
34445         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
34446         exist, don't set REPLACE_MBSRTOWCS to 1.
34447         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
34448         exist, don't set REPLACE_MBSNRTOWCS to 1.
34449         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
34450         don't set REPLACE_WCRTOMB to 1.
34451         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
34452         exist, don't set REPLACE_WCSRTOMBS to 1.
34453         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
34454         exist, don't set REPLACE_WCSNRTOMBS to 1.
34455
34456 2010-04-05  Bruno Haible  <bruno@clisp.org>
34457
34458         ldexpl: Improve idiom.
34459         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
34460         make sure to set HAVE_DECL_LDEXPL to 0.
34461
34462 2010-04-05  Jim Meyering  <meyering@redhat.com>
34463
34464         xstrtol-tests: convert to use init.sh
34465         * modules/xstrtol-tests (Files): Add tests/init.sh.
34466         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34467         Use Exit, not exit.
34468         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34469
34470         atexit-tests: convert to use init.sh
34471         * modules/atexit-tests (Files): Add tests/init.sh.
34472         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34473         Use Exit, not exit.
34474         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34475
34476         init.sh: fix typo
34477         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
34478
34479         init.sh: make it easier for a test script to write to the tty, ...
34480         when using automake's parallel-tests mode.
34481         * tests/init.sh (stderr_fileno_): Define overridable variable.
34482         (warn_): New function, to use it.
34483         (fail_, skip_, framework_failure_): Use warn_.
34484
34485 2010-04-04  Bruno Haible  <bruno@clisp.org>
34486
34487         btowc: Avoid warning.
34488         * lib/btowc.c: Include <stdlib.h>.
34489         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
34490
34491 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34492             Bruno Haible  <bruno@clisp.org>
34493
34494         wchar: Port to NetBSD 1.5.
34495         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
34496         * lib/wctype.in.h (WEOF): Likewise.
34497
34498 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34499             Bruno Haible  <bruno@clisp.org>
34500
34501         Port extended stdio to NetBSD 1.5.
34502         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
34503         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
34504         older.
34505
34506 2010-04-04  Bruno Haible  <bruno@clisp.org>
34507
34508         string: Remove unused substitution.
34509         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
34510         HAVE_DECL_STRERROR.
34511         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
34512
34513 2010-04-04  Bruno Haible  <bruno@clisp.org>
34514
34515         strtod: Avoid a possible C++ test error.
34516         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
34517         set REPLACE_STRTOD.
34518
34519 2010-04-04  Bruno Haible  <bruno@clisp.org>
34520
34521         strerror: Update documentation.
34522         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
34523
34524 2010-04-04  Bruno Haible  <bruno@clisp.org>
34525
34526         stdio: Fix some C++ test errors on Solaris 8 with GCC.
34527         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
34528         _GL_CXXALIAS_SYS_CAST.
34529
34530 2010-04-04  Bruno Haible  <bruno@clisp.org>
34531
34532         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34533         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
34534         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
34535         REPLACE_FREXPL to 1.
34536         * doc/posix-functions/frexpl.texi: Update documentation.
34537
34538 2010-04-04  Bruno Haible  <bruno@clisp.org>
34539
34540         math: Fix some C++ test errors on Solaris 8 and Cygwin.
34541         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
34542
34543 2010-04-04  Bruno Haible  <bruno@clisp.org>
34544
34545         Implement nanosleep for native Windows.
34546         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
34547
34548 2010-04-04  Bruno Haible  <bruno@clisp.org>
34549
34550         math: Fix some C++ test errors on Solaris 8.
34551         * lib/math.in.h (truncf, trunc): Use simpler idiom.
34552
34553 2010-04-04  Bruno Haible  <bruno@clisp.org>
34554
34555         math: Fix some C++ test errors on Cygwin.
34556         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
34557         truncl): Provide declaration if the system does not have it.
34558         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
34559         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
34560         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
34561         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
34562         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
34563         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
34564         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
34565         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
34566         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
34567         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
34568         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
34569         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
34570         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
34571         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
34572         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
34573         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
34574         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
34575         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34576         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34577         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
34578         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34579         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34580
34581 2010-04-04  Bruno Haible  <bruno@clisp.org>
34582
34583         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
34584         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34585         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
34586         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
34587         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
34588         * m4/isinf.m4 (gl_ISINF): Likewise.
34589         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34590
34591 2010-04-04  Bruno Haible  <bruno@clisp.org>
34592
34593         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
34594         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34595
34596 2010-04-04  Bruno Haible  <bruno@clisp.org>
34597
34598         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
34599         * modules/tmpfile (configure.ac): Update.
34600
34601         tmpfile: Fix C++ test error on mingw.
34602         * lib/stdio.in.h (tmpfile): New declaration.
34603         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
34604         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
34605         * modules/tmpfile (Depends-on): Add stdio.
34606         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34607         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
34608         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
34609         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
34610         REPLACE_TMPFILE.
34611         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
34612
34613 2010-04-04  Bruno Haible  <bruno@clisp.org>
34614
34615         ioctl: Fix C++ test error on mingw.
34616         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
34617         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
34618         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
34619
34620 2010-04-03  Bruno Haible  <bruno@clisp.org>
34621
34622         wcwidth: Fix C++ test error on mingw.
34623         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
34624         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
34625         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
34626
34627 2010-04-03  Bruno Haible  <bruno@clisp.org>
34628
34629         nanosleep: Fix C++ test error on mingw.
34630         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
34631         * lib/time.in.h (nanosleep): Use modern idiom.
34632         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
34633         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
34634         REPLACE_NANOSLEEP to 1.
34635         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
34636         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
34637
34638 2010-04-03  Bruno Haible  <bruno@clisp.org>
34639
34640         strptime: Fix C++ test error on mingw.
34641         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
34642         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
34643         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
34644         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
34645         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
34646         not REPLACE_STRPTIME.
34647         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
34648         REPLACE_STRPTIME.
34649
34650 2010-04-03  Bruno Haible  <bruno@clisp.org>
34651
34652         timegm: Fix C++ test error on mingw.
34653         * lib/time.in.h (timegm): Use modern idiom.
34654         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
34655         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
34656         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
34657         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
34658
34659 2010-04-03  Bruno Haible  <bruno@clisp.org>
34660
34661         timegm: Assume declaration if function exists.
34662         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
34663         if it exists. Don't clobber ac_cv_func_timegm.
34664
34665 2010-04-03  Bruno Haible  <bruno@clisp.org>
34666
34667         time_r: Fix C++ test error on mingw.
34668         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
34669         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
34670         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
34671         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
34672         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
34673
34674 2010-04-03  Bruno Haible  <bruno@clisp.org>
34675
34676         time_r: Minor updates.
34677         * modules/time_r (Description): Mention the provided functions.
34678         * lib/time_r.c: Don't include <string.h>.
34679         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
34680         * doc/posix-functions/localtime_r.texi: Likewise.
34681
34682 2010-04-03  Bruno Haible  <bruno@clisp.org>
34683
34684         time: Fix regression introduced on 2010-03-08.
34685         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
34686         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
34687
34688 2010-04-03  Jim Meyering  <meyering@redhat.com>
34689
34690         maint.mk: don't silently disable project-specific syntax-check rules
34691         * top/maint.mk (_prohibit_regexp): Define, to help people realize
34692         that they need to convert their project-specific syntax-check rules
34693         to use the new _sc_search_regexp.
34694
34695 2010-04-03  Bruno Haible  <bruno@clisp.org>
34696
34697         fchdir: Fix regression introduced on 2010-03-08.
34698         * lib/unistd.in.h (fchdir): Fix declaration.
34699         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
34700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
34701         REPLACE_FCHDIR.
34702         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
34703         REPLACE_FCHDIR.
34704
34705 2010-04-03  Bruno Haible  <bruno@clisp.org>
34706
34707         getpagesize: Fix C++ test error on mingw.
34708         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
34709         system does not declare the function.
34710         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
34711         declared.
34712         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34713         HAVE_DECL_GETPAGESIZE.
34714         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
34715
34716 2010-04-03  Bruno Haible  <bruno@clisp.org>
34717
34718         stdio: Make C++ tests work on mingw.
34719         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
34720         does not declare the function.
34721
34722 2010-04-03  Bruno Haible  <bruno@clisp.org>
34723
34724         ftello: Fix C++ test error on mingw.
34725         * lib/stdio.in.h (ftello): Use modern idiom.
34726         * lib/ftello.c (ftello): Renamed from rpl_ftello.
34727         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
34728         is missing and that it needs to be replaced.
34729         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
34730         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
34731         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
34732
34733 2010-04-03  Bruno Haible  <bruno@clisp.org>
34734
34735         fseeko: Fix C++ test error on mingw.
34736         * lib/stdio.in.h (fseeko): Use modern idiom.
34737         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
34738         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
34739         is missing and that it needs to be replaced.
34740         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
34741         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
34742         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
34743
34744 2010-04-03  Bruno Haible  <bruno@clisp.org>
34745
34746         mkstemp: Fix C++ test error on mingw.
34747         * lib/stdlib.in.h (mkstemp): Use modern idiom.
34748         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
34749         function is missing and that it needs to be replaced.
34750         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
34751         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
34752
34753 2010-04-03  Bruno Haible  <bruno@clisp.org>
34754
34755         stpncpy: Fix C++ test error on mingw.
34756         * lib/string.in.h (stpncpy): Use modern idiom.
34757         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
34758         function is missing and that it needs to be replaced.
34759         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34760         REPLACE_STPNCPY.
34761         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
34762
34763 2010-04-03  Bruno Haible  <bruno@clisp.org>
34764
34765         sys_stat: Fix C++ test error on mingw.
34766         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
34767         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
34768
34769 2010-04-03  Bruno Haible  <bruno@clisp.org>
34770
34771         pty: Update doc.
34772         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
34773
34774 2010-04-03  Bruno Haible  <bruno@clisp.org>
34775
34776         unistd: Fix C++ test error on mingw.
34777         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
34778
34779 2010-04-03  Bruno Haible  <bruno@clisp.org>
34780
34781         Update doc regarding mingw.
34782         * doc/glibc-functions/openpty.texi: Update regarding mingw.
34783         * doc/glibc-functions/login_tty.texi: Likewise.
34784         * doc/glibc-functions/forkpty.texi: Likewise.
34785
34786 2010-04-03  Bruno Haible  <bruno@clisp.org>
34787
34788         stdlib: Avoid compilation failure of c-strtold on mingw.
34789         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
34790
34791 2010-04-03  Bruno Haible  <bruno@clisp.org>
34792
34793         locale: Make C++ tests work on Cygwin and mingw.
34794         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
34795         cannot provide the function.
34796         Reported by Simon Josefsson.
34797
34798 2010-04-03  Bruno Haible  <bruno@clisp.org>
34799
34800         localename: Port to MacOS X 10.6.
34801         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
34802         memory layout of the locales in MacOS X 10.6 as well.
34803         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
34804
34805 2010-04-02  Bruno Haible  <bruno@clisp.org>
34806
34807         gnulib-tool: Ensure that long-running tests are executed last.
34808         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
34809         running tests after the one for the other tests.
34810
34811 2010-04-02  Bruno Haible  <bruno@clisp.org>
34812
34813         gnulib-tool: Ensure the tests in the main directory are executed first.
34814         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
34815         start with the current directory.
34816
34817 2010-04-02  Bruno Haible  <bruno@clisp.org>
34818
34819         Tests for module 'havelib', moved here from GNU gettext.
34820         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
34821         modifications.
34822         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
34823         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
34824         with modifications.
34825         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
34826         modifications.
34827         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
34828         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
34829         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
34830         with modifications.
34831         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
34832         with modifications.
34833         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
34834         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
34835         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
34836         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
34837         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
34838         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
34839         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
34840         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
34841         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
34842         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
34843         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
34844         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
34845         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
34846         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
34847         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
34848         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
34849         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
34850         with modifications.
34851         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
34852         with modifications.
34853         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
34854         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
34855         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
34856         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
34857         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
34858         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
34859         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
34860         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
34861         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
34862         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
34863         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
34864         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
34865         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
34866         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
34867         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
34868         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
34869         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
34870         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
34871         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
34872         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
34873         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
34874         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
34875         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
34876         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
34877         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
34878         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
34879         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
34880         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
34881         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
34882         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
34883         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
34884         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
34885         * tests/havelib/rpathx/rpathx.c: New file, from
34886         gettext/autoconf-lib-link.
34887         * tests/havelib/rpathx/Makefile.am: New file, from
34888         gettext/autoconf-lib-link.
34889         * tests/havelib/rpathx/configure.ac: New file, from
34890         gettext/autoconf-lib-link with modifications.
34891         * tests/havelib/rpathy/rpathy.c: New file, from
34892         gettext/autoconf-lib-link.
34893         * tests/havelib/rpathy/Makefile.am: New file, from
34894         gettext/autoconf-lib-link.
34895         * tests/havelib/rpathy/configure.ac: New file, from
34896         gettext/autoconf-lib-link with modifications.
34897         * tests/havelib/rpathz/rpathz.c: New file, from
34898         gettext/autoconf-lib-link.
34899         * tests/havelib/rpathz/Makefile.am: New file, from
34900         gettext/autoconf-lib-link.
34901         * tests/havelib/rpathz/configure.ac: New file, from
34902         gettext/autoconf-lib-link with modifications.
34903         * tests/havelib/rpathlx/usex.c: New file, from
34904         gettext/autoconf-lib-link.
34905         * tests/havelib/rpathlx/Makefile.am: New file, from
34906         gettext/autoconf-lib-link.
34907         * tests/havelib/rpathlx/configure.ac: New file, from
34908         gettext/autoconf-lib-link with modifications.
34909         * tests/havelib/rpathly/usey.c: New file, from
34910         gettext/autoconf-lib-link.
34911         * tests/havelib/rpathly/Makefile.am: New file, from
34912         gettext/autoconf-lib-link.
34913         * tests/havelib/rpathly/configure.ac: New file, from
34914         gettext/autoconf-lib-link with modifications.
34915         * tests/havelib/rpathlz/usez.c: New file, from
34916         gettext/autoconf-lib-link.
34917         * tests/havelib/rpathlz/Makefile.am: New file, from
34918         gettext/autoconf-lib-link.
34919         * tests/havelib/rpathlz/configure.ac: New file, from
34920         gettext/autoconf-lib-link with modifications.
34921         * tests/havelib/rpathlyx/usey.c: New file, from
34922         gettext/autoconf-lib-link.
34923         * tests/havelib/rpathlyx/Makefile.am: New file, from
34924         gettext/autoconf-lib-link.
34925         * tests/havelib/rpathlyx/configure.ac: New file, from
34926         gettext/autoconf-lib-link with modifications.
34927         * tests/havelib/rpathlzyx/usez.c: New file, from
34928         gettext/autoconf-lib-link.
34929         * tests/havelib/rpathlzyx/Makefile.am: New file, from
34930         gettext/autoconf-lib-link.
34931         * tests/havelib/rpathlzyx/configure.ac: New file, from
34932         gettext/autoconf-lib-link with modifications.
34933         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
34934         with modifications.
34935
34936 2010-04-02  Bruno Haible  <bruno@clisp.org>
34937
34938         gnulib-tool: Create distributed built sources also for the tests.
34939         * gnulib-tool (func_create_testdir): Also generate distributed built
34940         sources in the tests directory.
34941
34942 2010-04-02  Bruno Haible  <bruno@clisp.org>
34943
34944         gnulib-tool: Obey user's environment variables.
34945         * gnulib-tool (func_create_testdir): When creating built sources,
34946         respect the environment variables for autoconf, automake, etc. given by
34947         the user.
34948
34949 2010-04-02  Bruno Haible  <bruno@clisp.org>
34950
34951         gnulib-tool: Provide the value of --m4-base to modules.
34952         * gnulib-tool (func_import, func_create_testdir): Emit a definition
34953         of gl_m4_base.
34954
34955 2010-04-02  Eric Blake  <eblake@redhat.com>
34956
34957         maint.mk: fix some fallout
34958         * NEWS: Document the incompatible change, and its effect on cfg.mk.
34959         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
34960
34961 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34962
34963         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
34964         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
34965         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
34966         (sc_cast_of_x_alloc_return_value): Likewise.
34967         (sc_cast_of_alloca_return_value): Likewise.
34968         (sc_space_tab): Likewise.
34969         (sc_prohibit_atoi_atof): Likewise.
34970         (sc_prohibit_magic_number_exit): Likewise.
34971         (sc_error_exit_success): Likewise.
34972         (sc_file_system): Likewise.
34973         (sc_prohibit_have_config_h): Likewise.
34974         (sc_require_config_h): Likewise.
34975         (sc_prohibit_HAVE_MBRTOWC): Likewise.
34976         (sc_obsolete_symbols): Likewise.
34977         (sc_changelog): Likewise.
34978         (sc_program_name): Likewise.
34979         (sc_the_the): Likewise.
34980         (sc_trailing_blank): Likewise.
34981         (sc_two_space_separator_in_usage): Likewise.
34982         (sc_useless_cpp_parens): Likewise.
34983         (sc_GPL_version): Likewise.
34984         (sc_GFDL_version): Likewise.
34985         (sc_texinfo_acronym): Likewise.
34986         (sc_prohibit_cvs_keyword): Likewise.
34987         (sc_prohibit_stat_st_blocks): Likewise.
34988         (sc_prohibit_S_IS_definition): Likewise.
34989         (sc_redundant_const): Likewise.
34990         (sc_makefile_TAB_only_indentation): Likewise.
34991         (sc_m4_quote_check): Likewise.
34992         (sc_makefile_path_separator_check): Likewise.
34993         (sc_copyright_check): Likewise.
34994         (sc_Wundef_boolean): Likewise.
34995         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
34996
34997         maint.mk: match 0 or more whitespace-before-function-call '('
34998         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
34999         that have zero or two-and-more spaces between the function name
35000         and the open parenthesis.
35001         (sc_error_message_warn_fatal): Likewise.
35002         (sc_error_message_uppercase): Likewise.
35003         (sc_error_message_period): Likewise.
35004
35005 2010-03-31  Eric Blake  <eblake@redhat.com>
35006
35007         maint.mk: check for [ as well as test
35008         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
35009         Based on a libvirt report by Matthias Bolte.
35010
35011         gnumakefile: don't squelch _version output
35012         * top/GNUmakefile (_version): Create one-shot dependency rather
35013         than using $(shell) when version must be regenerated.
35014         (_autoreconf): Run verbosely, by default.
35015
35016         sys_time: avoid compiler warnings
35017         * lib/sys_time.in.h (includes): Ensure gcc pragma is
35018         unconditional, fixing regression from 2010-03-29.
35019         Reported by Simon Josefsson.
35020
35021 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35022
35023         maint.mk: s/_header_without_use/_sc_header_without_use/
35024         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
35025         (sc_prohibit_assert_without_use): Use the new name.
35026         (sc_prohibit_close_stream_without_use): Likewise.
35027         (sc_prohibit_getopt_without_use): Likewise.
35028         (sc_prohibit_quotearg_without_use): Likewise.
35029         (sc_prohibit_quote_without_use): Likewise.
35030         (sc_prohibit_long_options_without_use): Likewise.
35031         (sc_prohibit_inttostr_without_use): Likewise.
35032         (sc_prohibit_ignore_value_without_use): Likewise.
35033         (sc_prohibit_error_without_use): Likewise.
35034         (sc_prohibit_xalloc_without_use): Likewise.
35035         (sc_prohibit_hash_without_use): Likewise.
35036         (sc_prohibit_hash_pjw_without_use): Likewise.
35037         (sc_prohibit_safe_read_without_use): Likewise.
35038         (sc_prohibit_argmatch_without_use): Likewise.
35039         (sc_prohibit_canonicalize_without_use): Likewise.
35040         (sc_prohibit_root_dev_ino_without_use): Likewise.
35041         (sc_prohibit_openat_without_use): Likewise.
35042         (sc_prohibit_c_ctype_without_use): Likewise.
35043         (sc_prohibit_signal_without_use): Likewise.
35044         (sc_prohibit_intprops_without_use): Likewise.
35045
35046 2010-03-30  Eric Blake  <eblake@redhat.com>
35047
35048         maint: improve module indicators
35049         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
35050         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
35051         columns, and avoid extra macro expansion.
35052
35053         fdopendir: work around FreeBSD bug
35054         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
35055         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
35056         * modules/dirent (Makefile.am): Substitute it.
35057         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
35058         declaration.
35059         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
35060         fix.
35061         Reported by Christian Weisgerber <naddy@mips.inka.de>.
35062
35063 2010-03-29  Bruno Haible  <bruno@clisp.org>
35064
35065         Emit #pragma system_header after the inclusion guard, not before.
35066         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
35067         guard that spans the entire file, not before. This enables an
35068         optimization in GCC's preprocessor.
35069         * lib/ctype.in.h: Likewise.
35070         * lib/dirent.in.h: Likewise.
35071         * lib/errno.in.h: Likewise.
35072         * lib/float.in.h: Likewise.
35073         * lib/getopt.in.h: Likewise.
35074         * lib/iconv.in.h: Likewise.
35075         * lib/langinfo.in.h: Likewise.
35076         * lib/locale.in.h: Likewise.
35077         * lib/math.in.h: Likewise.
35078         * lib/netdb.in.h: Likewise.
35079         * lib/netinet_in.in.h: Likewise.
35080         * lib/pty.in.h: Likewise.
35081         * lib/sched.in.h: Likewise.
35082         * lib/se-selinux.in.h: Likewise.
35083         * lib/search.in.h: Likewise.
35084         * lib/spawn.in.h: Likewise.
35085         * lib/stdarg.in.h: Likewise.
35086         * lib/stdint.in.h: Likewise.
35087         * lib/string.in.h: Likewise.
35088         * lib/strings.in.h: Likewise.
35089         * lib/sys_file.in.h: Likewise.
35090         * lib/sys_ioctl.in.h: Likewise.
35091         * lib/sys_time.in.h: Likewise.
35092         * lib/sys_times.in.h: Likewise.
35093         * lib/sys_utsname.in.h: Likewise.
35094         * lib/sys_wait.in.h: Likewise.
35095         * lib/sysexits.in.h: Likewise.
35096         * lib/wctype.in.h: Likewise.
35097
35098 2010-03-28  James Youngman  <jay@gnu.org>
35099
35100         save-cwd: don't leak a file descriptor when the caller execs.
35101         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
35102         saved file descriptor.
35103         * modules/save-cwd (Depends-on): Depend on cloexec.
35104
35105 2010-03-29  Bruno Haible  <bruno@clisp.org>
35106
35107         Remove vestiges of fts-lgpl module.
35108         * lib/fts_.h: Assume GNULIB_FTS is 1.
35109         * lib/fts.c: Likewise.
35110         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35111
35112 2010-03-28  Bruno Haible  <bruno@clisp.org>
35113
35114         Fix definition of tests witness macro.
35115         * gnulib-tool (func_import): Fix definition of witness macro.
35116
35117 2010-03-28  Bruno Haible  <bruno@clisp.org>
35118
35119         Fix ioctl's protoype on glibc systems.
35120         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
35121         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
35122         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
35123         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
35124         signature. If not, arrange to replace the ioctl function.
35125         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
35126         REPLACE_IOCTL.
35127         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
35128         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
35129         Reported by Ludovic Courtès <ludo@gnu.org>.
35130
35131 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
35132
35133         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
35134         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
35135         made it so grep -r --include=GLOB* ... did not work.
35136
35137 2010-03-26  Jim Meyering  <meyering@redhat.com>
35138             Eric Blake  <eblake@redhat.com>
35139
35140         maint.mk: prohibit use of test's -o and -a operators
35141         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
35142
35143 2010-03-28  Bruno Haible  <bruno@clisp.org>
35144
35145         Remove unused GNULIB_XYZ macro definitions.
35146         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
35147         invocation.
35148
35149 2010-03-28  Bruno Haible  <bruno@clisp.org>
35150
35151         Mark privileged tests modules.
35152         * modules/idpriv-drop-tests (Status): New section.
35153         * modules/idpriv-droptemp-tests (Status): New section.
35154
35155 2010-03-28  Bruno Haible  <bruno@clisp.org>
35156
35157         Split C++ tests into separate tests modules.
35158         * modules/dirent-c++-tests: New file, extracted from
35159         modules/dirent-tests.
35160         * modules/dirent-tests: Depend on it.
35161         * modules/fcntl-h-c++-tests: New file, extracted from
35162         modules/fcntl-h-tests.
35163         * modules/fcntl-h-tests: Depend on it.
35164         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
35165         * modules/glob-tests: Depend on it.
35166         * modules/iconv-h-c++-tests: New file, extracted from
35167         modules/iconv-h-tests.
35168         * modules/iconv-h-tests: Depend on it.
35169         * modules/langinfo-c++-tests: New file, extracted from
35170         modules/langinfo-tests.
35171         * modules/langinfo-tests: Depend on it.
35172         * modules/locale-c++-tests: New file, extracted from
35173         modules/locale-tests.
35174         * modules/locale-tests: Depend on it.
35175         * modules/math-c++-tests: New file, extracted from modules/math-tests.
35176         * modules/math-tests: Depend on it.
35177         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
35178         * modules/pty-tests: Depend on it.
35179         * modules/search-c++-tests: New file, extracted from
35180         modules/search-tests.
35181         * modules/search-tests: Depend on it.
35182         * modules/signal-c++-tests: New file, extracted from
35183         modules/signal-tests.
35184         * modules/signal-tests: Depend on it.
35185         * modules/spawn-c++-tests: New file, extracted from
35186         modules/spawn-tests.
35187         * modules/spawn-tests: Depend on it.
35188         * modules/stdio-c++-tests: New file, extracted from
35189         modules/stdio-tests.
35190         * modules/stdio-tests: Depend on it.
35191         * modules/stdlib-c++-tests: New file, extracted from
35192         modules/stdlib-tests.
35193         * modules/stdlib-tests: Depend on it.
35194         * modules/string-c++-tests: New file, extracted from
35195         modules/string-tests.
35196         * modules/string-tests: Depend on it.
35197         * modules/sys_ioctl-c++-tests: New file, extracted from
35198         modules/sys_ioctl-tests.
35199         * modules/sys_ioctl-tests: Depend on it.
35200         * modules/sys_select-c++-tests: New file, extracted from
35201         modules/sys_select-tests.
35202         * modules/sys_select-tests: Depend on it.
35203         * modules/sys_socket-c++-tests: New file, extracted from
35204         modules/sys_socket-tests.
35205         * modules/sys_socket-tests: Depend on it.
35206         * modules/sys_stat-c++-tests: New file, extracted from
35207         modules/sys_stat-tests.
35208         * modules/sys_stat-tests: Depend on it.
35209         * modules/sys_time-c++-tests: New file, extracted from
35210         modules/sys_time-tests.
35211         * modules/sys_time-tests: Depend on it.
35212         * modules/time-c++-tests: New file, extracted from modules/time-tests.
35213         * modules/time-tests: Depend on it.
35214         * modules/unistd-c++-tests: New file, extracted from
35215         modules/unistd-tests.
35216         * modules/unistd-tests: Depend on it.
35217         * modules/wchar-c++-tests: New file, extracted from
35218         modules/wchar-tests.
35219         * modules/wchar-tests: Depend on it.
35220         * modules/wctype-c++-tests: New file, extracted from
35221         modules/wctype-tests.
35222         * modules/wctype-tests: Depend on it.
35223         Reported by Simon Josefsson.
35224
35225 2010-03-28  Bruno Haible  <bruno@clisp.org>
35226
35227         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
35228         * gnulib-tool (func_exists_module): New function, extracted from
35229         func_verify_module.
35230         (func_verify_module): Use it.
35231         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
35232         'foo' only if 'foo' exists.
35233         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
35234         module.
35235
35236 2010-03-28  Bruno Haible  <bruno@clisp.org>
35237
35238         gnulib-tool: Add support for special categories of tests.
35239         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
35240         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
35241         (func_usage): Document them.
35242         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
35243         inc_unportable_tests, inc_all_tests): New variables.
35244         (func_acceptable): Consider these variables.
35245         (func_modules_transitive_closure): Make it work when the 'Status' field
35246         consists of multiple words.
35247         (func_import): Store and restore the values of inc_cxx_tests,
35248         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
35249         inc_all_tests in gnulib-comp.m4.
35250         (func_create_testdir): Set inc_all_tests to true.
35251         * doc/gnulib.texi (Extra tests modules): New section.
35252         Suggested by Jim Meyering.
35253
35254 2010-03-28  Bruno Haible  <bruno@clisp.org>
35255
35256         ansi-c++-opt: Allow turning off the C++ build by default.
35257         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
35258         gl_CXX_CHOICE_DEFAULT_NO is defined.
35259         Requested by Eric Blake.
35260
35261 2010-03-28  Bruno Haible  <bruno@clisp.org>
35262
35263         unistd: Avoid #define replacements in C++ mode.
35264         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
35265         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
35266         setsockopt, shutdown, select): In C++, attach a warning to the function
35267         if possible, rather than #defining the symbol to a dysfunctional alias.
35268         Reported by John W. Eaton <jwe@gnu.org>.
35269
35270 2010-03-28  Bruno Haible  <bruno@clisp.org>
35271
35272         Fix link errors on mingw.
35273         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
35274         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
35275         $(LIBSOCKET).
35276         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
35277         $(LIBSOCKET).
35278
35279 2010-03-28  Bruno Haible  <bruno@clisp.org>
35280             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35281
35282         lib-ignore: Determine different options for different compilers.
35283         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
35284         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
35285         Add comments.
35286         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
35287         * NEWS: Mention the change.
35288
35289 2010-03-27  Bruno Haible  <bruno@clisp.org>
35290
35291         Remove unused GNULIB_XYZ macro definitions.
35292         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35293         * modules/fseek (configure.ac): Likewise.
35294         * modules/ioctl (configure.ac): Likewise.
35295         * modules/open (configure.ac): Likewise.
35296         * modules/stdlib-safer (configure.ac): Likewise.
35297
35298 2010-03-27  Bruno Haible  <bruno@clisp.org>
35299
35300         Add a remark about certain modules.
35301         * modules/malloc (Comment): New section.
35302         * modules/realloc (Comment): Likewise.
35303         * modules/sigpipe (Comment): Likewise.
35304
35305 2010-03-27  Bruno Haible  <bruno@clisp.org>
35306
35307         Resolve conflict between the two kinds of module indicators.
35308         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
35309         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
35310         * modules/canonicalize (configure.ac): Invoke
35311         gl_MODULE_INDICATOR_FOR_TESTS.
35312         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
35313         GNULIB_XYZ.
35314         * tests/test-dirent-c++.cc: Likewise.
35315         * tests/test-dirent-safer.c: Likewise.
35316         * tests/test-dup2.c: Likewise.
35317         * tests/test-fchdir.c: Likewise.
35318         * tests/test-fcntl-h-c++.cc: Likewise.
35319         * tests/test-getopt.c: Likewise.
35320         * tests/test-getopt.h: Likewise.
35321         * tests/test-langinfo-c++.cc: Likewise.
35322         * tests/test-locale-c++.cc: Likewise.
35323         * tests/test-math-c++.cc: Likewise.
35324         * tests/test-pty-c++.cc: Likewise.
35325         * tests/test-search-c++.cc: Likewise.
35326         * tests/test-signal-c++.cc: Likewise.
35327         * tests/test-spawn-c++.cc: Likewise.
35328         * tests/test-stdio-c++.cc: Likewise.
35329         * tests/test-stdlib-c++.cc: Likewise.
35330         * tests/test-string-c++.cc: Likewise.
35331         * tests/test-sys_ioctl-c++.cc: Likewise.
35332         * tests/test-sys_select-c++.cc: Likewise.
35333         * tests/test-sys_socket-c++.cc: Likewise.
35334         * tests/test-sys_stat-c++.cc: Likewise.
35335         * tests/test-sys_time-c++.cc: Likewise.
35336         * tests/test-time-c++.cc: Likewise.
35337         * tests/test-unistd-c++.cc: Likewise.
35338         * tests/test-wchar-c++.cc: Likewise.
35339         * tests/uninorm/test-u8-nfc.c: Likewise.
35340         * tests/uninorm/test-u8-nfd.c: Likewise.
35341         * tests/uninorm/test-u8-nfkc.c: Likewise.
35342         * tests/uninorm/test-u8-nfkd.c: Likewise.
35343         * tests/uninorm/test-u16-nfc.c: Likewise.
35344         * tests/uninorm/test-u16-nfd.c: Likewise.
35345         * tests/uninorm/test-u16-nfkc.c: Likewise.
35346         * tests/uninorm/test-u16-nfkd.c: Likewise.
35347         * tests/uninorm/test-u32-nfc.c: Likewise.
35348         * tests/uninorm/test-u32-nfc-big.c: Likewise.
35349         * tests/uninorm/test-u32-nfd.c: Likewise.
35350         * tests/uninorm/test-u32-nfd-big.c: Likewise.
35351         * tests/uninorm/test-u32-nfkc.c: Likewise.
35352         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
35353         * tests/uninorm/test-u32-nfkd.c: Likewise.
35354         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
35355         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35356
35357 2010-03-27  Bruno Haible  <bruno@clisp.org>
35358
35359         Distinguish two kinds of module indicators.
35360         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
35361         gl_MODULE_INDICATOR.
35362         (gl_MODULE_INDICATOR): New macro.
35363         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35364         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
35365         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35366         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35367         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35368         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35369         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35370         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35371         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35372         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35373         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35374         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35375         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35376         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35377         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35378         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35379         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35380         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35381         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35382         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35383         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35384         * modules/cloexec (configure.ac): Likewise.
35385         * modules/getopt-gnu (configure.ac): Likewise.
35386         * modules/uninorm/u8-normalize (configure.ac): Likewise.
35387         * modules/uninorm/u16-normalize (configure.ac): Likewise.
35388         * modules/uninorm/u32-normalize (configure.ac): Likewise.
35389         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
35390
35391 2010-03-27  Bruno Haible  <bruno@clisp.org>
35392
35393         New module description field 'Comment'.
35394         * gnulib-tool: New option --extract-comment.
35395         (func_usage): Document it.
35396         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
35397         (func_get_comment): New function.
35398         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
35399
35400 2010-03-27  Bruno Haible  <bruno@clisp.org>
35401
35402         Addendum to 2010-02-07 commit.
35403         * gnulib-tool (func_usage): Document --extract-applicability option.
35404
35405 2010-03-27  Bruno Haible  <bruno@clisp.org>
35406
35407         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
35408         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
35409         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
35410         rather than link errors.
35411
35412 2010-03-27  Bruno Haible  <bruno@clisp.org>
35413
35414         Avoid side effects from tests-related modules on the compilation of lib.
35415         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
35416         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
35417         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
35418         parameter. Emit into AM_CPPFLAGS a definition of the designated C
35419         macro.
35420         (func_import): Define a witness macro. Assign it a value that depends
35421         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
35422         tests-related modules.
35423         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
35424         Reported by Jim Meyering.
35425
35426 2010-03-27  Bruno Haible  <bruno@clisp.org>
35427
35428         Factorize common .m4 code.
35429         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
35430         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
35431         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
35432         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
35433         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35434         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
35435         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
35436         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35437         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35438         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35439         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
35440         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35441         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35442         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35443         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35444         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
35445         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35446         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35447         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35448         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
35449         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
35450         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35451         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35452         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35453         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35454         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35455         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
35456         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
35457         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
35458         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35459         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35460         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35461
35462 2010-03-27  Bruno Haible  <bruno@clisp.org>
35463
35464         Fix a compilation error on Cygwin with g++ >= 4.3.
35465         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
35466         if it is undefined or if we alias it to chmod.
35467         (lstat): Don't warn about the use of this function if it is undefined
35468         or if we alias it to stat.
35469         Reported by Simon Josefsson.
35470
35471 2010-03-27  Bruno Haible  <bruno@clisp.org>
35472
35473         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
35474         * modules/getlogin (configure.ac): Update.
35475
35476         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
35477         * modules/getlogin_r (configure.ac): Update.
35478
35479         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
35480         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
35481         * modules/inet_ntop (configure.ac): Update.
35482
35483         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
35484         * modules/inet_pton (configure.ac): Update.
35485
35486         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
35487         * modules/mbslen (configure.ac): Update.
35488
35489         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
35490         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
35491         * modules/forkpty (configure.ac): Update.
35492         * modules/openpty (configure.ac): Update.
35493
35494 2010-03-26  Simon Josefsson  <simon@josefsson.org>
35495
35496         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
35497         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
35498
35499 2010-03-25  Eric Blake  <eblake@redhat.com>
35500
35501         maint: use pragma consistently across replacement headers
35502         * lib/ctype.in.h (system_header): Hoist for consistent placement.
35503         * lib/dirent.in.h (system_header): Likewise.
35504         * lib/errno.in.h (system_header): Likewise.
35505         * lib/float.in.h (system_header): Likewise.
35506         * lib/getopt.in.h (system_header): Likewise.
35507         * lib/iconv.in.h (system_header): Likewise.
35508         * lib/inttypes.in.h (system_header): Likewise.
35509         * lib/langinfo.in.h (system_header): Likewise.
35510         * lib/locale.in.h (system_header): Likewise.
35511         * lib/math.in.h (system_header): Likewise.
35512         * lib/netdb.in.h (system_header): Likewise.
35513         * lib/netinet_in.in.h (system_header): Likewise.
35514         * lib/pty.in.h (system_header): Likewise.
35515         * lib/sched.in.h (system_header): Likewise.
35516         * lib/se-selinux.in.h (system_header): Likewise.
35517         * lib/search.in.h (system_header): Likewise.
35518         * lib/spawn.in.h (system_header): Likewise.
35519         * lib/stdarg.in.h (system_header): Likewise.
35520         * lib/stdint.in.h (system_header): Likewise.
35521         * lib/string.in.h (system_header): Likewise.
35522         * lib/strings.in.h (system_header): Likewise.
35523         * lib/sys_file.in.h (system_header): Likewise.
35524         * lib/sys_ioctl.in.h (system_header): Likewise.
35525         * lib/sys_socket.in.h (system_header): Likewise.
35526         * lib/sys_times.in.h (system_header): Likewise.
35527         * lib/sys_utsname.in.h (system_header): Likewise.
35528         * lib/sys_wait.in.h (system_header): Likewise.
35529         * lib/sysexits.in.h (system_header): Likewise.
35530         * lib/unistd.in.h (system_header): Likewise.
35531         * lib/wctype.in.h (system_header): Likewise.
35532
35533         arpa/inet: fix mingw compilation warning
35534         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
35535         Reported by Matthew Bolte.
35536
35537 2010-03-25  Bruno Haible  <bruno@clisp.org>
35538
35539         Avoid collision between gnulib wrapper and libintl wrapper.
35540         * lib/printf.c (printf): Don't define if a printf wrapper is already
35541         defined in intl/printf.c.
35542         Reported by Michel Boaventura <michel@michelboaventura.com>.
35543
35544 2010-03-25  Bruno Haible  <bruno@clisp.org>
35545
35546         Use ANSI C.
35547         * lib/readutmp.h (getutent): Provide ANSI C prototype.
35548
35549 2010-03-25  Bruno Haible  <bruno@clisp.org>
35550
35551         Minor formatting changes.
35552         * lib/acosl.c: Insert space before function argument list.
35553         * lib/argz.c: Likewise.
35554         * lib/asinl.c: Likewise.
35555         * lib/expl.c: Likewise.
35556         * lib/gen-uni-tables.c: Likewise.
35557         * lib/gettext.h: Likewise.
35558         * lib/glthread/lock.h: Likewise.
35559         * lib/tanl.c: Likewise.
35560         * lib/uniname/uniname.c: Likewise.
35561         * tests/test-idpriv-drop.c: Likewise.
35562         * tests/test-idpriv-droptemp.c: Likewise.
35563         * tests/test-lock.c: Likewise.
35564         * tests/test-tls.c: Likewise.
35565         * lib/argp-help.c: Insert space before function-like macro argument
35566         list.
35567         * lib/memcmp.c: Likewise.
35568         * tests/test-base64.c: Likewise.
35569         * lib/localename.c: Insert space before sizeof's argument list.
35570         * lib/safe-alloc.h: Likewise.
35571         * lib/file-set.h: Insert space before macro argument list.
35572         * tests/test-argp.c: Likewise.
35573         * lib/argp-namefrob.h: Insert space before function parameter list.
35574         * lib/getaddrinfo.c: Likewise.
35575         * lib/netdb.in.h: Likewise.
35576         * lib/parse-duration.h: Likewise.
35577         * lib/parse-duration.c: Likewise.
35578         * lib/poll.c: Likewise.
35579         * lib/select.c: Likewise.
35580         * lib/trim.h: Likewise.
35581         * tests/test-usleep.c: Likewise.
35582         * lib/ldexpl.c: Insert space before function parameter list and before
35583         function argument list.
35584         * lib/logl.c: Likewise.
35585         * lib/sqrtl.c: Likewise.
35586         * lib/trim.c: Likewise.
35587         * lib/cosl.c: Use GNU style indentation. Insert space before function
35588         argument list.
35589         * lib/sinl.c: Likewise.
35590         * lib/tsearch.c: Insert space after 'for'.
35591         Reported by Jim Meyering.
35592
35593 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
35594
35595         * maint.mk (sc_Wundef_boolean): Check for the presence of the
35596         config header before grepping, as it's not present before
35597         autoreconf/configure are run.  Reported by Simon Josefsson.
35598
35599 2010-03-23  Bruno Haible  <bruno@clisp.org>
35600
35601         pt_chown: Make it work with automake < 1.11.
35602         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
35603         Reported by Simon Josefsson.
35604
35605 2010-03-23  Bruno Haible  <bruno@clisp.org>
35606
35607         pt_chown: Don't depend on GPLed modules.
35608         * lib/pt_chown.c: Don't include idpriv.h.
35609         (main): Don't drop privileges.
35610         * modules/pt_chown (Depends-on): Remove idpriv-drop.
35611         Reported by Simon Josefsson.
35612
35613 2010-03-24  Simon Josefsson  <simon@josefsson.org>
35614
35615         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
35616         suggestions from karl@freefriends.org (Karl Berry).
35617
35618 2010-03-22  Eric Blake  <eblake@redhat.com>
35619
35620         gethostname: further tweaks
35621         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
35622         are overriding gethostname.
35623         Suggested by Bruno Haible.
35624
35625 2010-03-21  Bruno Haible  <bruno@clisp.org>
35626
35627         Fix comments.
35628         * lib/forkpty.c (rpl_forkpty): Fix comment.
35629         * lib/openpty.c (rpl_openpty): Likewise.
35630         Reported by Eric Blake.
35631
35632 2010-03-22  Eric Blake  <eblake@redhat.com>
35633
35634         gethostname: fix build on mingw
35635         * lib/unistd.in.h (includes): Work around fact that mingw
35636         <winsock2.h> re-includes <unistd.h>, by avoiding any
35637         redeclarations if we are being included by <winsock2.h>.
35638         Reported by Matthias Bolte.
35639
35640 2010-03-21  Bruno Haible  <bruno@clisp.org>
35641
35642         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35643         * lib/forkpty.c (forkpty): New replacement function, from glibc with
35644         modifications.
35645         * lib/pty.in.h (forkpty): Update declaration. Add comments.
35646         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
35647         provide the replacement.
35648         * modules/forkpty (Depends-on): Add openpty, login_tty.
35649         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
35650         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
35651         * doc/glibc-functions/forkpty.texi: More supported platforms.
35652         * config/srclist.txt: Add forkpty.c (commented).
35653
35654 2010-03-21  Bruno Haible  <bruno@clisp.org>
35655
35656         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
35657         (Makefile.am): Verify that PTY_LIB is defined.
35658
35659         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
35660
35661 2010-03-21  Bruno Haible  <bruno@clisp.org>
35662
35663         Tests for module 'login_tty'.
35664         * modules/login_tty-tests: New file.
35665         * tests/test-login_tty.c: New file.
35666
35667         New module 'login_tty'.
35668         * lib/login_tty.c: New file.
35669         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
35670         * modules/login_tty: New file.
35671         * doc/glibc-functions/login_tty.texi: Mention the new module.
35672
35673 2010-03-21  Bruno Haible  <bruno@clisp.org>
35674
35675         login_tty: Documentation.
35676         * doc/glibc-functions/login_tty.texi: New file.
35677         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
35678
35679 2010-03-21  Bruno Haible  <bruno@clisp.org>
35680
35681         pty: Consistent macro naming.
35682         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
35683         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
35684         * modules/pty (configure.ac): Update.
35685
35686 2010-03-21  Bruno Haible  <bruno@clisp.org>
35687
35688         Tests for openpty: Make stricter.
35689         * tests/test-openpty.c (main): Add test of canonical processing and
35690         erase.
35691         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
35692
35693         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35694         * lib/openpty.c (openpty): New replacement function.
35695         * lib/pty.in.h: Include <termios.h>.
35696         (openpty): Update declaration. Add comments.
35697         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
35698         is not declared, arrange to provide the replacement. Check for _getpty
35699         and posix_openpt.
35700         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
35701         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
35702         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
35703         * modules/pty-tests (test_pty_c___LDADD): New variable.
35704         * doc/glibc-functions/openpty.texi: More supported platforms.
35705
35706 2010-03-21  Bruno Haible  <bruno@clisp.org>
35707
35708         setenv: Tweaks.
35709         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
35710         the test program.
35711         * doc/posix-functions/setenv.texi: Update platforms list.
35712
35713 2010-03-21  Bruno Haible  <bruno@clisp.org>
35714
35715         New module 'unlockpt'.
35716         * lib/unlockpt.c: New file, from glibc with modifications.
35717         * m4/unlockpt.m4: New file.
35718         * modules/unlockpt: New file.
35719         * lib/stdlib.in.h (unlockpt): New declaration.
35720         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
35721         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
35722         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
35723         HAVE_UNLOCKPT.
35724         * doc/posix-functions/unlockpt.texi: Mention the new module.
35725         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
35726         * config/srclist.txt: Add unlockpt.c (commented).
35727
35728 2010-03-21  Jim Meyering  <meyering@redhat.com>
35729
35730         maint.mk: prohibit inclusion of "intprops.h" without use
35731         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
35732
35733 2010-03-21  Bruno Haible  <bruno@clisp.org>
35734
35735         New module 'grantpt'.
35736         * lib/grantpt.c: New file, from glibc with modifications.
35737         * m4/grantpt.m4: New file.
35738         * modules/grantpt: New file.
35739         * lib/stdlib.in.h (grantpt): New declaration.
35740         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
35741         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
35742         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
35743         HAVE_GRANTPT.
35744         * doc/posix-functions/grantpt.texi: Mention the new module.
35745         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
35746         * config/srclist.txt: Add grantpt.c (commented).
35747
35748 2010-03-21  Bruno Haible  <bruno@clisp.org>
35749
35750         New module 'pt_chown'.
35751         * lib/pt_chown.c: New file, from glibc with modifications.
35752         * lib/pty-private.h: New file, from glibc with modifications.
35753         * modules/pt_chown: New file.
35754         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
35755
35756 2010-03-21  Bruno Haible  <bruno@clisp.org>
35757
35758         Tests for module 'ptsname'.
35759         * modules/ptsname-tests: New file.
35760         * tests/test-ptsname.c: New file.
35761
35762         New module 'ptsname'.
35763         * lib/ptsname.c: New file, from glibc with modifications.
35764         * m4/ptsname.m4: New file.
35765         * modules/ptsname: New file.
35766         * lib/stdlib.in.h (ptsname): New declaration.
35767         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
35768         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
35769         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
35770         HAVE_PTSNAME.
35771         * doc/posix-functions/ptsname.texi: Mention the new module.
35772         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
35773         * config/srclist.txt: Add ptsname.c (commented).
35774
35775 2010-03-21  Bruno Haible  <bruno@clisp.org>
35776
35777         Tests for module 'ttyname_r'.
35778         * modules/ttyname_r-tests: New file.
35779         * tests/test-ttyname_r.c: New file.
35780
35781         New module 'ttyname_r'.
35782         * lib/ttyname_r.c: New file.
35783         * m4/ttyname_r.m4: New file.
35784         * modules/ttyname_r: New file.
35785         * lib/unistd.in.h (ttyname_r): New declaration.
35786         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
35787         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
35788         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
35789         HAVE_TTYNAME_R.
35790         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
35791         * doc/posix-functions/ttyname_r.texi: Mention the new module.
35792
35793 2010-03-20  Bruno Haible  <bruno@clisp.org>
35794
35795         signal: Undefine macro definitions in C++ mode.
35796         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
35797         sigfillset): Undefine macro definitions from the system header in C++
35798         mode.
35799         Reported by John W. Eaton <jwe@gnu.org>.
35800
35801 2010-03-20  Bruno Haible  <bruno@clisp.org>
35802
35803         Ensure no #include statements inside extern "C" { ... }.
35804         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
35805         contain #include statements.
35806         * lib/time.in.h: Likewise.
35807
35808 2010-03-20  Bruno Haible  <bruno@clisp.org>
35809
35810         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
35811         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
35812         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
35813         Reported by John W. Eaton <jwe@gnu.org>.
35814
35815 2010-03-20  Bruno Haible  <bruno@clisp.org>
35816
35817         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
35818         Reported by Jim Meyering.
35819
35820 2010-03-20  Bruno Haible  <bruno@clisp.org>
35821
35822         pipe: Set errno upon failure.
35823         * lib/pipe.h: Specify that when -1 is returned, errno is set.
35824         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
35825         errno value in error message.
35826
35827 2010-03-20  Bruno Haible  <bruno@clisp.org>
35828             Jim Meyering  <meyering@redhat.com>
35829
35830         lchown: Avoid "unused variable" warning.
35831         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
35832
35833 2010-03-20  Bruno Haible  <bruno@clisp.org>
35834
35835         Work around unlink() bug on MacOS X 10.5.6.
35836         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
35837         attempting to unlink a parent directory.
35838         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
35839         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
35840         activate for the replacement function.
35841         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
35842
35843 2010-03-20  Bruno Haible  <bruno@clisp.org>
35844
35845         Fix link errors on Solaris 8.
35846         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
35847         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
35848
35849 2010-03-19  Jim Meyering  <meyering@redhat.com>
35850
35851         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
35852         The _LIBC implementation of build_range_exp correctly honors the
35853         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
35854         However, the non-_LIBC implementation would ignore that syntax-bit
35855         flag and return REG_ERANGE unconditionally.
35856         This change makes it honor that flag.
35857         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
35858         Make two pointer parameters "const".
35859         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
35860         (parse_bracket_exp): Update caller.
35861
35862         regex.m4: correct the reversed range endpoint ([b-a]) test
35863         * m4/regex.m4: When requiring that [b-a] evoke failure,
35864         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
35865         test pass once again for x86-based systems.
35866
35867 2010-03-19  Bruno Haible  <bruno@clisp.org>
35868
35869         scandir: Fix link error on Solaris 8.
35870         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
35871         macros.
35872
35873 2010-03-19  Bruno Haible  <bruno@clisp.org>
35874
35875         getusershell: Fix documentation.
35876         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
35877         module.
35878         * doc/glibc-functions/setusershell.texi: Likewise.
35879
35880         getusershell: Provide declaration, missing on Solaris 9.
35881         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
35882         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
35883         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
35884         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
35885         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35886         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
35887         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
35888         HAVE_GETUSERSHELL.
35889         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
35890
35891 2010-03-19  Bruno Haible  <bruno@clisp.org>
35892
35893         wctype: Provide iswblank function.
35894         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
35895         exists and is fine.
35896         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
35897         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
35898         * tests/test-wctype.c (main): Re-enable the iswblank tests.
35899         * doc/posix-functions/iswblank.texi: Update.
35900
35901 2010-03-19  Bruno Haible  <bruno@clisp.org>
35902
35903         Tests of module 'pty' in C++ mode.
35904         * modules/pty-tests: New file.
35905         * tests/test-pty-c++.cc: New file.
35906         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35907
35908 2010-03-19  Eric Blake  <eblake@redhat.com>
35909
35910         logb: fix documentation
35911         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
35912         1.5 declaration bug.
35913
35914         forkpty, openpty: prefer glibc's const-safe prototype
35915         * lib/forkpty.c (rpl_forkpty): New file.
35916         * lib/openpty.c (rpl_openpty): Likewise.
35917         * modules/forkpty (Files): Distribute it.
35918         * modules/openpty (Files): Likewise.
35919         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
35920         check...
35921         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
35922         replacement for for non-const BSD signature.
35923         * modules/pty (Makefile.am): Substitute witnesses.
35924         * lib/pty.in.h (forkpty, openpty): Declare replacements.
35925         * tests/test-forkpty.c: Update signature check.
35926         * tests/test-openpty.c: Likewise.
35927         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
35928         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35929
35930         forkpty, openpty: split functions into new modules
35931         * modules/pty (Makefile.am): Substitute new witnesses.
35932         (Libraries): Move library detection...
35933         * modules/forkpty: ...into new module.
35934         * modules/openpty: Another new module.
35935         * modules/pty-tests: Rename and split...
35936         * modules/forkpty-tests: ...to this...
35937         * modules/openpty-tests: ...and this.
35938         * tests/test-pty.c: Rename and split...
35939         * tests/test-forkpty.c: ...to this...
35940         * tests/test-openpty.c: ...and this.
35941         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
35942         (gl_PTY): Split library searching...
35943         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
35944         (gl_FORKPTY, gl_OPENPTY): New macros.
35945         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
35946         * NEWS: Mention the split.
35947         * MODULES.html.sh (Misc): Document the modules.
35948         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
35949         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35950
35951         pty: improve replacement header
35952         * lib/pty.in.h: New file.
35953         * modules/pty (Files): Ship it.
35954         (Makefile.am): Always build replacement.
35955         * m4/pty.m4: Rename...
35956         * m4/pty_h.m4: ...to this.
35957         (gl_PTY): Modernize setting of witness macros; update check of
35958         forkpty to take proper advantage of cache.
35959         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
35960
35961         getopt: avoid compiler warning
35962         * lib/getopt.c (attribute_hidden): Remove unused macro.
35963
35964 2010-03-18  Bruno Haible  <bruno@clisp.org>
35965
35966         Fix link errors on Solaris 8.
35967         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
35968         * modules/search-tests (test_search_c___LDADD): Likewise.
35969         * modules/signal-tests (test_signal_c___LDADD): Likewise.
35970         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
35971         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
35972         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
35973         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
35974         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
35975         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
35976
35977 2010-03-18  Bruno Haible  <bruno@clisp.org>
35978
35979         Fix bug introduced on 2010-03-14.
35980         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
35981         (gl_SPAWN_H): Require it.
35982         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
35983         Reported by Simon Josefsson.
35984
35985 2010-03-18  Bruno Haible  <bruno@clisp.org>
35986
35987         Fix typo introduced on 2009-12-31.
35988         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
35989         posix_spawn_file_actions_adddup2.
35990
35991 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
35992         and Eric Blake  <eblake@redhat.com>
35993
35994         test-vc-list-files-git: make more robust
35995         * tests/test-vc-list-files-git.sh: Unset problematic environment
35996         variables.  Chain commands together.
35997
35998 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
35999
36000         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
36001         `AC_CHECK_DECL' invocation.
36002
36003 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
36004
36005         * lib/inttostr.c (inttostr): Make sure the invocation of verify
36006         appears before executable statements. Suggested by Petr Sumbera
36007         <Petr.Sumbera@Sun.COM>.
36008
36009 2010-03-14  Bruno Haible  <bruno@clisp.org>
36010
36011         * tests/test-flock.c (test_exclusive): Comment out a test that causes
36012         portability problems. Instead use a simpler test.
36013         (main): Check that invalid arguments are rejected only on Linux.
36014
36015 2010-03-14  Bruno Haible  <bruno@clisp.org>
36016
36017         Fix bug introduced on 2009-12-31.
36018         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
36019         gl_PREREQ_SYS_H_WINSOCK2 always.
36020         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
36021         SYS_SOCKET_H variable.
36022         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
36023         Update comments.
36024         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
36025         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36026         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36027         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
36028         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
36029
36030 2010-03-14  Bruno Haible  <bruno@clisp.org>
36031
36032         Fix values returned by sinl, cosl.
36033         * lib/trigl.h: Add specification comments.
36034         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
36035         that combines the values from the precomputed table with the values of
36036         the Chebyshev polynomials.
36037
36038 2010-03-14  Bruno Haible  <bruno@clisp.org>
36039
36040         Fix compilation error when modules 'posix_spawn[p]' are not used.
36041         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
36042         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
36043
36044 2010-03-14  Bruno Haible  <bruno@clisp.org>
36045
36046         Fix compilation error on mingw when module 'time_r' is not used.
36047         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
36048         is 1.
36049         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
36050         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36051         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
36052         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
36053
36054 2010-03-14  Bruno Haible  <bruno@clisp.org>
36055
36056         Fix compilation error with Sun C.
36057         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
36058         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
36059         instead of GCC specific ULONG_LONG_MAX.
36060         * lib/xstrtoll.c: Likewise.
36061         * lib/xstrtoull.c: Likewise.
36062
36063 2010-03-13  Bruno Haible  <bruno@clisp.org>
36064
36065         Allow the user to disable C++ code and tests.
36066         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
36067         (gl_PROG_ANSI_CXX): Require it.
36068
36069 2010-03-13  Bruno Haible  <bruno@clisp.org>
36070
36071         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
36072         cases.
36073
36074 2010-03-13  Bruno Haible  <bruno@clisp.org>
36075
36076         Test that gnulib does not break the standard C++ headers.
36077         * tests/test-locale-c++2.cc: New file.
36078         * modules/locale-tests (Files): Add it.
36079         (Makefile.am): Compile it for test-locale-c++.
36080         * tests/test-math-c++2.cc: New file.
36081         * modules/math-tests (Files): Add it.
36082         (Makefile.am): Compile it for test-math-c++.
36083         * tests/test-signal-c++2.cc: New file.
36084         * modules/signal-tests (Files): Add it.
36085         (Makefile.am): Compile it for test-signal-c++.
36086         * tests/test-stdio-c++2.cc: New file.
36087         * modules/stdio-tests (Files): Add it.
36088         (Makefile.am): Compile it for test-stdio-c++.
36089         * tests/test-stdlib-c++2.cc: New file.
36090         * modules/stdlib-tests (Files): Add it.
36091         (Makefile.am): Compile it for test-stdlib-c++.
36092         * tests/test-string-c++2.cc: New file.
36093         * modules/string-tests (Files): Add it.
36094         (Makefile.am): Compile it for test-string-c++.
36095         * tests/test-time-c++2.cc: New file.
36096         * modules/time-tests (Files): Add it.
36097         (Makefile.am): Compile it for test-time-c++.
36098         Reported by John W. Eaton <jwe@gnu.org>.
36099
36100 2010-03-13  Bruno Haible  <bruno@clisp.org>
36101
36102         * gnulib-tool (func_usage): Clarify which options are available for
36103         --create-testdir and --create-megatestdir.
36104
36105 2010-03-13  Bruno Haible  <bruno@clisp.org>
36106
36107         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
36108         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
36109         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
36110         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
36111         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
36112         when appropriate.
36113         Reported by Jim Meyering.
36114
36115 2010-03-12  Simon Josefsson  <simon@josefsson.org>
36116
36117         * gnulib-tool (func_import): Explain origin of code.
36118
36119 2010-03-12  Bruno Haible  <bruno@clisp.org>
36120
36121         Fix problem with automake's definition of CXXLINK.
36122         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
36123         Reported by Simon Josefsson and Ludovic Courtès.
36124
36125 2010-03-12  Bruno Haible  <bruno@clisp.org>
36126
36127         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
36128         stable releases.
36129
36130 2010-03-11  Bruno Haible  <bruno@clisp.org>
36131
36132         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
36133         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
36134         whether the system provides one variant or multiple variants of the
36135         function.
36136         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
36137         C++ compilers.
36138         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
36139         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
36140         Reported by Jim Meyering.
36141
36142 2010-03-09  Simon Josefsson  <simon@josefsson.org>
36143
36144         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
36145
36146 2010-03-08  Bruno Haible  <bruno@clisp.org>
36147
36148         gnulib-tool: Add support for --libtool in --create-testdir.
36149         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
36150         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
36151
36152 2010-03-08  Eric Blake  <eblake@redhat.com>
36153
36154         gnulib-tool.texi: mention possibility of git submodule
36155         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
36156         submodules.
36157         * doc/.gitignore: Ignore another generated file.
36158
36159 2010-03-08  Karl Berry  <karl@gnu.org>
36160
36161         * doc/gnulib-tool.texi (VCS Issues): Mention third option
36162         of committing gnulib files while skipping others.
36163
36164 2010-03-07  Bruno Haible  <bruno@clisp.org>
36165
36166         Tests of module 'wctype' in C++ mode.
36167         * tests/test-wctype-c++.cc: New file.
36168         * modules/wctype-tests (Files): Add it and tests/signature.h.
36169         (Depends-on): Add ansi-c++-opt.
36170         (Makefile.am): Arrange to compile and run test-wctype-c++.
36171
36172         Tests of module 'wchar' in C++ mode.
36173         * tests/test-wchar-c++.cc: New file.
36174         * modules/wchar-tests (Files): Add it and tests/signature.h.
36175         (Depends-on): Add ansi-c++-opt.
36176         (Makefile.am): Arrange to compile and run test-wchar-c++.
36177         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
36178         gl_MODULE_INDICATOR.
36179
36180         Tests of module 'unistd' in C++ mode.
36181         * tests/test-unistd-c++.cc: New file.
36182         * modules/unistd-tests (Files): Add it and tests/signature.h.
36183         (Depends-on): Add ansi-c++-opt.
36184         (Makefile.am): Arrange to compile and run test-unistd-c++.
36185         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
36186         gl_MODULE_INDICATOR.
36187
36188         Tests of module 'time' in C++ mode.
36189         * tests/test-time-c++.cc: New file.
36190         * modules/time-tests (Files): Add it and tests/signature.h.
36191         (Depends-on): Add ansi-c++-opt.
36192         (Makefile.am): Arrange to compile and run test-time-c++.
36193         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36194
36195         Tests of module 'sys_time' in C++ mode.
36196         * tests/test-sys_time-c++.cc: New file.
36197         * modules/sys_time-tests (Files): Add it and tests/signature.h.
36198         (Depends-on): Add ansi-c++-opt.
36199         (Makefile.am): Arrange to compile and run test-sys_time-c++.
36200         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
36201         gl_MODULE_INDICATOR.
36202
36203         Tests of module 'sys_stat' in C++ mode.
36204         * tests/test-sys_stat-c++.cc: New file.
36205         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
36206         (Depends-on): Add ansi-c++-opt.
36207         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
36208         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
36209         gl_MODULE_INDICATOR.
36210
36211         Tests of module 'sys_socket' in C++ mode.
36212         * tests/test-sys_socket-c++.cc: New file.
36213         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
36214         (Depends-on): Add ansi-c++-opt.
36215         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
36216         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
36217         gl_MODULE_INDICATOR.
36218
36219         Tests of module 'sys_select' in C++ mode.
36220         * tests/test-sys_select-c++.cc: New file.
36221         * modules/sys_select-tests (Files): Add it and tests/signature.h.
36222         (Depends-on): Add ansi-c++-opt.
36223         (Makefile.am): Arrange to compile and run test-sys_select-c++.
36224         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
36225         gl_MODULE_INDICATOR.
36226
36227         Tests of module 'sys_ioctl' in C++ mode.
36228         * tests/test-sys_ioctl-c++.cc: New file.
36229         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
36230         (Depends-on): Add ansi-c++-opt.
36231         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
36232         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
36233         gl_MODULE_INDICATOR.
36234
36235         Tests of module 'string' in C++ mode.
36236         * tests/test-string-c++.cc: New file.
36237         * modules/string-tests (Files): Add it and tests/signature.h.
36238         (Depends-on): Add ansi-c++-opt.
36239         (Makefile.am): Arrange to compile and run test-string-c++.
36240         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
36241         gl_MODULE_INDICATOR.
36242
36243         Tests of module 'stdlib' in C++ mode.
36244         * tests/test-stdlib-c++.cc: New file.
36245         * modules/stdlib-tests (Files): Add it and tests/signature.h.
36246         (Depends-on): Add ansi-c++-opt.
36247         (Makefile.am): Arrange to compile and run test-stdlib-c++.
36248         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
36249         gl_MODULE_INDICATOR.
36250
36251         Tests of module 'stdio' in C++ mode.
36252         * tests/test-stdio-c++.cc: New file.
36253         * modules/stdio-tests (Files): Add it and tests/signature.h.
36254         (Depends-on): Add ansi-c++-opt.
36255         (Makefile.am): Arrange to compile and run test-stdio-c++.
36256         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
36257         gl_MODULE_INDICATOR.
36258
36259         Tests of module 'spawn' in C++ mode.
36260         * tests/test-spawn-c++.cc: New file.
36261         * modules/spawn-tests (Files): Add it and tests/signature.h.
36262         (Depends-on): Add ansi-c++-opt.
36263         (Makefile.am): Arrange to compile and run test-spawn-c++.
36264         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
36265         gl_MODULE_INDICATOR.
36266
36267         Tests of module 'signal' in C++ mode.
36268         * tests/test-signal-c++.cc: New file.
36269         * modules/signal-tests (Files): Add it and tests/signature.h.
36270         (Depends-on): Add ansi-c++-opt.
36271         (Makefile.am): Arrange to compile and run test-signal-c++.
36272         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
36273         gl_MODULE_INDICATOR.
36274
36275         Tests of module 'search' in C++ mode.
36276         * tests/test-search-c++.cc: New file.
36277         * modules/search-tests (Files): Add it and tests/signature.h.
36278         (Depends-on): Add ansi-c++-opt.
36279         (Makefile.am): Arrange to compile and run test-search-c++.
36280         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
36281         gl_MODULE_INDICATOR.
36282
36283         Tests of module 'math' in C++ mode.
36284         * tests/test-math-c++.cc: New file.
36285         * modules/math-tests (Files): Add it and tests/signature.h.
36286         (Depends-on): Add ansi-c++-opt.
36287         (Makefile.am): Arrange to compile and run test-math-c++.
36288         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36289
36290         Tests of module 'locale' in C++ mode.
36291         * tests/test-locale-c++.cc: New file.
36292         * modules/locale-tests (Files): Add it and tests/signature.h.
36293         (Depends-on): Add ansi-c++-opt.
36294         (Makefile.am): Arrange to compile and run test-locale-c++.
36295         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
36296         gl_MODULE_INDICATOR.
36297
36298         Tests of module 'langinfo' in C++ mode.
36299         * tests/test-langinfo-c++.cc: New file.
36300         * modules/langinfo-tests (Files): Add it and tests/signature.h.
36301         (Depends-on): Add ansi-c++-opt.
36302         (Makefile.am): Arrange to compile and run test-langinfo-c++.
36303         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
36304         gl_MODULE_INDICATOR.
36305
36306         Tests of module 'iconv-h' in C++ mode.
36307         * tests/test-iconv-h-c++.cc: New file.
36308         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
36309         (Depends-on): Add ansi-c++-opt.
36310         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
36311
36312         Tests of module 'glob' in C++ mode.
36313         * tests/test-glob-c++.cc: New file.
36314         * modules/glob-tests (Files): Add it.
36315         (Depends-on): Add ansi-c++-opt.
36316         (Makefile.am): Arrange to compile and run test-glob-c++.
36317
36318         Tests of module 'fcntl-h' in C++ mode.
36319         * tests/test-fcntl-h-c++.cc: New file.
36320         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
36321         (Depends-on): Add ansi-c++-opt.
36322         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
36323         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
36324         gl_MODULE_INDICATOR.
36325
36326         Tests of module 'dirent' in C++ mode.
36327         * tests/test-dirent-c++.cc: New file.
36328         * modules/dirent-tests (Files): Add it and tests/signature.h.
36329         (Depends-on): Add ansi-c++-opt.
36330         (Makefile.am): Arrange to compile and run test-dirent-c++.
36331         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36332         gl_MODULE_INDICATOR.
36333
36334         New module 'ansi-c++-opt'.
36335         * modules/ansi-c++-opt: New file.
36336         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
36337
36338         Document C++ namespace mode.
36339         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
36340
36341         wctype: Avoid #define replacements in C++ mode.
36342         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
36343         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
36344         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
36345         In C++, define a namespaced alias symbol.
36346         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
36347         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
36348         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
36349         rule.
36350
36351         wchar: Avoid #define replacements in C++ mode.
36352         * lib/wchar.in.h: Include c++defs.h.
36353         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
36354         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
36355         symbol.
36356         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
36357         * modules/wchar (Depends-on): Add c++defs.
36358         (Makefile.am): Update wchar.h rule.
36359
36360         unistd: Avoid #define replacements in C++ mode.
36361         * lib/unistd.in.h: Include c++defs.h.
36362         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
36363         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
36364         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
36365         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
36366         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
36367         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
36368         symbol.
36369         (environ): Update.
36370         * modules/unistd (Depends-on): Add c++defs.
36371         (Makefile.am): Update unistd.h rule.
36372
36373         time: Avoid #define replacements in C++ mode.
36374         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
36375         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
36376         define a namespaced alias symbol.
36377         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
36378         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
36379         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
36380         * modules/time (Depends-on): Add c++defs, warn-on-use.
36381         (Makefile.am): Update time.h rule.
36382         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36383         * modules/nanosleep (configure.ac): Likewise.
36384         * modules/strptime (configure.ac): Likewise.
36385         * modules/timegm (configure.ac): Likewise.
36386
36387         sys_time: Avoid #define replacements in C++ mode.
36388         * lib/sys_time.in.h: Include c++defs.h.
36389         (gettimeofday): In C++, define a namespaced alias symbol.
36390         * modules/sys_time (Depends-on): Add c++defs.
36391         (Makefile.am): Update sys/time.h rule.
36392
36393         sys_stat: Avoid #define replacements in C++ mode.
36394         * lib/sys_stat.in.h: Include c++defs.h.
36395         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
36396         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
36397         namespaced alias symbol.
36398         In C++, define a namespaced alias symbol.
36399         * modules/sys_stat (Depends-on): Add c++defs.
36400         (Makefile.am): Update sys/stat.h rule.
36401
36402         sys_socket: Avoid #define replacements in C++ mode.
36403         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
36404         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
36405         definitions also when the system has a <sys/socket.h>.
36406         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36407         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
36408         In C++, define a namespaced alias symbol.
36409         * modules/sys_socket (Depends-on): Add c++defs.
36410         (Makefile.am): Update sys/socket.h rule.
36411
36412         sys_select: Avoid #define replacements in C++ mode.
36413         * lib/sys_select.in.h: Include c++defs.h. Enable the function
36414         definitions also when the system has a <sys/select.h>.
36415         (select): In C++, define a namespaced alias symbol.
36416         * modules/sys_select (Depends-on): Add c++defs.
36417         (Makefile.am): Update sys/select.h rule.
36418
36419         sys_ioctl: Avoid #define replacements in C++ mode.
36420         * lib/sys_ioctl.in.h: Include c++defs.h.
36421         (ioctl): In C++, define a namespaced alias symbol.
36422         * modules/sys_ioctl (Depends-on): Add c++defs.
36423         (Makefile.am): Update sys/ioctl.h rule.
36424
36425         string: Avoid #define replacements in C++ mode.
36426         * lib/string.in.h: Include c++defs.h.
36427         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
36428         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36429         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36430         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
36431         strsignal, strverscmp): In C++, define a namespaced alias symbol.
36432         * modules/string (Depends-on): Add c++defs.
36433         (Makefile.am): Update string.h rule.
36434
36435         stdlib: Avoid #define replacements in C++ mode.
36436         * lib/stdlib.in.h: Include c++defs.h.
36437         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
36438         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
36439         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
36440         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
36441         symbol.
36442         * modules/stdlib (Depends-on): Add c++defs.
36443         (Makefile.am): Update stdlib.h rule.
36444
36445         stdio: Avoid #define replacements in C++ mode.
36446         * lib/stdio.in.h: Include c++defs.h.
36447         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
36448         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
36449         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
36450         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
36451         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
36452         namespaced alias symbol.
36453         * modules/stdio (Depends-on): Add c++defs.
36454         (Makefile.am): Update stdio.h rule.
36455
36456         spawn: Avoid #define replacements in C++ mode.
36457         * lib/spawn.in.h: Include c++defs.h.
36458         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36459         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36460         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36461         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36462         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36463         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36464         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36465         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36466         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36467         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36468         In C++, define a namespaced alias symbol.
36469         * modules/spawn (Depends-on): Add c++defs.
36470         (Makefile.am): Update spawn.h rule.
36471
36472         signal: Avoid #define replacements in C++ mode.
36473         * lib/signal.in.h: Include c++defs.h.
36474         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36475         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
36476         namespaced alias symbol.
36477         * modules/signal (Depends-on): Add c++defs.
36478         (Makefile.am): Update signal.h rule.
36479
36480         search: Avoid #define replacements in C++ mode.
36481         * lib/search.in.h: Include c++defs.h.
36482         (_gl_search_compar_fn, _gl_search_action_fn): New types.
36483         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
36484         symbol.
36485         * modules/search (Depends-on): Add c++defs.
36486         (Makefile.am): Update search.h rule.
36487
36488         math: Avoid #define replacements in C++ mode.
36489         * lib/math.in.h: Include c++defs.h.
36490         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
36491         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
36492         trunc, truncl): In C++, define a namespaced alias symbol.
36493         * modules/math (Depends-on): Add c++defs.
36494         (Makefile.am): Update math.h rule.
36495
36496         locale: Avoid #define replacements in C++ mode.
36497         * lib/locale.in.h: Include c++defs.h.
36498         (duplocale): In C++, define a namespaced alias symbol.
36499         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
36500         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
36501         * modules/locale (Depends-on): Add c++defs.
36502         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
36503
36504         langinfo: Avoid #define replacements in C++ mode.
36505         * lib/langinfo.in.h: Include c++defs.h.
36506         (nl_langinfo): In C++, define a namespaced alias symbol.
36507         * modules/langinfo (Depends-on): Add c++defs.
36508         (Makefile.am): Update langinfo.h rule.
36509
36510         iconv-h: Avoid #define replacements in C++ mode.
36511         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
36512         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
36513         symbol.
36514         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36515         whenever iconv is present.
36516         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
36517         (Makefile.am): Update iconv.h rule.
36518
36519         glob: Avoid #define replacements in C++ mode.
36520         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
36521         (_gl_glob_errfunc_fn): New type.
36522         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
36523         symbol.
36524         * modules/glob (Depends-on): Add c++defs, warn-on-use.
36525         (Makefile.am): Update glob.h rule.
36526
36527         fcntl-h: Avoid #define replacements in C++ mode.
36528         * lib/fcntl.in.h: Include c++defs.h.
36529         (fcntl, open, openat): In C++, define a namespaced alias symbol.
36530         * modules/fcntl-h (Depends-on): Add c++defs.
36531         (Makefile.am): Update fcntl.h rule.
36532
36533         dirent: Avoid #define replacements in C++ mode.
36534         * lib/dirent.in.h: Include c++defs.h.
36535         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
36536         namespaced alias symbol.
36537         (dirfd): Update declaration.
36538         * modules/dirent (Depends-on): Add c++defs.
36539         (Makefile.am): Update dirent.h rule.
36540
36541         ctype: Make it usable in C++ code.
36542         * lib/ctype.in.h: Include c++defs.h.
36543         (isblank): Declare as extern "C".
36544         * modules/ctype (Depends-on): Add c++defs.
36545         (Makefile.am): Update ctype.h rule.
36546
36547         New module 'c++defs'.
36548         * modules/c++defs: New file.
36549         * build-aux/c++defs.h: New file.
36550         Reported by John W. Eaton <jwe@gnu.org>.
36551
36552 2010-03-07  Bruno Haible  <bruno@clisp.org>
36553
36554         logb: Provide missing declaration for Cygwin.
36555         * lib/math.in.h (logb): New declaration.
36556         * m4/logb.m4: New file.
36557         * modules/logb (Files): Add m4/logb.m4.
36558         (Depends-on): Add math.
36559         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
36560         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
36561         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
36562         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
36563         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
36564
36565 2010-03-07  Bruno Haible  <bruno@clisp.org>
36566
36567         Fix test-cond link error.
36568         * tests/test-cond.c: Include <stdio.h>.
36569
36570 2010-03-07  Bruno Haible  <bruno@clisp.org>
36571
36572         Fix test-dirent-safer link error.
36573         * modules/dirent-safer-tests (Makefile.am): Define
36574         test_dirent_safer_LDADD.
36575
36576 2010-03-07  Bruno Haible  <bruno@clisp.org>
36577
36578         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
36579         among default module list.
36580
36581 2010-03-07  Bruno Haible  <bruno@clisp.org>
36582
36583         Fix link error on platforms with GNU libiconv.
36584         * modules/unistr/u8-strcoll-tests (Makefile): Define
36585         test_u8_strcoll_LDADD.
36586         * modules/unistr/u16-strcoll-tests (Makefile): Define
36587         test_u16_strcoll_LDADD.
36588         * modules/unistr/u32-strcoll-tests (Makefile): Define
36589         test_u32_strcoll_LDADD.
36590
36591 2010-03-07  Bruno Haible  <bruno@clisp.org>
36592
36593         Use POSIX declarations for socket functions.
36594         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
36595         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
36596         rpl_sendto): Change declaration to match POSIX.
36597         * lib/connect.c (rpl_connect): Likewise.
36598         * lib/accept.c (rpl_accept): Likewise.
36599         * lib/bind.c (rpl_bind): Likewise.
36600         * lib/getpeername.c (rpl_getpeername): Likewise.
36601         * lib/getsockname.c (rpl_getsockname): Likewise.
36602         * lib/recv.c (rpl_recv): Likewise.
36603         * lib/send.c (rpl_send): Likewise.
36604         * lib/recvfrom.c (rpl_recvfrom): Likewise.
36605         * lib/sendto.c (rpl_sendto): Likewise.
36606
36607 2010-03-06  Bruno Haible  <bruno@clisp.org>
36608
36609         Clarify access, euidaccess, faccessat.
36610         * doc/posix-functions/faccessat.texi: Mention security problem under
36611         "Other problems", not "Portability problems".
36612         * doc/posix-functions/access.texi: Likewise. Mention a related security
36613         problem.
36614         * doc/glibc-functions/euidaccess.texi: Mention security problems.
36615         * lib/euidaccess.c: Add comments about platforms.
36616         * lib/unistd.in.h (access, euidaccess): Add warnings.
36617
36618 2010-03-07  Bruno Haible  <bruno@clisp.org>
36619
36620         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
36621         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
36622         (POSIX_SPAWN_SETSCHEDULER): Likewise.
36623         (POSIX_SPAWN_USEVFORK): Define in a way that works when
36624         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36625         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
36626         declare when POSIX_SPAWN_SETSCHEDULER is zero.
36627         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
36628         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
36629         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
36630         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
36631         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
36632         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
36633         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
36634         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
36635         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
36636         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
36637         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
36638         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
36639         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
36640         Likewise.
36641         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
36642         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
36643         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
36644         Likewise.
36645         * tests/test-spawn.c (main): Make it work when
36646         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36647
36648 2010-03-07  Bruno Haible  <bruno@clisp.org>
36649
36650         Fix incorrect Makefile.am generation in German locale.
36651         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36652         Execute sed command with character range in C locale.
36653
36654 2010-03-06  Bruno Haible  <bruno@clisp.org>
36655
36656         Tests for module 'iconv-h'.
36657         * modules/iconv-h-tests: New file.
36658         * tests/test-iconv-h.c: New file.
36659
36660         New module 'iconv-h'.
36661         * modules/iconv-h: New file.
36662         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
36663         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
36664         (configure.ac): Remove gl_ICONV_H.
36665         (Makefile.am): Remove rule for iconv.h.
36666
36667 2010-03-06  Bruno Haible  <bruno@clisp.org>
36668
36669         More consistent naming of *.m4 files.
36670         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
36671         * modules/wctype (Files): Update.
36672
36673         More consistent naming of *.m4 files.
36674         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
36675         * modules/wchar (Files): Update.
36676
36677 2010-03-06  Jim Meyering  <meyering@redhat.com>
36678
36679         euidaccess: relax license to LGPLv2+
36680         * modules/euidaccess (License): Relax to LGPLv2+.
36681
36682 2010-03-06  Bruno Haible  <bruno@clisp.org>
36683
36684         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
36685         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
36686         (Makefile.am): Augment lib_SOURCES instead.
36687
36688 2010-03-04  Jim Meyering  <meyering@redhat.com>
36689
36690         utime: remove obsolete module
36691         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
36692         unnecessary for years, and has been marked as obsolete for 10 months.
36693         * modules/utime: Remove file.
36694         * lib/utime.c: Remove file.
36695         * m4/utime.m4: Remove file.
36696         * m4/utimes-null.m4: Remove file.
36697         * doc/posix-functions/utime.texi (utime): Remove reference to
36698         the module.  Move the sole "fixed by gnulib" item into the
36699         "problems not fixed by Gnulib" list.
36700         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
36701
36702 2010-03-05  Simon Josefsson  <simon@josefsson.org>
36703
36704         * modules/exit (License): Relax license to LGPLv2+.
36705         (Status): Mark as obsolete.
36706         * NEWS: Mention deprecated 'exit' module.
36707         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
36708         of now obsolete 'exit'.
36709
36710 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36711
36712         fts-lgpl: remove unused module
36713         * modules/fts-lgpl: Remove.
36714         * MODULES.html.sh (func_all_modules): Adjust.
36715         * check-module (find_included_lib_files): Adjust.
36716         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
36717
36718 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
36719
36720         copy-acl: enhance Solaris ACL error handling
36721         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
36722         * lib/set-mode-acl.c (qset_acl): Likewise.
36723
36724 2010-03-02  Bruno Haible  <bruno@clisp.org>
36725
36726         spawn: Don't override the system defined values on FreeBSD 8.
36727         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
36728         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
36729         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
36730         if HAVE_POSIX_SPAWN is 1.
36731         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
36732
36733 2010-03-01  Bruno Haible  <bruno@clisp.org>
36734
36735         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
36736         regarding Automake.
36737
36738 2010-02-25  Bruno Haible  <bruno@clisp.org>
36739
36740         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
36741         * gnulib-tool: Define 'echo' as a function only before the ksh alias
36742         setting, not afterwards.
36743         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
36744
36745 2010-02-24  Eric Blake  <eblake@redhat.com>
36746
36747         bootstrap, git-version-gen: use timestamp
36748         * build-aux/git-version-gen (scriptversion): Force UTC.
36749         * build-aux/bootstrap (scriptversion): New variable.
36750
36751         bootstrap: allow older git
36752         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
36753         older than 1.6.4.  Requested by the libvirt project.
36754
36755 2010-02-23  Eric Blake  <eblake@redhat.com>
36756
36757         warn-on-use: work with old autoconf
36758         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
36759         AS_VAR semantics of autoconf 2.60.
36760         Reported by Bruno Haible.
36761
36762         bootstrap: improve some comments
36763         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
36764         clarification comments.
36765
36766         gettimeofday: provide correct function
36767         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
36768         when replacement is declared, otherwise provide gettimeofday.
36769         Reported by Michael Goffioul.
36770
36771 2010-02-23  Jim Meyering  <meyering@redhat.com>
36772
36773         lib-ignore: relax license to "unlimited", not LGPLv2+
36774         * modules/lib-ignore (License): Relax to "unlimited".
36775
36776 2010-02-23  Jim Meyering  <meyering@redhat.com>
36777
36778         lib-ignore: relax license to LGPLv2+
36779         * modules/lib-ignore (License): Relax to LGPLv2+.
36780
36781 2010-02-22  Eric Blake  <eblake@redhat.com>
36782
36783         lseek: avoid bash 3.2 broken pipe bug
36784         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
36785         warning from bash 3.2.
36786         Reported by Ben Pfaff, with analysis from Bruno Haible.
36787
36788         bootstrap: support non-FSF copyright holder
36789         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
36790         bootstrap.conf override of COPYRIGHT_HOLDER.
36791         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
36792
36793         bootstrap: interoperate with gettext 0.14.1
36794         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
36795
36796         bootstrap: allow for alternate submodule location
36797         * build-aux/bootstrap (gnulib_path): New variable; use instead of
36798         hardcoding submodule location.
36799         (gnulib_mk): Allow direct use of Makefile.am.
36800
36801         bootstrap: use GNULIB_SRCDIR to reduce disk usage
36802         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
36803         rather than reconfiguring where the submodule points.
36804
36805         gettimeofday: restore support for platforms that lack function
36806         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
36807         replacement if function is missing.
36808         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
36809         * modules/sys_time (Makefile.am): Substitute it.
36810         * lib/sys_time.in.h (gettimeofday): Check it.
36811         Reported by Michael Goffioul.
36812
36813 2010-02-21  Bruno Haible  <bruno@clisp.org>
36814
36815         * lib/stdio.in.h (obstack_printf): Fix typo.
36816
36817 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
36818
36819         vc-list-files: use bzr ls's -R option
36820         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
36821         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
36822
36823 2010-02-21  Jim Meyering  <meyering@redhat.com>
36824
36825         init.sh: fix EXEEXT shims to work also for names like test-prog
36826         * tests/init.sh: Re-exec a better shell, when needed.
36827         If the current shell lacks support for posix $(...), an init.sh-using
36828         test will now try to find a shell that supports that.  If EXEEXT is
36829         nonempty, we also require support for hyphen-in-alias-name and shell
36830         substitutions like ${var#glob}.  Failure to find such a shell results
36831         in a skipped test.
36832
36833 2010-02-21  Bruno Haible  <bruno@clisp.org>
36834
36835         Really work around around "broken pipe" error message from bash 3.2.
36836         * gnulib-tool (func_reset_sigpipe): Remove function.
36837         (echo): In bash 3.2, define to a function that uses printf.
36838         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
36839
36840 2010-02-20  Bruno Haible  <bruno@clisp.org>
36841
36842         Restore support for automake 1.9.6 with autoconf 2.61.
36843         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
36844         Reported by James Youngman <jay@gnu.org>.
36845
36846 2010-02-20  Bruno Haible  <bruno@clisp.org>
36847
36848         Improve *printf warning condition.
36849         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
36850         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
36851         and the function is overridden due to SIGPIPE emulation.
36852
36853 2010-02-20  Bruno Haible  <bruno@clisp.org>
36854
36855         * lib/stdio.in.h: Tweak comments.
36856
36857 2010-02-19  Bruno Haible  <bruno@clisp.org>
36858
36859         Make it easier to find modules. New gnulib-tool option '--find'.
36860         * gnulib-tool: New option --find.
36861         (func_usage): Document it.
36862         (func_sanitize_modulelist): New function, extracted from
36863         func_all_modules.
36864         (func_all_modules): Invoke it.
36865         * doc/gnulib-tool.texi (Which modules?): New node.
36866
36867 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
36868
36869         * lib/sys_select.in.h: Provide select replacement even if
36870         sys/select.h exists on a system, for Interix.
36871
36872 2010-02-18  Jim Meyering  <meyering@redhat.com>
36873
36874         init.sh: don't use $(...) just yet
36875         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
36876         to accommodate e.g., Solaris' /bin/sh.
36877
36878 2010-02-17  Bruno Haible  <bruno@clisp.org>
36879
36880         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
36881         Reported by Ludovic Courtès <ludo@gnu.org>.
36882
36883 2010-02-16  Simon Josefsson  <simon@josefsson.org>
36884
36885         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
36886         linking with -lintl.
36887
36888 2010-02-17  Simon Josefsson  <simon@josefsson.org>
36889
36890         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
36891         if not provided by the system's netdb.h.  Reported by
36892         ludo@gnu.org (Ludovic Courtès).
36893
36894 2010-02-15  Jim Meyering  <meyering@redhat.com>
36895
36896         init.sh: improve portability and efficiency
36897         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
36898         "dummy" in a for loop.
36899         Use '!', not '^' to select the complement of a character set used
36900         in a "case" statement.
36901         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
36902         Suggestions from Eric Blake.
36903
36904         init.sh: automatically accommodate programs with the .exe suffix
36905         Automatically arrange for an invocation of "prog" to execute the
36906         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
36907         may use the simpler "prog", yet still work when built on a system
36908         that requires specifying the added suffix.
36909         Do this by constructing a function named "prog" that invokes
36910         "prog.exe" for each .exe file in selected directories.
36911         * tests/init.sh (find_exe_basenames_): New function.
36912         (create_exe_shim_functions_): New function.
36913         (path_prepend_): Use it.
36914
36915         maint.mk: mark syntax-check sc_*.m rules as .PHONY
36916         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
36917         "make -t syntax-check" doesn't create a ton of sc_*.m files.
36918
36919 2010-02-14  Jim Meyering  <meyering@redhat.com>
36920
36921         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
36922         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
36923         (sc_prohibit_hash_pjw_without_use): New rule.
36924
36925         maint.mk: allow the default upload destination dir to be overridden
36926         * top/maint.mk (upload_dest_dir_): Define with a default that
36927         preserves the status quo.
36928         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
36929         Reported by Peter Simons.
36930
36931         maint.mk: prohibit inclusion of "hash.h" without_use
36932         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
36933
36934 2010-02-10  Jim Meyering  <meyering@redhat.com>
36935
36936         maint.mk: prohibit inclusion of "ignore-value.h" without_use
36937         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
36938
36939 2010-02-09  Eric Blake  <ebb9@byu.net>
36940         and Bruno Haible  <bruno@clisp.org>
36941
36942         obstack-printf-posix: ensure declaration
36943         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
36944         extracted from gl_FUNC_OBSTACK_PRINTF.
36945         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
36946         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36947         Likewise.
36948         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
36949         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
36950         0.
36951
36952 2010-02-08  Bruno Haible  <bruno@clisp.org>
36953
36954         gnulib-tool: Fix typo in 2010-02-07 commit.
36955         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
36956         Reported by Eric Blake.
36957
36958 2010-02-07  Bruno Haible  <bruno@clisp.org>
36959
36960         gnulib-tool: Fix up caching patches.
36961         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
36962         option --no-cache. Use associative arrays when supported by the shell.
36963         (sed_comments): New variable.
36964         (modcache): Renamed from do_cache.
36965         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
36966         abbreviate unnecessarily.
36967         (have_associative): New variable.
36968         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
36969         way also for ksh and zsh.
36970         (func_init_sed_convert_to_cache_statements): New function, extracted
36971         from func_cache_lookup_module. Add support for associative arrays.
36972         Don't set the c_MODULE_cached variable here. Ignore all lines before
36973         the first field header. Remove only the final newline, not all trailing
36974         newlines. Support empty fields correctly. Limit the use of 'eval' to
36975         assignments.
36976         (func_get_description, func_get_status, func_get_notice,
36977         func_get_applicability, func_get_filelist, func_get_dependencies,
36978         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
36979         func_get_automake_snippet, func_get_include_directive,
36980         func_get_link_directive, func_get_license, func_get_maintainer):
36981         Update documentation. List the unoptimized code first. Add support for
36982         associative arrays. Limit the use of 'eval' to assignments.
36983         (func_get_applicability): Undo stylistic pessimisations.
36984         (func_get_automake_snippet, func_get_include_directive): Reduce code
36985         duplication.
36986         (func_modules_transitive_closure, func_modules_add_dummy,
36987         func_modules_notice, func_modules_to_filelist, func_add_file,
36988         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
36989         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
36990         func_create_testdir, func_create_megatestdir): Update documentation.
36991
36992 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36993
36994         * gnulib-tool (func_cache_lookup_module): Store the module name
36995         belonging to the cache variable; error out if two different
36996         module names map to the same cache variable name.
36997
36998 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36999
37000         gnulib-tool: Make caching optional.
37001         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
37002         Update matching short versions of --no-changelog.
37003         (func_usage): Update.
37004         (sed_extract_cache_prog): Renamed from ...
37005         (sed_extract_prog): ... this; revert to old extraction script.
37006         (func_get_description, func_get_status)
37007         (func_get_notice, func_get_applicability, func_get_filelist)
37008         (func_get_dependencies, func_get_autoconf_early_snippet)
37009         (func_get_autoconf_snippet, func_get_automake_snippet)
37010         (func_get_include_directive, func_get_link_directive)
37011         (func_get_license, func_get_maintainer): If $do_cache is false,
37012         use old, non-caching extraction scripts.
37013         Suggestion by Bruno Haible.
37014
37015 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37016
37017         gnulib-tool: cache module metainformation.
37018         * gnulib-tool (sed_extract_prog): Match newline before each
37019         header, and rewrite header to a shell variable suffix.
37020         (func_cache_var, func_cache_lookup_module): New functions,
37021         to turn a module name into a cache variable prefix, and to
37022         look up and cache module metainformation.
37023         (func_get_description, func_get_status)
37024         (func_get_notice, func_get_applicability, func_get_filelist)
37025         (func_get_dependencies, func_get_autoconf_early_snippet)
37026         (func_get_autoconf_snippet, func_get_automake_snippet)
37027         (func_get_include_directive, func_get_link_directive)
37028         (func_get_license, func_get_maintainer): Use
37029         func_cache_lookup_module.
37030
37031 2010-02-07  Bruno Haible  <bruno@clisp.org>
37032
37033         fnctl: Fix missing dependency.
37034         * modules/fcntl (Depends-on): Add getdtablesize.
37035         Reported by John W. Eaton <jwe@gnu.org>.
37036
37037 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37038
37039         Argp: fix recognition of short alias options.
37040
37041         * lib/argp-parse.c (convert_options): Fix improper use of
37042         `|' between character values.
37043         * tests/test-argp.c (group1_option): New alias option
37044         --read (-r).
37045         (group1_parser): Special handling for 'r'.
37046         (test15): New test case.
37047         (test_fun): Add test15.
37048         * tests/test-argp-2.sh: Update expected --help and --usage
37049         outputs.
37050
37051 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37052
37053         * tests/test-argp.c: Fix indentation.
37054
37055 2010-02-04  Eric Blake  <ebb9@byu.net>
37056
37057         gettimeofday: expose type of second argument
37058         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
37059         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
37060         * tests/test-gettimeofday.c: Use it to silence warning.
37061         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
37062         the issue.
37063
37064 2010-02-03  Jim Meyering  <meyering@redhat.com>
37065
37066         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
37067         * lib/regcomp.c (TYPE_SIGNED): Define.
37068         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
37069
37070         regcomp.c: avoid a new -Wshadow warning
37071         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
37072
37073 2010-02-01  Jim Meyering  <meyering@redhat.com>
37074
37075         removing useless parentheses in cpp #define directives
37076         For motivation, see commit c0221df4, "define STREQ(a,b)
37077         consistently, removing useless parentheses"
37078         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
37079         * lib/mountlist.c (MNT_IGNORE): Likewise.
37080         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
37081
37082 2010-02-01  Eric Blake  <ebb9@byu.net>
37083
37084         sys_time: use link-warning
37085         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
37086         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
37087         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
37088         * modules/sys_time (Depends-on): Add warn-on-use.
37089         (Makefile.am): Always build replacement.
37090         (configure.ac): Update substitutions.
37091         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
37092         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
37093         bother with SYS_TIME_H.
37094         * modules/gettimeofday (configure.ac): Declare indicator.
37095         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
37096         in use.
37097
37098         closein-tests: silence compiler warning
37099         * tests/test-closein.c (main): Ignore fread result.
37100         * modules/closein-tests (Depends-on): Add ignore-value.
37101
37102         tests: silence warning about system return
37103         * tests/test-areadlink-with-size.c (main): Ignore system result.
37104         * tests/test-areadlink.c (main): Likewise.
37105         * tests/test-areadlinkat-with-size.c (main): Likewise.
37106         * tests/test-areadlinkat.c (main): Likewise.
37107         * tests/test-canonicalize-lgpl.c (main): Likewise.
37108         * tests/test-canonicalize.c (main): Likewise.
37109         * tests/test-chown.c (main): Likewise.
37110         * tests/test-fchownat.c (main): Likewise.
37111         * tests/test-fdutimensat.c (main): Likewise.
37112         * tests/test-fstatat.c (main): Likewise.
37113         * tests/test-futimens.c (main): Likewise.
37114         * tests/test-lchown.c (main): Likewise.
37115         * tests/test-link.c (main): Likewise.
37116         * tests/test-linkat.c (main): Likewise.
37117         * tests/test-lstat.c (main): Likewise.
37118         * tests/test-mkdir.c (main): Likewise.
37119         * tests/test-mkdirat.c (main): Likewise.
37120         * tests/test-mkfifo.c (main): Likewise.
37121         * tests/test-mkfifoat.c (main): Likewise.
37122         * tests/test-mknod.c (main): Likewise.
37123         * tests/test-readlink.c (main): Likewise.
37124         * tests/test-remove.c (main): Likewise.
37125         * tests/test-rename.c (main): Likewise.
37126         * tests/test-renameat.c (main): Likewise.
37127         * tests/test-rmdir.c (main): Likewise.
37128         * tests/test-symlink.c (main): Likewise.
37129         * tests/test-symlinkat.c (main): Likewise.
37130         * tests/test-unlink.c (main): Likewise.
37131         * tests/test-unlinkat.c (main): Likewise.
37132         * tests/test-utimens.c (main): Likewise.
37133         * tests/test-utimensat.c (main): Likewise.
37134         * modules/areadlink-tests (Depends-on): Add ignore-value.
37135         * modules/areadlink-with-size-tests (Depends-on): Likewise.
37136         * modules/areadlinkat-tests (Depends-on): Likewise.
37137         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
37138         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37139         * modules/canonicalize-tests (Depends-on): Likewise.
37140         * modules/chown-tests (Depends-on): Likewise.
37141         * modules/fdutimensat-tests (Depends-on): Likewise.
37142         * modules/futimens-tests (Depends-on): Likewise.
37143         * modules/lchown-tests (Depends-on): Likewise.
37144         * modules/link-tests (Depends-on): Likewise.
37145         * modules/linkat-tests (Depends-on): Likewise.
37146         * modules/lstat-tests (Depends-on): Likewise.
37147         * modules/mkdir-tests (Depends-on): Likewise.
37148         * modules/mkfifo-tests (Depends-on): Likewise.
37149         * modules/mkfifoat-tests (Depends-on): Likewise.
37150         * modules/mknod-tests (Depends-on): Likewise.
37151         * modules/openat-tests (Depends-on): Likewise.
37152         * modules/readlink-tests (Depends-on): Likewise.
37153         * modules/remove-tests (Depends-on): Likewise.
37154         * modules/rename-tests (Depends-on): Likewise.
37155         * modules/renameat-tests (Depends-on): Likewise.
37156         * modules/rmdir-tests (Depends-on): Likewise.
37157         * modules/symlink-tests (Depends-on): Likewise.
37158         * modules/symlinkat-tests (Depends-on): Likewise.
37159         * modules/unlink-tests (Depends-on): Likewise.
37160         * modules/utimens-tests (Depends-on): Likewise.
37161         * modules/utimensat-tests (Depends-on): Likewise.
37162
37163 2010-01-31  Bruno Haible  <bruno@clisp.org>
37164
37165         Perform the same test for many <math.h> functions.
37166         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
37167         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
37168         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
37169         of gl_MATHFUNC.
37170         * modules/acos (configure.ac): Likewise.
37171         * modules/asin (configure.ac): Likewise.
37172         * modules/atan (configure.ac): Likewise.
37173         * modules/atan2 (configure.ac): Likewise.
37174         * modules/cbrt (configure.ac): Likewise.
37175         * modules/copysign (configure.ac): Likewise.
37176         * modules/cos (configure.ac): Likewise.
37177         * modules/cosh (configure.ac): Likewise.
37178         * modules/erf (configure.ac): Likewise.
37179         * modules/erfc (configure.ac): Likewise.
37180         * modules/exp (configure.ac): Likewise.
37181         * modules/fmod (configure.ac): Likewise.
37182         * modules/hypot (configure.ac): Likewise.
37183         * modules/j0 (configure.ac): Likewise.
37184         * modules/j1 (configure.ac): Likewise.
37185         * modules/jn (configure.ac): Likewise.
37186         * modules/lgamma (configure.ac): Likewise.
37187         * modules/log (configure.ac): Likewise.
37188         * modules/log10 (configure.ac): Likewise.
37189         * modules/log1p (configure.ac): Likewise.
37190         * modules/pow (configure.ac): Likewise.
37191         * modules/remainder (configure.ac): Likewise.
37192         * modules/sin (configure.ac): Likewise.
37193         * modules/sinh (configure.ac): Likewise.
37194         * modules/tan (configure.ac): Likewise.
37195         * modules/tanh (configure.ac): Likewise.
37196         * modules/y0 (configure.ac): Likewise.
37197         * modules/y1 (configure.ac): Likewise.
37198         * modules/yn (configure.ac): Likewise.
37199         Suggested by Paolo Bonzini.
37200
37201 2010-01-31  Bruno Haible  <bruno@clisp.org>
37202
37203         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
37204
37205 2010-01-31  Bruno Haible  <bruno@clisp.org>
37206
37207         Work around getdelim() bug on FreeBSD 8.0.
37208         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
37209         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
37210         not work.
37211         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
37212         is 1.
37213         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
37214         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
37215         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
37216         a non-zero size.
37217         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
37218
37219 2010-01-31  Bruno Haible  <bruno@clisp.org>
37220
37221         Work around getline() bug on FreeBSD 8.0.
37222         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
37223         and a non-zero size.
37224         * tests/test-getline.c (main): Likewise.
37225         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
37226         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
37227
37228 2010-01-28  Eric Blake  <ebb9@byu.net>
37229
37230         regex: fix build failure
37231         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
37232         platforms.
37233
37234 2010-01-28  Jim Meyering  <meyering@redhat.com>
37235
37236         regex: do not ignore memory allocation failure
37237         * lib/regex_internal.c (create_cd_newstate): Detect
37238         re_node_set_init_copy failure.   Extracted from glibc commit
37239         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37240
37241         regex: sync more white-space changes from libc
37242         * lib/regex_internal.c: White-space only changes.
37243         * lib/regexec.c: Likewise.
37244
37245         regex: add many uses of __attribute_warn_unused_result__
37246         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
37247         * lib/regexec.c: Likewise.
37248         Extracted from a messy glibc commit.
37249
37250         regcomp.c: spelling and merge-artifact from glibc
37251         * lib/regcomp.c: Merge remainder of glibc's
37252         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37253
37254         regcomp.c: sync white-space changes from glibc
37255         * lib/regcomp.c: Merge to accommodate white space
37256         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37257
37258         regcomp.c: do not ignore internal return values
37259         * lib/regcomp.c: Do not ignore internal return values.
37260         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
37261         but without its white-space changes and spelling fixes.
37262
37263         regex_internal.h: define __attribute_warn_unused_result__
37264         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
37265
37266         maint: add a syntax-check rule to check for vulnerable Makefile.in
37267         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
37268
37269 2010-01-27  Jim Meyering  <meyering@redhat.com>
37270
37271         ncftpput-ftp: clean up spaces
37272         * build-aux/ncftpput-ftp: Make Copyright line consistent.
37273         Remove trailing blanks.
37274
37275 2010-01-27  Simon Josefsson  <simon@josefsson.org>
37276
37277         * build-aux/git-version-gen: Fix copyright statement.
37278         * build-aux/gnupload: Likewise.
37279         * tests/test-arcfour.c: Likewise.
37280         * tests/test-arctwo.c: Likewise.
37281         * tests/test-count-one-bits.c: Likewise.
37282         * tests/test-crc.c: Likewise.
37283         * tests/test-des.c: Likewise.
37284         * tests/test-gc-arcfour.c: Likewise.
37285         * tests/test-gc-arctwo.c: Likewise.
37286         * tests/test-gc-des.c: Likewise.
37287         * tests/test-gc-hmac-md5.c: Likewise.
37288         * tests/test-gc-hmac-sha1.c: Likewise.
37289         * tests/test-gc-md2.c: Likewise.
37290         * tests/test-gc-md4.c: Likewise.
37291         * tests/test-gc-md5.c: Likewise.
37292         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37293         * tests/test-gc-rijndael.c: Likewise.
37294         * tests/test-gc-sha1.c: Likewise.
37295         * tests/test-gc.c: Likewise.
37296         * tests/test-gethostname.c: Likewise.
37297         * tests/test-gettimeofday.c: Likewise.
37298         * tests/test-hash.c: Likewise.
37299         * tests/test-hmac-md5.c: Likewise.
37300         * tests/test-hmac-sha1.c: Likewise.
37301         * tests/test-md2.c: Likewise.
37302         * tests/test-md4.c: Likewise.
37303         * tests/test-md5.c: Likewise.
37304         * tests/test-memchr.c: Likewise.
37305         * tests/test-memchr2.c: Likewise.
37306         * tests/test-memcmp.c: Likewise.
37307         * tests/test-memmem.c: Likewise.
37308         * tests/test-memrchr.c: Likewise.
37309         * tests/test-rawmemchr.c: Likewise.
37310         * tests/test-read-file.c: Likewise.
37311         * tests/test-rijndael.c: Likewise.
37312         * tests/test-sockets.c: Likewise.
37313         * tests/test-strchrnul.c: Likewise.
37314         * tests/test-strstr.c: Likewise.
37315         * tests/test-strtod.c: Likewise.
37316         * build-aux/ncftpput-ftp: Likewise.
37317
37318 2010-01-26  Eric Blake  <ebb9@byu.net>
37319
37320         ignore-value: update recommended header name
37321         * modules/ignore-value (Include): Only use <> for headers that
37322         exist in glibc.
37323
37324 2010-01-26  Jim Meyering  <meyering@redhat.com>
37325
37326         test-userspec.c: avoid compiler warnings
37327         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
37328         and "initialization discards qualifiers..." warnings.
37329         Put the first "uid" in its own scope, and make char* members "const".
37330
37331 2010-01-25  Bruno Haible  <bruno@clisp.org>
37332
37333         gnulib-tool: Make warning diagnostics consistent.
37334         * gnulib-tool (func_warning): New function.
37335         Use it everywhere where gnulib-tool produces output to stderr and it is
37336         not a fatal error.
37337
37338 2010-01-25  Bruno Haible  <bruno@clisp.org>
37339
37340         Fix test dependencies.
37341         * modules/xstrtol-tests (Depends-on): Add inttypes.
37342         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
37343
37344 2010-01-25 Pádraig Brady <P@draigBrady.com>
37345
37346         syntax-check: detect incorrect boolean macro values in config.h
37347         * modules/maintainer-makefile (configure.ac): Parameterize the location
37348         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
37349         The logic is from Eric Blake and the location indicated by Jim Meyering.
37350         Note the more natural CONFIG_HEADER name is prohibited by automake
37351         for backwards compatibility reasons.
37352         * top/maint.mk (sc_Wundef_boolean): New rule.
37353
37354 2010-01-25  Jim Meyering  <meyering@redhat.com>
37355
37356         bootstrap: detect MacOS 10.6's shasum, too
37357         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
37358         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
37359
37360 2010-01-23  Jim Meyering  <meyering@redhat.com>
37361
37362         xstrtoll: new module
37363         * modules/xstrtoll: New file.
37364         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
37365         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
37366         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
37367         ./configure fails if you use this module and lack "long long".
37368         * modules/xstrtoll-tests: New module.
37369         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
37370         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
37371         new init.sh-based test framework.
37372
37373 2010-01-24  Bruno Haible  <bruno@clisp.org>
37374
37375         Tests for module 'yn'.
37376         * modules/yn-tests: New file.
37377         * tests/test-yn.c: New file.
37378
37379         Tests for module 'y1'.
37380         * modules/y1-tests: New file.
37381         * tests/test-y1.c: New file.
37382
37383         Tests for module 'y0'.
37384         * modules/y0-tests: New file.
37385         * tests/test-y0.c: New file.
37386
37387         Tests for module 'tanh'.
37388         * modules/tanh-tests: New file.
37389         * tests/test-tanh.c: New file.
37390
37391         Tests for module 'tan'.
37392         * modules/tan-tests: New file.
37393         * tests/test-tan.c: New file.
37394
37395         Tests for module 'sqrt'.
37396         * modules/sqrt-tests: New file.
37397         * tests/test-sqrt.c: New file.
37398
37399         Tests for module 'sinh'.
37400         * modules/sinh-tests: New file.
37401         * tests/test-sinh.c: New file.
37402
37403         Tests for module 'sin'.
37404         * modules/sin-tests: New file.
37405         * tests/test-sin.c: New file.
37406
37407         Tests for module 'rint'.
37408         * modules/rint-tests: New file.
37409         * tests/test-rint.c: New file.
37410
37411         Tests for module 'remainder'.
37412         * modules/remainder-tests: New file.
37413         * tests/test-remainder.c: New file.
37414
37415         Tests for module 'pow'.
37416         * modules/pow-tests: New file.
37417         * tests/test-pow.c: New file.
37418
37419         Tests for module 'nextafter'.
37420         * modules/nextafter-tests: New file.
37421         * tests/test-nextafter.c: New file.
37422
37423         Tests for module 'modf'.
37424         * modules/modf-tests: New file.
37425         * tests/test-modf.c: New file.
37426
37427         Tests for module 'logb'.
37428         * modules/logb-tests: New file.
37429         * tests/test-logb.c: New file.
37430
37431         Tests for module 'log1p'.
37432         * modules/log1p-tests: New file.
37433         * tests/test-log1p.c: New file.
37434
37435         Tests for module 'log10'.
37436         * modules/log10-tests: New file.
37437         * tests/test-log10.c: New file.
37438
37439         Tests for module 'log'.
37440         * modules/log-tests: New file.
37441         * tests/test-log.c: New file.
37442
37443         Tests for module 'lgamma'.
37444         * modules/lgamma-tests: New file.
37445         * tests/test-lgamma.c: New file.
37446
37447         Tests for module 'ldexp'.
37448         * modules/ldexp-tests: New file.
37449         * tests/test-ldexp.c: New file.
37450
37451         Tests for module 'jn'.
37452         * modules/jn-tests: New file.
37453         * tests/test-jn.c: New file.
37454
37455         Tests for module 'j1'.
37456         * modules/j1-tests: New file.
37457         * tests/test-j1.c: New file.
37458
37459         Tests for module 'j0'.
37460         * modules/j0-tests: New file.
37461         * tests/test-j0.c: New file.
37462
37463         Tests for module 'hypot'.
37464         * modules/hypot-tests: New file.
37465         * tests/test-hypot.c: New file.
37466
37467         Tests for module 'fmod'.
37468         * modules/fmod-tests: New file.
37469         * tests/test-fmod.c: New file.
37470
37471         Tests for module 'fabs'.
37472         * modules/fabs-tests: New file.
37473         * tests/test-fabs.c: New file.
37474
37475         Tests for module 'exp'.
37476         * modules/exp-tests: New file.
37477         * tests/test-exp.c: New file.
37478
37479         Tests for module 'erfc'.
37480         * modules/erfc-tests: New file.
37481         * tests/test-erfc.c: New file.
37482
37483         Tests for module 'erf'.
37484         * modules/erf-tests: New file.
37485         * tests/test-erf.c: New file.
37486
37487         Tests for module 'cosh'.
37488         * modules/cosh-tests: New file.
37489         * tests/test-cosh.c: New file.
37490
37491         Tests for module 'cos'.
37492         * modules/cos-tests: New file.
37493         * tests/test-cos.c: New file.
37494
37495         Tests for module 'copysign'.
37496         * modules/copysign-tests: New file.
37497         * tests/test-copysign.c: New file.
37498
37499         Tests for module 'cbrt'.
37500         * modules/cbrt-tests: New file.
37501         * tests/test-cbrt.c: New file.
37502
37503         Tests for module 'atan2'.
37504         * modules/atan2-tests: New file.
37505         * tests/test-atan2.c: New file.
37506
37507         Tests for module 'atan'.
37508         * modules/atan-tests: New file.
37509         * tests/test-atan.c: New file.
37510
37511         Tests for module 'asin'.
37512         * modules/asin-tests: New file.
37513         * tests/test-asin.c: New file.
37514
37515         Tests for module 'acos'.
37516         * modules/acos-tests: New file.
37517         * tests/test-acos.c: New file.
37518
37519 2010-01-24  Bruno Haible  <bruno@clisp.org>
37520
37521         Fix tests for common <math.h> functions.
37522         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
37523         code snippet that references the function pointer, rather than merely
37524         calling the function. Substitute the FUNC_LIBM variable.
37525         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
37526         * modules/acos (configure.ac): Likewise.
37527         * modules/asin (configure.ac): Likewise.
37528         * modules/atan (configure.ac): Likewise.
37529         * modules/atan2 (configure.ac): Likewise.
37530         * modules/cbrt (configure.ac): Likewise.
37531         * modules/copysign (configure.ac): Likewise.
37532         * modules/cos (configure.ac): Likewise.
37533         * modules/cosh (configure.ac): Likewise.
37534         * modules/erf (configure.ac): Likewise.
37535         * modules/erfc (configure.ac): Likewise.
37536         * modules/exp (configure.ac): Likewise.
37537         * modules/fabs (configure.ac): Likewise.
37538         * modules/fmod (configure.ac): Likewise.
37539         * modules/hypot (configure.ac): Likewise.
37540         * modules/j0 (configure.ac): Likewise.
37541         * modules/j1 (configure.ac): Likewise.
37542         * modules/jn (configure.ac): Likewise.
37543         * modules/ldexp (configure.ac): Likewise.
37544         * modules/lgamma (configure.ac): Likewise.
37545         * modules/log (configure.ac): Likewise.
37546         * modules/log10 (configure.ac): Likewise.
37547         * modules/log1p (configure.ac): Likewise.
37548         * modules/logb (configure.ac): Likewise.
37549         * modules/modf (configure.ac): Likewise.
37550         * modules/nextafter (configure.ac): Likewise.
37551         * modules/pow (configure.ac): Likewise.
37552         * modules/remainder (configure.ac): Likewise.
37553         * modules/rint (configure.ac): Likewise.
37554         * modules/sin (configure.ac): Likewise.
37555         * modules/sinh (configure.ac): Likewise.
37556         * modules/tan (configure.ac): Likewise.
37557         * modules/tanh (configure.ac): Likewise.
37558         * modules/y0 (configure.ac): Likewise.
37559         * modules/y1 (configure.ac): Likewise.
37560         * modules/yn (configure.ac): Likewise.
37561
37562 2010-01-24  Bruno Haible  <bruno@clisp.org>
37563
37564         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
37565         * tests/test-acosl.c (x): New variable.
37566         (main): Store argument in x and fetch it from x.
37567         * tests/test-asinl.c (x): New variable.
37568         (main): Store argument in x and fetch it from x.
37569         * tests/test-atanl.c (x): New variable.
37570         (main): Store argument in x and fetch it from x.
37571         * tests/test-cosl.c (x): New variable.
37572         (main): Store argument in x and fetch it from x.
37573         * tests/test-expl.c (x): New variable.
37574         (main): Store argument in x and fetch it from x.
37575         * tests/test-logl.c (x): New variable.
37576         (main): Store argument in x and fetch it from x.
37577         * tests/test-sinl.c (x): New variable.
37578         (main): Store argument in x and fetch it from x.
37579         * tests/test-sqrtl.c (x): New variable.
37580         (main): Store argument in x and fetch it from x.
37581         * tests/test-tanl.c (x): New variable.
37582         (main): Store argument in x and fetch it from x.
37583
37584 2010-01-24  Bruno Haible  <bruno@clisp.org>
37585
37586         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
37587         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
37588         assignments to the initial TESTS_ENVIRONMENT.
37589         * doc/gnulib.texi (Unit test modules): Document it.
37590         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
37591         TESTS_ENVIRONMENT.
37592         * modules/btowc-tests (Makefile.am): Likewise.
37593         * modules/c-stack-tests (Makefile.am): Likewise.
37594         * modules/c-strcase-tests (Makefile.am): Likewise.
37595         * modules/copy-file-tests (Makefile.am): Likewise.
37596         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
37597         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
37598         * modules/mbrtowc-tests (Makefile.am): Likewise.
37599         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37600         * modules/mbscasestr-tests (Makefile.am): Likewise.
37601         * modules/mbschr-tests (Makefile.am): Likewise.
37602         * modules/mbscspn-tests (Makefile.am): Likewise.
37603         * modules/mbsinit-tests (Makefile.am): Likewise.
37604         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37605         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
37606         * modules/mbspbrk-tests (Makefile.am): Likewise.
37607         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37608         * modules/mbsrchr-tests (Makefile.am): Likewise.
37609         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
37610         * modules/mbsspn-tests (Makefile.am): Likewise.
37611         * modules/mbsstr-tests (Makefile.am): Likewise.
37612         * modules/nl_langinfo-tests (Makefile.am): Likewise.
37613         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
37614         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37615         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37616         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37617         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37618         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
37619         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37620         * modules/wcrtomb-tests (Makefile.am): Likewise.
37621         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
37622         * modules/wcsrtombs-tests (Makefile.am): Likewise.
37623         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
37624         assignments from TESTS_ENVIRONMENT.
37625         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
37626         augmentation.
37627         * modules/argp-version-etc-tests (Makefile.am): Likewise.
37628         * modules/atexit-tests (Makefile.am): Likewise.
37629         * modules/binary-io-tests (Makefile.am): Likewise.
37630         * modules/closein-tests (Makefile.am): Likewise.
37631         * modules/dprintf-posix-tests (Makefile.am): Likewise.
37632         * modules/exclude-tests (Makefile.am): Likewise.
37633         * modules/fflush-tests (Makefile.am): Likewise.
37634         * modules/fpending-tests (Makefile.am): Likewise.
37635         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37636         * modules/freadahead-tests (Makefile.am): Likewise.
37637         * modules/freadptr-tests (Makefile.am): Likewise.
37638         * modules/freadseek-tests (Makefile.am): Likewise.
37639         * modules/fseek-tests (Makefile.am): Likewise.
37640         * modules/fseeko-tests (Makefile.am): Likewise.
37641         * modules/ftell-tests (Makefile.am): Likewise.
37642         * modules/ftello-tests (Makefile.am): Likewise.
37643         * modules/idpriv-drop-tests (Makefile.am): Likewise.
37644         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
37645         * modules/lseek-tests (Makefile.am): Likewise.
37646         * modules/parse-duration-tests (Makefile.am): Likewise.
37647         * modules/perror-tests (Makefile.am): Likewise.
37648         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
37649         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
37650         * modules/pipe-tests (Makefile.am): Likewise.
37651         * modules/pread-tests (Makefile.am): Likewise.
37652         * modules/printf-posix-tests (Makefile.am): Likewise.
37653         * modules/select-tests (Makefile.am): Likewise.
37654         * modules/sigpipe-tests (Makefile.am): Likewise.
37655         * modules/tsearch-tests (Makefile.am): Likewise.
37656         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
37657         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
37658         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37659         * modules/uniwidth/width-tests (Makefile.am): Likewise.
37660         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
37661         * modules/version-etc-tests (Makefile.am): Likewise.
37662         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37663         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37664         * modules/xalloc-die-tests (Makefile.am): Likewise.
37665         * modules/xprintf-posix-tests (Makefile.am): Likewise.
37666         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37667         * modules/xstrtol-tests (Makefile.am): Likewise.
37668         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37669         * modules/yesno-tests (Makefile.am): Likewise.
37670         Suggested by Jim Meyering.
37671
37672 2010-01-24  Bruno Haible  <bruno@clisp.org>
37673
37674         More documentation.
37675         * doc/gnulib.texi (Writing modules): New chapter.
37676         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
37677         the new chapter.
37678
37679 2010-01-24  Jim Meyering  <meyering@redhat.com>
37680
37681         maint.mk: do not prepend "./" after filtering
37682         * top/maint.mk (_prepend_srcdir_prefix): New variable
37683         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
37684         "./" when $(srcdir) is ".".
37685
37686         define STREQ(a,b) consistently, removing useless parentheses
37687         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
37688         since the only risk is that "a" or "b" contains an unparenthesized
37689         comma, but if either did that, STREQ would have 3 or more arguments.
37690         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
37691         * lib/fts.c (STREQ): Remove unnecessary parentheses.
37692         * lib/hash-triple.c (STREQ): Likewise.
37693         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
37694         * lib/getugroups.c (STREQ): Likewise.
37695
37696 2010-01-23  Jim Meyering  <meyering@redhat.com>
37697
37698         maint.mk: fix syntax-check in a non-srcdir build directory
37699         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
37700         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
37701
37702 2010-01-22  Jim Meyering  <meyering@redhat.com>
37703
37704         userspec: add unit tests
37705         * tests/test-userspec.c: New file.
37706         * modules/userspec-tests: Likewise.
37707
37708 2010-01-21  Jim Meyering  <meyering@redhat.com>
37709
37710         maint.mk: handle source file names containing "." robustly
37711         * top/maint.mk (_dot_escaped_srcdir): Define.
37712         (VC_LIST): Use it in LHS of sed substitution.
37713
37714 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
37715
37716         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
37717         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
37718         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
37719         from a non-srcdir build.
37720
37721 2010-01-20  Eric Blake  <ebb9@byu.net>
37722
37723         warn-on-use: use instead of link-warning
37724         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
37725         * modules/unistd (Depends-on, Makefile.am): Likewise.
37726         * modules/arpa_inet (Depends-on): Replace link-warning with
37727         warn-on-use.
37728         (Makefile.am): Update rules accordingly.
37729         * modules/ctype (Depends-on, Makefile.am): Likewise.
37730         * modules/dirent (Depends-on, Makefile.am): Likewise.
37731         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
37732         * modules/inttypes (Depends-on, Makefile.am): Likewise.
37733         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37734         * modules/locale (Depends-on, Makefile.am): Likewise.
37735         * modules/math (Depends-on, Makefile.am): Likewise.
37736         * modules/search (Depends-on, Makefile.am): Likewise.
37737         * modules/signal (Depends-on, Makefile.am): Likewise.
37738         * modules/spawn (Depends-on, Makefile.am): Likewise.
37739         * modules/stdlib (Depends-on, Makefile.am): Likewise.
37740         * modules/string (Depends-on, Makefile.am): Likewise.
37741         * modules/strings (Depends-on, Makefile.am): Likewise.
37742         * modules/sys_file (Depends-on, Makefile.am): Likewise.
37743         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
37744         * modules/sys_select (Depends-on, Makefile.am): Likewise.
37745         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
37746         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
37747         * modules/sys_times (Depends-on, Makefile.am): Likewise.
37748         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
37749         * modules/wchar (Depends-on, Makefile.am): Likewise.
37750         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
37751         should be poisoned.
37752         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
37753         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
37754         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
37755         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37756         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
37757         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37758         * m4/math_h.m4 (gl_MATH_H): Likewise.
37759         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37760         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37761         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37762         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37763         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37764         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37765         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
37766         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
37767         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
37768         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37769         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37770         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37771         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
37772         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
37773         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37774         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37775         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
37776         GL_LINK_WARNING.
37777         * lib/ctype.in.h: Likewise.
37778         * lib/dirent.in.h: Likewise.
37779         * lib/fcntl.in.h: Likewise.
37780         * lib/inttypes.in.h: Likewise.
37781         * lib/langinfo.in.h: Likewise.
37782         * lib/locale.in.h: Likewise.
37783         * lib/math.in.h: Likewise.
37784         * lib/search.in.h: Likewise.
37785         * lib/signal.in.h: Likewise.
37786         * lib/spawn.in.h: Likewise.
37787         * lib/stdio.in.h: Likewise.
37788         * lib/stdlib.in.h: Likewise.
37789         * lib/string.in.h: Likewise.
37790         * lib/strings.in.h: Likewise.
37791         * lib/sys_file.in.h: Likewise.
37792         * lib/sys_ioctl.in.h: Likewise.
37793         * lib/sys_select.in.h: Likewise.
37794         * lib/sys_socket.in.h: Likewise.
37795         * lib/sys_stat.in.h: Likewise.
37796         * lib/sys_times.in.h: Likewise.
37797         * lib/sys_utsname.in.h: Likewise.
37798         * lib/unistd.in.h: Likewise.
37799         * lib/wchar.in.h: Likewise.
37800
37801 2010-01-20  Bruno Haible  <bruno@clisp.org>
37802
37803         Avoid duplicate -lm.
37804         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
37805         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
37806         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
37807         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
37808         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
37809         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
37810         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
37811         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
37812         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
37813         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
37814         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
37815         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
37816         Reported by Paolo Bonzini.
37817
37818 2010-01-19  Bruno Haible  <bruno@clisp.org>
37819
37820         langinfo, nl_langinfo: Relicense under LGPLv2+.
37821         * modules/langinfo (License): Change to LGPLv2+.
37822         * modules/nl_langinfo (License): Likewise.
37823         Patch by David Lutterkort <lutter@redhat.com>.
37824
37825 2010-01-19  Bruno Haible  <bruno@clisp.org>
37826
37827         Avoid compilation error with cc on OSF/1 5.1.
37828         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
37829         statement, not before.
37830         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37831
37832 2010-01-18  Bruno Haible  <bruno@clisp.org>
37833
37834         Avoid a link error due to the __printf__ symbol.
37835         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
37836         and 2.6.x.
37837         (__format__, __printf__): Remove definitions.
37838         * lib/argp-fmtstream.h: Likewise.
37839         * lib/argp.h: Likewise.
37840         * lib/error.h: Likewise.
37841         * lib/vasnprintf.h: Likewise.
37842         * lib/xprintf.h: Likewise.
37843         * lib/xvasprintf.h: Likewise.
37844         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37845
37846 2010-01-18  Bruno Haible  <bruno@clisp.org>
37847
37848         Tests for module 'tanl'.
37849         * modules/tanl-tests: New file.
37850         * tests/test-tanl.c: New file.
37851
37852         Tests for module 'sqrtl'.
37853         * modules/sqrtl-tests: New file.
37854         * tests/test-sqrtl.c: New file.
37855
37856         Tests for module 'sinl'.
37857         * modules/sinl-tests: New file.
37858         * tests/test-sinl.c: New file.
37859
37860         Tests for module 'logl'.
37861         * modules/logl-tests: New file.
37862         * tests/test-logl.c: New file.
37863
37864         Tests for module 'expl'.
37865         * modules/expl-tests: New file.
37866         * tests/test-expl.c: New file.
37867
37868         Tests for module 'cosl'.
37869         * modules/cosl-tests: New file.
37870         * tests/test-cosl.c: New file.
37871
37872         Tests for module 'atanl'.
37873         * modules/atanl-tests: New file.
37874         * tests/test-atanl.c: New file.
37875
37876         Tests for module 'asinl'.
37877         * modules/asinl-tests: New file.
37878         * tests/test-asinl.c: New file.
37879
37880         Tests for module 'acosl'.
37881         * modules/acosl-tests: New file.
37882         * tests/test-acosl.c: New file.
37883
37884         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37885         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
37886         tanl): Use the standard gnulib idiom.
37887         * lib/cosl.c: Don't include trigl.c and sincosl.c.
37888         * lib/sinl.c: Likewise.
37889         * lib/tanl.c: Don't include trigl.c.
37890         (kernel_tanl): Make static.
37891         * lib/sincosl.c: Include trigl.h first.
37892         * lib/trigl.c: Likewise.
37893         * m4/acosl.m4: New file.
37894         * m4/asinl.m4: New file.
37895         * m4/atanl.m4: New file.
37896         * m4/cosl.m4: New file.
37897         * m4/expl.m4: New file.
37898         * m4/logl.m4: New file.
37899         * m4/sinl.m4: New file.
37900         * m4/sqrtl.m4: New file.
37901         * m4/tanl.m4: New file.
37902         * m4/mathl.m4: Remove file.
37903         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
37904         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37905         Don't initialize GNULIB_MATHL.
37906         * modules/acosl: New file.
37907         * modules/asinl: New file.
37908         * modules/atanl: New file.
37909         * modules/cosl: New file.
37910         * modules/expl: New file.
37911         * modules/logl: New file.
37912         * modules/sinl: New file.
37913         * modules/sqrtl: New file.
37914         * modules/tanl: New file.
37915         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
37916         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
37917         substitute GNULIB_MATHL.
37918         * modules/mathl: Rewritten.
37919         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
37920         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
37921         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
37922         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
37923         * doc/posix-functions/expl.texi: Mention the 'expl' module.
37924         * doc/posix-functions/logl.texi: Mention the 'logl' module.
37925         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
37926         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
37927         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
37928
37929 2010-01-18  Bruno Haible  <bruno@clisp.org>
37930
37931         sqrt: Make gl_FUNC_SQRT requirable.
37932         * m4/sqrt.m4: New file.
37933         * modules/sqrt (Files): Add it.
37934         (configure.ac): Invoke gl_FUNC_SQRT.
37935
37936 2010-01-18  Bruno Haible  <bruno@clisp.org>
37937
37938         New modules for common <math.h> functions.
37939         * m4/mathfunc.m4: New file.
37940         * modules/acos: New file.
37941         * modules/asin: New file.
37942         * modules/atan: New file.
37943         * modules/atan2: New file.
37944         * modules/cbrt: New file.
37945         * modules/copysign: New file.
37946         * modules/cos: New file.
37947         * modules/cosh: New file.
37948         * modules/erf: New file.
37949         * modules/erfc: New file.
37950         * modules/exp: New file.
37951         * modules/fabs: New file.
37952         * modules/fmod: New file.
37953         * modules/hypot: New file.
37954         * modules/j0: New file.
37955         * modules/j1: New file.
37956         * modules/jn: New file.
37957         * modules/ldexp: New file.
37958         * modules/lgamma: New file.
37959         * modules/log: New file.
37960         * modules/log10: New file.
37961         * modules/log1p: New file.
37962         * modules/logb: New file.
37963         * modules/modf: New file.
37964         * modules/nextafter: New file.
37965         * modules/pow: New file.
37966         * modules/remainder: New file.
37967         * modules/rint: New file.
37968         * modules/sin: New file.
37969         * modules/sinh: New file.
37970         * modules/sqrt: New file.
37971         * modules/tan: New file.
37972         * modules/tanh: New file.
37973         * modules/y0: New file.
37974         * modules/y1: New file.
37975         * modules/yn: New file.
37976         * doc/posix-functions/acos.texi: Mention the 'acos' module.
37977         * doc/posix-functions/asin.texi: Mention the 'asin' module.
37978         * doc/posix-functions/atan.texi: Mention the 'atan' module.
37979         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
37980         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
37981         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
37982         * doc/posix-functions/cos.texi: Mention the 'cos' module.
37983         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
37984         * doc/posix-functions/erf.texi: Mention the 'erf' module.
37985         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
37986         * doc/posix-functions/exp.texi: Mention the 'exp' module.
37987         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
37988         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
37989         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
37990         * doc/posix-functions/j0.texi: Mention the 'j0' module.
37991         * doc/posix-functions/j1.texi: Mention the 'j1' module.
37992         * doc/posix-functions/jn.texi: Mention the 'jn' module.
37993         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
37994         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
37995         * doc/posix-functions/log.texi: Mention the 'log' module.
37996         * doc/posix-functions/log10.texi: Mention the 'log10' module.
37997         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
37998         * doc/posix-functions/logb.texi: Mention the 'logb' module.
37999         * doc/posix-functions/modf.texi: Mention the 'modf' module.
38000         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
38001         * doc/posix-functions/pow.texi: Mention the 'pow' module.
38002         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
38003         * doc/posix-functions/rint.texi: Mention the 'rint' module.
38004         * doc/posix-functions/sin.texi: Mention the 'sin' module.
38005         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
38006         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
38007         * doc/posix-functions/tan.texi: Mention the 'tan' module.
38008         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
38009         * doc/posix-functions/y0.texi: Mention the 'y0' module.
38010         * doc/posix-functions/y1.texi: Mention the 'y1' module.
38011         * doc/posix-functions/yn.texi: Mention the 'yn' module.
38012
38013 2010-01-18  Jim Meyering  <meyering@redhat.com>
38014
38015         ignore-value: relax license to LGPLv2+
38016         * modules/ignore-value (License): Relax to LGPLv2+.
38017
38018         getdate: don't leak when TZ contains two or more '"'s
38019         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
38020         double quote in TZ after the first one.
38021
38022         readtokens: do not leak internal token_lengths buffer
38023         * lib/readtokens.c (readtokens): Free the local, lengths,
38024         when the supplied "token_lengths" parameter is NULL.
38025
38026 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38027
38028         Fix a couple of missing LIBTHREAD link failures on AIX.
38029         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
38030         $(LIBTHREAD).
38031         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
38032
38033         Link test-poll against INET_PTON_LIB.
38034         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
38035         for inet_pton on Solaris 10.
38036
38037 2010-01-17  Bruno Haible  <bruno@clisp.org>
38038
38039         unistdio/*-sprintf: Fix typo in module description.
38040         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
38041         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
38042         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
38043         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
38044         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
38045         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
38046         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
38047         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38048
38049 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38050
38051         gnulib-tool: fix filelist for AIX, HP-UX ksh.
38052         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
38053         variables in shell case patterns, for AIX and HP-UX ksh.
38054
38055         Split large sed scripts, for HP-UX sed.
38056         * modules/stdio: Split sed scripts around 50 sed commands,
38057         to avoid HP-UX limit of 99 commands, in the near future.
38058         * modules/string: Likewise.
38059         * modules/unistd: Likewise.
38060
38061         gnulib-tool: avoid writing in the current directory.
38062         * gnulib-tool (func_emit_lib_Makefile_am)
38063         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
38064         not in the current directory, so concurrent gnulib-tool
38065         instances do not interfere.
38066
38067 2010-01-16  Jim Meyering  <meyering@redhat.com>
38068
38069         doc: update users.txt
38070         * users.txt: Add grep.
38071         (diffutils, gzip): Update URLs.
38072
38073 2010-01-12  Bruno Haible  <bruno@clisp.org>
38074
38075         posix_spawn: Avoid test failure on Cygwin.
38076         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
38077         characters.
38078         Reported by Simon Josefsson.
38079
38080 2010-01-12  Bruno Haible  <bruno@clisp.org>
38081
38082         * tests/test-cond.c (main): When skipping the test, show the reason.
38083
38084 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38085
38086         * lib/striconv.c (str_cd_iconv): Avoid if before free.
38087
38088 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38089
38090         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
38091         VC_LIST_ALWAYS_EXCLUDE_REGEX.
38092
38093 2010-01-12  Eric Blake  <ebb9@byu.net>
38094
38095         build: guarantee AS_VAR_IF
38096         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
38097         (gl_AS_VAR_IF): Move...
38098         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
38099         Reported by Simon Josefsson.
38100
38101 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38102
38103         * lib/stdio.in.h: Fix typo.
38104
38105 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38106
38107         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
38108         libgpg-error.
38109
38110 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38111
38112         * tests/test-xalloc-die.sh: Use $EXEEXT.
38113
38114 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38115             Bruno Haible  <bruno@clisp.org>
38116
38117         getlogin, getlogin_r: Avoid test failure.
38118         * tests/test-getlogin.c: Include <stdio.h>.
38119         (main): Skip the test when the function fails because stdin is not a
38120         tty.
38121         * tests/test-getlogin_r.c: Include <stdio.h>.
38122         (main): Skip the test when the function fails because stdin is not a
38123         tty.
38124
38125 2010-01-11  Eric Blake  <ebb9@byu.net>
38126
38127         tests: avoid more large file warnings
38128         * tests/test-fflush.c: Avoid warning about ftell use.
38129         * tests/test-fseek.c: Avoid warning about fseek use.
38130
38131 2010-01-10  Bruno Haible  <bruno@clisp.org>
38132
38133         nproc: Work better on Linux when /proc and /sys are not mounted.
38134         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
38135         as lower bound when, on glibc/Linux systems,
38136         sysconf (_SC_NPROCESSORS_CONF) returns 1.
38137         Suggested by Pádraig Brady <P@draigbrady.com>.
38138         Reported by Dmitry V. Levin <ldv@altlinux.org>.
38139
38140         nproc: Refactor.
38141         * lib/nproc.c (num_processors_via_affinity_mask): New function,
38142         extracted from num_processors.
38143         (num_processors): Call it.
38144
38145 2010-01-11  Jim Meyering  <meyering@redhat.com>
38146
38147         utimecmp: avoid new warning from upcoming gcc-4.5.0
38148         * lib/utimecmp.c (BILLION): Define using #define rather than an
38149         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
38150
38151 2010-01-11  Eric Blake  <ebb9@byu.net>
38152
38153         math: add portability warnings for classification macros
38154         * modules/math (Depends-on): Add warn-on-use.
38155         (Makefile.am): Provide new substitutions.
38156         * m4/math_h.m4 (gl_MATH_H): Require inline.
38157         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
38158         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
38159         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
38160         implement warnings.
38161
38162         unistd: warn on use of environ without module
38163         * modules/unistd (Depends-on): Add warn-on-use.
38164         (Makefile.am): Provide new substitutions.
38165         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
38166         * lib/unistd.in.h (environ): Wrap with a warning helper function.
38167
38168         stdio: warn on suspicious uses
38169         * modules/stdio (Depends-on): Add warn-on-use.
38170         (Makefile.am): Provide new substitutions.
38171         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
38172         fseeko.
38173         * lib/stdio.in.h (gets): Always warn on use.
38174         (fseek, ftell): Adjust when warnings are issued, and honor
38175         _GL_NO_LARGE_FILES as a way to silence the warning.
38176         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
38177         any warning about large file offsets.
38178         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
38179         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
38180         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
38181         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
38182         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
38183         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
38184         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
38185         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
38186
38187         warn-on-use: new module
38188         * modules/warn-on-use: New file.
38189         * build-aux/warn-on-use.h: Likewise.
38190         * m4/warn-on-use.m4: Likewise.
38191         * MODULES.html.sh (Support for building): Mention it.
38192
38193 2010-01-10  Bruno Haible  <bruno@clisp.org>
38194
38195         Tests for module 'unistr/u32-strdup'.
38196         * modules/unistr/u32-strdup-tests: New file.
38197         * tests/unistr/test-u32-strdup.c: New file.
38198
38199         Tests for module 'unistr/u16-strdup'.
38200         * modules/unistr/u16-strdup-tests: New file.
38201         * tests/unistr/test-u16-strdup.c: New file.
38202
38203         Tests for module 'unistr/u8-strdup'.
38204         * modules/unistr/u8-strdup-tests: New file.
38205         * tests/unistr/test-u8-strdup.c: New file.
38206         * tests/unistr/test-strdup.h: New file.
38207
38208         Tests for module 'unistr/u32-strncmp'.
38209         * modules/unistr/u32-strncmp-tests: New file.
38210         * tests/unistr/test-u32-strncmp.c: New file.
38211
38212         Tests for module 'unistr/u16-strncmp'.
38213         * modules/unistr/u16-strncmp-tests: New file.
38214         * tests/unistr/test-u16-strncmp.c: New file.
38215
38216         Tests for module 'unistr/u8-strncmp'.
38217         * modules/unistr/u8-strncmp-tests: New file.
38218         * tests/unistr/test-u8-strncmp.c: New file.
38219         * tests/unistr/test-strncmp.h: New file.
38220
38221         Tests for module 'unistr/u32-strcoll'.
38222         * modules/unistr/u32-strcoll-tests: New file.
38223         * tests/unistr/test-u32-strcoll.c: New file.
38224
38225         Tests for module 'unistr/u16-strcoll'.
38226         * modules/unistr/u16-strcoll-tests: New file.
38227         * tests/unistr/test-u16-strcoll.c: New file.
38228
38229         Tests for module 'unistr/u8-strcoll'.
38230         * modules/unistr/u8-strcoll-tests: New file.
38231         * tests/unistr/test-u8-strcoll.c: New file.
38232
38233         Tests for module 'unistr/u32-strcmp'.
38234         * modules/unistr/u32-strcmp-tests: New file.
38235         * tests/unistr/test-u32-strcmp.c: New file.
38236         * tests/unistr/test-u32-strcmp.h: New file.
38237
38238         Tests for module 'unistr/u16-strcmp'.
38239         * modules/unistr/u16-strcmp-tests: New file.
38240         * tests/unistr/test-u16-strcmp.c: New file.
38241         * tests/unistr/test-u16-strcmp.h: New file.
38242
38243         Tests for module 'unistr/u8-strcmp'.
38244         * modules/unistr/u8-strcmp-tests: New file.
38245         * tests/unistr/test-u8-strcmp.c: New file.
38246         * tests/unistr/test-u8-strcmp.h: New file.
38247         * tests/unistr/test-strcmp.h: New file.
38248
38249         Tests for module 'unistr/u32-strncat'.
38250         * modules/unistr/u32-strncat-tests: New file.
38251         * tests/unistr/test-u32-strncat.c: New file.
38252
38253         Tests for module 'unistr/u16-strncat'.
38254         * modules/unistr/u16-strncat-tests: New file.
38255         * tests/unistr/test-u16-strncat.c: New file.
38256
38257         Tests for module 'unistr/u8-strncat'.
38258         * modules/unistr/u8-strncat-tests: New file.
38259         * tests/unistr/test-u8-strncat.c: New file.
38260         * tests/unistr/test-strncat.h: New file.
38261
38262         Tests for module 'unistr/u32-strcat'.
38263         * modules/unistr/u32-strcat-tests: New file.
38264         * tests/unistr/test-u32-strcat.c: New file.
38265
38266         Tests for module 'unistr/u16-strcat'.
38267         * modules/unistr/u16-strcat-tests: New file.
38268         * tests/unistr/test-u16-strcat.c: New file.
38269
38270         Tests for module 'unistr/u8-strcat'.
38271         * modules/unistr/u8-strcat-tests: New file.
38272         * tests/unistr/test-u8-strcat.c: New file.
38273         * tests/unistr/test-strcat.h: New file.
38274
38275         Tests for module 'unistr/u32-stpncpy'.
38276         * modules/unistr/u32-stpncpy-tests: New file.
38277         * tests/unistr/test-u32-stpncpy.c: New file.
38278
38279         Tests for module 'unistr/u16-stpncpy'.
38280         * modules/unistr/u16-stpncpy-tests: New file.
38281         * tests/unistr/test-u16-stpncpy.c: New file.
38282
38283         Tests for module 'unistr/u8-stpncpy'.
38284         * modules/unistr/u8-stpncpy-tests: New file.
38285         * tests/unistr/test-u8-stpncpy.c: New file.
38286         * tests/unistr/test-stpncpy.h: New file.
38287
38288         Tests for module 'unistr/u32-strncpy'.
38289         * modules/unistr/u32-strncpy-tests: New file.
38290         * tests/unistr/test-u32-strncpy.c: New file.
38291
38292         Tests for module 'unistr/u16-strncpy'.
38293         * modules/unistr/u16-strncpy-tests: New file.
38294         * tests/unistr/test-u16-strncpy.c: New file.
38295
38296         Tests for module 'unistr/u8-strncpy'.
38297         * modules/unistr/u8-strncpy-tests: New file.
38298         * tests/unistr/test-u8-strncpy.c: New file.
38299         * tests/unistr/test-strncpy.h: New file.
38300
38301         Tests for module 'unistr/u32-stpcpy'.
38302         * modules/unistr/u32-stpcpy-tests: New file.
38303         * tests/unistr/test-u32-stpcpy.c: New file.
38304
38305         Tests for module 'unistr/u16-stpcpy'.
38306         * modules/unistr/u16-stpcpy-tests: New file.
38307         * tests/unistr/test-u16-stpcpy.c: New file.
38308
38309         Tests for module 'unistr/u8-stpcpy'.
38310         * modules/unistr/u8-stpcpy-tests: New file.
38311         * tests/unistr/test-u8-stpcpy.c: New file.
38312         * tests/unistr/test-stpcpy.h: New file.
38313
38314         Tests for module 'unistr/u32-strcpy'.
38315         * modules/unistr/u32-strcpy-tests: New file.
38316         * tests/unistr/test-u32-strcpy.c: New file.
38317
38318         Tests for module 'unistr/u16-strcpy'.
38319         * modules/unistr/u16-strcpy-tests: New file.
38320         * tests/unistr/test-u16-strcpy.c: New file.
38321
38322         Tests for module 'unistr/u8-strcpy'.
38323         * modules/unistr/u8-strcpy-tests: New file.
38324         * tests/unistr/test-u8-strcpy.c: New file.
38325         * tests/unistr/test-strcpy.h: New file.
38326
38327         Tests for module 'unistr/u32-strnlen'.
38328         * modules/unistr/u32-strnlen-tests: New file.
38329         * tests/unistr/test-u32-strnlen.c: New file.
38330
38331         Tests for module 'unistr/u16-strnlen'.
38332         * modules/unistr/u16-strnlen-tests: New file.
38333         * tests/unistr/test-u16-strnlen.c: New file.
38334
38335         Tests for module 'unistr/u8-strnlen'.
38336         * modules/unistr/u8-strnlen-tests: New file.
38337         * tests/unistr/test-u8-strnlen.c: New file.
38338         * tests/unistr/test-strnlen.h: New file.
38339
38340         Tests for module 'unistr/u32-strlen'.
38341         * modules/unistr/u32-strlen-tests: New file.
38342         * tests/unistr/test-u32-strlen.c: New file.
38343
38344         Tests for module 'unistr/u16-strlen'.
38345         * modules/unistr/u16-strlen-tests: New file.
38346         * tests/unistr/test-u16-strlen.c: New file.
38347
38348         Tests for module 'unistr/u8-strlen'.
38349         * modules/unistr/u8-strlen-tests: New file.
38350         * tests/unistr/test-u8-strlen.c: New file.
38351
38352         Tests for module 'unistr/u32-prev'.
38353         * modules/unistr/u32-prev-tests: New file.
38354         * tests/unistr/test-u32-prev.c: New file.
38355
38356         Tests for module 'unistr/u16-prev'.
38357         * modules/unistr/u16-prev-tests: New file.
38358         * tests/unistr/test-u16-prev.c: New file.
38359
38360         Tests for module 'unistr/u8-prev'.
38361         * modules/unistr/u8-prev-tests: New file.
38362         * tests/unistr/test-u8-prev.c: New file.
38363
38364         Tests for module 'unistr/u32-next'.
38365         * modules/unistr/u32-next-tests: New file.
38366         * tests/unistr/test-u32-next.c: New file.
38367
38368         Tests for module 'unistr/u16-next'.
38369         * modules/unistr/u16-next-tests: New file.
38370         * tests/unistr/test-u16-next.c: New file.
38371
38372         Tests for module 'unistr/u8-next'.
38373         * modules/unistr/u8-next-tests: New file.
38374         * tests/unistr/test-u8-next.c: New file.
38375
38376         Tests for module 'unistr/u32-strmbtouc'.
38377         * modules/unistr/u32-strmbtouc-tests: New file.
38378         * tests/unistr/test-u32-strmbtouc.c: New file.
38379
38380         Tests for module 'unistr/u16-strmbtouc'.
38381         * modules/unistr/u16-strmbtouc-tests: New file.
38382         * tests/unistr/test-u16-strmbtouc.c: New file.
38383
38384         Tests for module 'unistr/u8-strmbtouc'.
38385         * modules/unistr/u8-strmbtouc-tests: New file.
38386         * tests/unistr/test-u8-strmbtouc.c: New file.
38387
38388         Tests for module 'unistr/u32-strmblen'.
38389         * modules/unistr/u32-strmblen-tests: New file.
38390         * tests/unistr/test-u32-strmblen.c: New file.
38391
38392         Tests for module 'unistr/u16-strmblen'.
38393         * modules/unistr/u16-strmblen-tests: New file.
38394         * tests/unistr/test-u16-strmblen.c: New file.
38395
38396         Tests for module 'unistr/u8-strmblen'.
38397         * modules/unistr/u8-strmblen-tests: New file.
38398         * tests/unistr/test-u8-strmblen.c: New file.
38399
38400         Tests for module 'unistr/u32-cpy-alloc'.
38401         * modules/unistr/u32-cpy-alloc-tests: New file.
38402         * tests/unistr/test-u32-cpy-alloc.c: New file.
38403
38404         Tests for module 'unistr/u16-cpy-alloc'.
38405         * modules/unistr/u16-cpy-alloc-tests: New file.
38406         * tests/unistr/test-u16-cpy-alloc.c: New file.
38407
38408         Tests for module 'unistr/u8-cpy-alloc'.
38409         * modules/unistr/u8-cpy-alloc-tests: New file.
38410         * tests/unistr/test-u8-cpy-alloc.c: New file.
38411         * tests/unistr/test-cpy-alloc.h: New file.
38412
38413         Tests for module 'unistr/u32-mbsnlen'.
38414         * modules/unistr/u32-mbsnlen-tests: New file.
38415         * tests/unistr/test-u32-mbsnlen.c: New file.
38416
38417         Tests for module 'unistr/u16-mbsnlen'.
38418         * modules/unistr/u16-mbsnlen-tests: New file.
38419         * tests/unistr/test-u16-mbsnlen.c: New file.
38420
38421         Tests for module 'unistr/u8-mbsnlen'.
38422         * modules/unistr/u8-mbsnlen-tests: New file.
38423         * tests/unistr/test-u8-mbsnlen.c: New file.
38424
38425         Tests for module 'unistr/u32-chr'.
38426         * modules/unistr/u32-chr-tests: New file.
38427         * tests/unistr/test-u32-chr.c: New file.
38428
38429         Tests for module 'unistr/u16-chr'.
38430         * modules/unistr/u16-chr-tests: New file.
38431         * tests/unistr/test-u16-chr.c: New file.
38432
38433         Tests for module 'unistr/u8-chr'.
38434         * modules/unistr/u8-chr-tests: New file.
38435         * tests/unistr/test-u8-chr.c: New file.
38436         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
38437
38438         Tests for module 'unistr/u32-cmp2'.
38439         * modules/unistr/u32-cmp2-tests: New file.
38440         * tests/unistr/test-u32-cmp2.c: New file.
38441
38442         Tests for module 'unistr/u16-cmp2'.
38443         * modules/unistr/u16-cmp2-tests: New file.
38444         * tests/unistr/test-u16-cmp2.c: New file.
38445
38446         Tests for module 'unistr/u8-cmp2'.
38447         * modules/unistr/u8-cmp2-tests: New file.
38448         * tests/unistr/test-u8-cmp2.c: New file.
38449         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
38450
38451         Tests for module 'unistr/u32-cmp'.
38452         * modules/unistr/u32-cmp-tests: New file.
38453         * tests/unistr/test-u32-cmp.c: New file.
38454
38455         Tests for module 'unistr/u16-cmp'.
38456         * modules/unistr/u16-cmp-tests: New file.
38457         * tests/unistr/test-u16-cmp.c: New file.
38458
38459         Tests for module 'unistr/u8-cmp'.
38460         * modules/unistr/u8-cmp-tests: New file.
38461         * tests/unistr/test-u8-cmp.c: New file.
38462         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
38463
38464         Tests for module 'unistr/u32-set'.
38465         * modules/unistr/u32-set-tests: New file.
38466         * tests/unistr/test-u32-set.c: New file.
38467
38468         Tests for module 'unistr/u16-set'.
38469         * modules/unistr/u16-set-tests: New file.
38470         * tests/unistr/test-u16-set.c: New file.
38471
38472         Tests for module 'unistr/u8-set'.
38473         * modules/unistr/u8-set-tests: New file.
38474         * tests/unistr/test-u8-set.c: New file.
38475         * tests/unistr/test-set.h: New file.
38476
38477         Tests for module 'unistr/u32-move'.
38478         * modules/unistr/u32-move-tests: New file.
38479         * tests/unistr/test-u32-move.c: New file.
38480
38481         Tests for module 'unistr/u16-move'.
38482         * modules/unistr/u16-move-tests: New file.
38483         * tests/unistr/test-u16-move.c: New file.
38484
38485         Tests for module 'unistr/u8-move'.
38486         * modules/unistr/u8-move-tests: New file.
38487         * tests/unistr/test-u8-move.c: New file.
38488         * tests/unistr/test-move.h: New file.
38489
38490         Tests for module 'unistr/u32-cpy'.
38491         * modules/unistr/u32-cpy-tests: New file.
38492         * tests/unistr/test-u32-cpy.c: New file.
38493
38494         Tests for module 'unistr/u16-cpy'.
38495         * modules/unistr/u16-cpy-tests: New file.
38496         * tests/unistr/test-u16-cpy.c: New file.
38497
38498         Tests for module 'unistr/u8-cpy'.
38499         * modules/unistr/u8-cpy-tests: New file.
38500         * tests/unistr/test-u8-cpy.c: New file.
38501         * tests/unistr/test-cpy.h: New file.
38502
38503 2010-01-09  Bruno Haible  <bruno@clisp.org>
38504
38505         Tests for module 'unistr/u32-uctomb'.
38506         * modules/unistr/u32-uctomb-tests: New file.
38507         * tests/unistr/test-u32-uctomb.c: New file.
38508
38509         Tests for module 'unistr/u16-uctomb'.
38510         * modules/unistr/u16-uctomb-tests: New file.
38511         * tests/unistr/test-u16-uctomb.c: New file.
38512
38513         Tests for module 'unistr/u8-uctomb'.
38514         * modules/unistr/u8-uctomb-tests: New file.
38515         * tests/unistr/test-u8-uctomb.c: New file.
38516
38517         Tests for module 'unistr/u32-mbtoucr'.
38518         * modules/unistr/u32-mbtoucr-tests: New file.
38519         * tests/unistr/test-u32-mbtoucr.c: New file.
38520
38521         Tests for module 'unistr/u16-mbtoucr'.
38522         * modules/unistr/u16-mbtoucr-tests: New file.
38523         * tests/unistr/test-u16-mbtoucr.c: New file.
38524
38525         Tests for module 'unistr/u8-mbtoucr'.
38526         * modules/unistr/u8-mbtoucr-tests: New file.
38527         * tests/unistr/test-u8-mbtoucr.c: New file.
38528
38529         Tests for module 'unistr/u32-mbtouc'.
38530         * modules/unistr/u32-mbtouc-tests: New file.
38531         * tests/unistr/test-u32-mbtouc.c: New file.
38532
38533         Tests for module 'unistr/u16-mbtouc'.
38534         * modules/unistr/u16-mbtouc-tests: New file.
38535         * tests/unistr/test-u16-mbtouc.c: New file.
38536
38537         Tests for module 'unistr/u8-mbtouc'.
38538         * modules/unistr/u8-mbtouc-tests: New file.
38539         * tests/unistr/test-u8-mbtouc.c: New file.
38540
38541         Tests for module 'unistr/u32-mbtouc-unsafe'.
38542         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
38543         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
38544         * tests/unistr/test-u32-mbtouc.h: New file.
38545
38546         Tests for module 'unistr/u16-mbtouc-unsafe'.
38547         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
38548         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
38549         * tests/unistr/test-u16-mbtouc.h: New file.
38550
38551         Tests for module 'unistr/u8-mbtouc-unsafe'.
38552         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
38553         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
38554         * tests/unistr/test-u8-mbtouc.h: New file.
38555
38556         Tests for module 'unistr/u32-mblen'.
38557         * modules/unistr/u32-mblen-tests: New file.
38558         * tests/unistr/test-u32-mblen.c: New file.
38559
38560         Tests for module 'unistr/u16-mblen'.
38561         * modules/unistr/u16-mblen-tests: New file.
38562         * tests/unistr/test-u16-mblen.c: New file.
38563
38564         Tests for module 'unistr/u8-mblen'.
38565         * modules/unistr/u8-mblen-tests: New file.
38566         * tests/unistr/test-u8-mblen.c: New file.
38567
38568         Tests for module 'unistr/u32-to-u16'.
38569         * modules/unistr/u32-to-u16-tests: New file.
38570         * tests/unistr/test-u32-to-u16.c: New file.
38571
38572         Tests for module 'unistr/u32-to-u8'.
38573         * modules/unistr/u32-to-u8-tests: New file.
38574         * tests/unistr/test-u32-to-u8.c: New file.
38575
38576         Tests for module 'unistr/u16-to-u32'.
38577         * modules/unistr/u16-to-u32-tests: New file.
38578         * tests/unistr/test-u16-to-u32.c: New file.
38579
38580         Tests for module 'unistr/u16-to-u8'.
38581         * modules/unistr/u16-to-u8-tests: New file.
38582         * tests/unistr/test-u16-to-u8.c: New file.
38583
38584         Tests for module 'unistr/u8-to-u32'.
38585         * modules/unistr/u8-to-u32-tests: New file.
38586         * tests/unistr/test-u8-to-u32.c: New file.
38587
38588         Tests for module 'unistr/u8-to-u16'.
38589         * modules/unistr/u8-to-u16-tests: New file.
38590         * tests/unistr/test-u8-to-u16.c: New file.
38591
38592         Tests for module 'unistr/u32-check'.
38593         * modules/unistr/u32-check-tests: New file.
38594         * tests/unistr/test-u32-check.c: New file.
38595
38596         Tests for module 'unistr/u16-check'.
38597         * modules/unistr/u16-check-tests: New file.
38598         * tests/unistr/test-u16-check.c: New file.
38599
38600         Tests for module 'unistr/u8-check'.
38601         * modules/unistr/u8-check-tests: New file.
38602         * tests/unistr/test-u8-check.c: New file.
38603
38604         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
38605         (category_equals): New function.
38606         (main): Add more tests.
38607         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
38608
38609         * tests/unictype/test-bidi_byname.c (main): Add more tests.
38610
38611 2010-01-10  Bruno Haible  <bruno@clisp.org>
38612
38613         unistr/u*-strcoll: Try harder to distinguish different strings.
38614         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
38615         compare s1 and s2 to see if they are different.
38616
38617 2010-01-10  Bruno Haible  <bruno@clisp.org>
38618
38619         unistr/u*-stpncpy: Fix the return value.
38620         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
38621         description of the return value consistent with stpncpy in glibc.
38622         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
38623         written non-NUL unit.
38624
38625 2010-01-10  Bruno Haible  <bruno@clisp.org>
38626
38627         unistr/u*-next: Add missing dependencies.
38628         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
38629         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
38630         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
38631
38632 2010-01-10  Bruno Haible  <bruno@clisp.org>
38633
38634         unistr/u8-mbsnlen: Fix return value for incomplete character.
38635         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
38636         u8_mblen.
38637         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
38638         Remove unistr/u8-mblen.
38639         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
38640         u16_mblen.
38641         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
38642         Remove unistr/u16-mblen.
38643
38644 2010-01-10  Bruno Haible  <bruno@clisp.org>
38645
38646         wchar: Fix compilation error when <wchar.h> is used from coreutils.
38647         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
38648         Reported by Brian Gough <bjg@gnu.org> and
38649         Chris Clayton <chris2553@googlemail.com> via
38650         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
38651
38652 2010-01-09  Bruno Haible  <bruno@clisp.org>
38653
38654         unistr/u16-to-u32: Reject invalid input.
38655         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
38656         u16_mbtouc.
38657         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
38658         Remove unistr/u16-mbtouc.
38659
38660         unistr/u16-to-u8: Reject invalid input.
38661         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
38662         u16_mbtouc.
38663         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
38664         Remove unistr/u16-mbtouc.
38665
38666         unistr/u8-to-u32: Reject invalid input.
38667         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
38668         u8_mbtouc.
38669         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
38670         Remove unistr/u8-mbtouc.
38671
38672         unistr/u8-to-u16: Reject invalid input.
38673         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
38674         u8_mbtouc.
38675         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
38676         Remove unistr/u8-mbtouc.
38677
38678 2010-01-09  Bruno Haible  <bruno@clisp.org>
38679
38680         Tests for module 'getlogin'.
38681         * modules/getlogin-tests: New file.
38682         * tests/test-getlogin.c: New file.
38683
38684         New module 'getlogin'.
38685         * lib/unistd.in.h (getlogin): New declaration.
38686         * lib/getlogin.c: New file.
38687         * m4/getlogin.m4: New file.
38688         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
38689         HAVE_GETLOGIN.
38690         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
38691         HAVE_GETLOGIN.
38692         * modules/getlogin: New file.
38693         * doc/posix-functions/getlogin.texi: Mention the new module.
38694         Reported by John W. Eaton <jwe@gnu.org>.
38695
38696 2010-01-09  Bruno Haible  <bruno@clisp.org>
38697
38698         getlogin_r: Support for native Windows.
38699         * lib/getlogin_r.c: Include <windows.h>
38700         (getlogin_r): Implement for native Windows.
38701         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
38702         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
38703         via John W. Eaton <jwe@gnu.org>.
38704
38705 2010-01-09  Bruno Haible  <bruno@clisp.org>
38706
38707         getlogin_r: Small fixes.
38708         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
38709         succeeds.
38710         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
38711         before testing whether getlogin_r is declared. No need to set
38712         HAVE_DECL_GETLOGIN_R to 1.
38713         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
38714
38715 2010-01-09  Bruno Haible  <bruno@clisp.org>
38716
38717         * lib/unistd.in.h (getlogin_r): Add comment.
38718
38719 2010-01-09  Bruno Haible  <bruno@clisp.org>
38720
38721         Tests for module 'getlogin_r'.
38722         * modules/getlogin_r-tests: New file.
38723         * tests/test-getlogin_r.c: New file.
38724
38725 2010-01-09  Jim Meyering  <meyering@redhat.com>
38726
38727         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
38728         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
38729         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
38730
38731 2010-01-08  Simon Josefsson  <simon@josefsson.org>
38732
38733         * lib/dup2.c (rpl_dup2): Improve comment.
38734
38735 2010-01-08  Eric Blake  <ebb9@byu.net>
38736
38737         maint.mk: allow packages to add makefile @@ exceptions
38738         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
38739         (sc_makefile_check): Rename...
38740         (sc_makefile_at_at_check): ...to this, and use hook.
38741
38742         dup2: work around mingw bug
38743         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
38744         Reported by Simon Josefsson.
38745
38746 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
38747
38748         glob: Fix C++ compilation.
38749         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
38750         C++.
38751
38752 2010-01-07  Bruno Haible  <bruno@clisp.org>
38753
38754         Fix indentation of wctype.in.h, broken since 2007-01-06.
38755         * lib/wctype.in.h: Fix indentation of preprocessor directives.
38756
38757 2010-01-07  Bruno Haible  <bruno@clisp.org>
38758
38759         mbslen: Avoid collision with system function.
38760         * lib/string.in.h [MirBSD]: Include <wchar.h>.
38761         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
38762         * m4/mbslen.m4: New file.
38763         * modules/mbslen (Files): Add it.
38764         (configure.ac): Invoke gl_MBSLEN.
38765         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
38766         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
38767         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
38768         via Ian Beckwith <ianb@erislabs.net>.
38769
38770 2010-01-07  Bruno Haible  <bruno@clisp.org>
38771
38772         dirent: Document the last fix.
38773         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
38774
38775 2010-01-07  Bruno Haible  <bruno@clisp.org>
38776
38777         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
38778         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
38779         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
38780         va_list are defined.
38781         * doc/posix-headers/stdio.texi: Document the bug of missing types.
38782         Reported by Eric Blake.
38783
38784 2010-01-07  Bruno Haible  <bruno@clisp.org>
38785
38786         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
38787         * modules/xlist (Depends-on): Add 'list',
38788         * modules/xoset (Depends-on): Add 'oset'.
38789         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38790
38791 2010-01-07  Bruno Haible  <bruno@clisp.org>
38792
38793         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
38794         * doc/posix-functions/strncasecmp.texi: Likewise.
38795
38796 2010-01-07  Bruno Haible  <bruno@clisp.org>
38797
38798         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
38799
38800 2010-01-07  John W. Eaton  <jwe@octave.org>
38801
38802         wctype: allow C++ use
38803         * lib/wctype.in.h: Add extern "C" block for C++.
38804
38805 2010-01-06  Eric Blake  <ebb9@byu.net>
38806
38807         maint.mk: detect incorrect GFDL usage
38808         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
38809
38810 2010-01-06  Jim Meyering  <meyering@redhat.com>
38811         and Eric Blake  <ebb9@byu.net>
38812
38813         maint.mk: ignore multi-line copyright in NEWS
38814         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
38815
38816 2010-01-06  Eric Blake  <ebb9@byu.net>
38817
38818         select: add missing dependency
38819         * modules/select-tests (Depends-on): Move sockets dependency...
38820         * modules/select (Depends-on): ...here.
38821         Reported by Ian Beckwith.
38822
38823         doc: regenerate INSTALL
38824         * doc/INSTALL: Reflect recent autoconf update.
38825         * doc/INSTALL.ISO: Likewise.
38826         * doc/INSTALL.UTF-8: Likewise.
38827
38828         pread: fix compilation on glibc
38829         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
38830         Reported by Ralf Wildenhues.
38831
38832         dirent: fix test failure
38833         * lib/dirent.in.h (includes): Guarantee ino_t.
38834         Reported by Ralf Wildenhues.
38835
38836 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
38837
38838         linkat, renameat: avoid bad free
38839         * lib/at-func2.c (at_func2): Fix typo.
38840         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
38841
38842 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38843
38844         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
38845         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
38846         to avoid failure of symlink test later.
38847
38848 2010-01-06  Eric Blake  <ebb9@byu.net>
38849
38850         stdio, unistd: guarantee ssize_t
38851         * lib/unistd.in.h (includes): Ensure that types required by POSIX
38852         2008 are exposed when needed.
38853         * lib/stdio.in.h (includes): Likewise.
38854         Reported by Ralf Wildenhues.
38855
38856 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
38857
38858         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
38859         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
38860         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
38861
38862 2010-01-06  Jim Meyering  <meyering@redhat.com>
38863
38864         readtokens: this module *does* require xalloc.h
38865         It uses only functions that were omitted by the old syntax-check rule.
38866         * lib/readtokens.c: Include "xalloc.h" once again.
38867         * modules/readtokens (Depends-on): Add xalloc.
38868         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
38869
38870 2010-01-05  Eric Blake  <ebb9@byu.net>
38871
38872         maint: support 'make announcement' from a VPATH build
38873         * top/maint.mk (announcement): Look for correct NEWS file.
38874
38875 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
38876
38877         utimens (fdutimens): ignore a negative FD, per contract
38878         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
38879         when we have a valid file descriptor.  Otherwise, using a brand
38880         new glibc (with just-patched futimens that now fails with EBADF)
38881         would cause this function to fail with ENOSYS.
38882         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
38883         See also http://bugzilla.redhat.com/552320.
38884
38885 2010-01-05  Eric Blake  <ebb9@byu.net>
38886
38887         strcase: document what it provides
38888         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
38889         gnulib module.
38890         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
38891         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
38892
38893 2010-01-05  Jim Meyering  <meyering@redhat.com>
38894
38895         maint: remove useless inclusions of "xalloc.h"
38896         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
38897         * lib/readtokens.c: Likewise.
38898         * lib/same.c: Likewise.
38899         * modules/getloadavg (Depends-on): Remove xalloc.
38900         * modules/readtokens: Likewise.
38901         * modules/same: Likewise.
38902
38903         maint.mk: include 4 more function names in alloca.h-checking regexp
38904         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
38905         regexp.  Before, we would give a false-positive (saying alloca.h
38906         is included unnecessarily) when the only uses involved omitted symbols.
38907
38908         xalloc.h: use consistent formatting
38909         * lib/xalloc.h: Move declarations to start in the first column.
38910
38911 2010-01-05  Eric Blake  <ebb9@byu.net>
38912
38913         mkdir: avoid xalloc
38914         * lib/mkdir.c (includes): Drop unused header.
38915         Reported by John W. Eaton.
38916
38917 2010-01-04  Jim Meyering  <meyering@redhat.com>
38918
38919         nl_langinfo: avoid configure-time syntax error
38920         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
38921         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
38922         the empty string.  Don't let that provoke a shell syntax error.
38923
38924         regcomp, regexec, fnmatch: avoid array bounds read error
38925         * lib/regcomp.c (build_equiv_class): From glibc:
38926         Use only the low 24 bits of a findidx return value as an index
38927         into the weights array.  Patch by Ulrich Drepper:
38928         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
38929         * lib/regexec.c (check_node_accept_bytes): Likewise.
38930         * lib/fnmatch_loop.c (FCT): Likewise.
38931
38932         regcomp: skip collseq lookup when there are no rules
38933         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
38934         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
38935
38936         regcomp: recognize ill-formed { } expressions
38937         * lib/regcomp.c (parse_dup_op): From glibc:
38938         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
38939
38940         regcomp: fix typo in comment
38941         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
38942         s/satisfy/satisfies/.
38943
38944         regcomp: sync from glibc: remove dead store
38945         * lib/regcomp.c (duplicate_node_closure): Remove useless
38946         search_duplicated_node call and dead store.
38947
38948         regcomp: sync from glibc; always use nl_langinfo
38949         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
38950         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
38951         * modules/regex (Depends-on): Add nl_langinfo.
38952
38953 2010-01-04  Eric Blake  <ebb9@byu.net>
38954
38955         fdopendir: fix configure test
38956         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
38957
38958 2010-01-01  Bruno Haible  <bruno@clisp.org>
38959
38960         wchar: Remove unused configure check.
38961         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
38962
38963 2010-01-01  Eric Blake  <ebb9@byu.net>
38964
38965         headers: make check of system header explicit
38966         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
38967         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
38968         ourselves.
38969         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38970         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38971         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
38972         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
38973         internals.
38974         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
38975         missing.
38976         Suggested by Bruno Haible.
38977
38978 2010-01-01  Jim Meyering  <meyering@redhat.com>
38979
38980         ChangeLog: tweak to eliminate unnecessary copyright line
38981         * ChangeLog: Remove a copyright line that was mistakenly updated
38982         by today's update-copyright run.  Reported by Eric Blake.
38983
38984         test-update-copyright: don't let envvar setting cause test failure
38985         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
38986
38987 2010-01-01  Bruno Haible  <bruno@clisp.org>
38988
38989         localename: Avoid gcc warning.
38990         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
38991         function if it is not used.
38992
38993 2010-01-01  Jim Meyering  <meyering@redhat.com>
38994
38995         update nearly all FSF copyright year lists to include 2010
38996         Use the same procedure as for 2009, outlined in
38997         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
38998
38999         version-etc: set COPYRIGHT_YEAR to 2010
39000         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
39001
39002 2009-12-31  Eric Blake  <ebb9@byu.net>
39003
39004         doc: correct availability of cygwin 1.5.x getopt
39005         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
39006         variables.
39007         * doc/posix-functions/opterr.texi (opterr): Likewise.
39008         * doc/posix-functions/optind.texi (optind): Likewise.
39009         * doc/posix-functions/optopt.texi (optopt): Likewise.
39010         * doc/posix-functions/tzname.texi (tzname): Likewise.
39011
39012         openat: update maintainer
39013         * modules/openat (Maintainer): Add myself.
39014
39015         utimens: avoid shadowing warning
39016         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
39017         buffers into one, to avoid shadowing, as well as avoiding a
39018         redundant stat.
39019         Reported by Jim Meyering.
39020
39021         test-dup2: avoid compiler warning
39022         * tests/test-dup2.c (is_inheritable): Only define if used.
39023
39024 2010-01-01  Bruno Haible  <bruno@clisp.org>
39025
39026         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
39027         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
39028         defined, use wctomb instead of wcrtomb.
39029
39030 2010-01-01  Bruno Haible  <bruno@clisp.org>
39031
39032         iconv: Reject native Solaris iconv.
39033         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
39034         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
39035
39036 2009-12-31  Bruno Haible  <bruno@clisp.org>
39037
39038         * tests/test-signal.c (main): Remove test of 'SIG'.
39039
39040 2009-12-31  Bruno Haible  <bruno@clisp.org>
39041
39042         spawn: Fix incomplete fix.
39043         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39044         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39045         warnings for GNULIB_POSIXCHECK again.
39046         Reported by Eric Blake.
39047
39048 2009-12-31  Bruno Haible  <bruno@clisp.org>
39049
39050         Avoid namespace pollution on glibc systems.
39051         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
39052         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
39053         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
39054         glibc systems.
39055
39056 2009-12-31  Bruno Haible  <bruno@clisp.org>
39057
39058         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
39059         (gl_REPLACE_WCHAR_H): Turn into a no-op.
39060         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
39061         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39062         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39063         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39064         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39065
39066 2009-12-31  Bruno Haible  <bruno@clisp.org>
39067
39068         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
39069         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
39070         afterwards.
39071
39072 2009-12-31  Bruno Haible  <bruno@clisp.org>
39073
39074         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
39075         SYS_UTSNAME_H.
39076
39077 2009-12-31  Bruno Haible  <bruno@clisp.org>
39078
39079         spawn: Fix misapplied patch.
39080         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39081         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39082         warnings for GNULIB_POSIXCHECK.
39083
39084 2009-12-31  Bruno Haible  <bruno@clisp.org>
39085
39086         times: Update after sys_times changed.
39087         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
39088         * modules/times (Files): Add it.
39089         (configure.ac): Invoke gl_FUNC_TIMES.
39090
39091 2009-12-31  Bruno Haible  <bruno@clisp.org>
39092
39093         Use AC_C_INLINE where necessary.
39094         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
39095         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39096         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
39097         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
39098         * m4/mbfile.m4 (gl_MBFILE): Likewise.
39099         * m4/mbiter.m4 (gl_MBITER): Likewise.
39100         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39101         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39102         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
39103         * modules/u64 (configure.ac): Likewise.
39104
39105 2009-12-31  Bruno Haible  <bruno@clisp.org>
39106
39107         Use AC_C_INLINE instead of module 'inline' where possible.
39108         * modules/inline (Description): Clarify purpose.
39109         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
39110         * modules/count-one-bits (Depends-on): Remove inline.
39111         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
39112         * modules/openat (Depends-on): Remove inline.
39113         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
39114         instead of depending on module 'inline'.
39115         * modules/filevercmp (Depends-on, configure.ac): Likewise.
39116         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
39117         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
39118         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
39119         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
39120         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
39121         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
39122         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
39123         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
39124         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
39125         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
39126         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
39127         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
39128         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
39129         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
39130         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
39131         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
39132         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
39133         Likewise.
39134         * modules/unictype/property-ascii-hex-digit (Depends-on,
39135         configure.ac): Likewise.
39136         * modules/unictype/property-bidi-arabic-digit (Depends-on,
39137         configure.ac): Likewise.
39138         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
39139         configure.ac): Likewise.
39140         * modules/unictype/property-bidi-block-separator (Depends-on,
39141         configure.ac): Likewise.
39142         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
39143         configure.ac): Likewise.
39144         * modules/unictype/property-bidi-common-separator (Depends-on,
39145         configure.ac): Likewise.
39146         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
39147         Likewise.
39148         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
39149         configure.ac): Likewise.
39150         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
39151         configure.ac): Likewise.
39152         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
39153         configure.ac): Likewise.
39154         * modules/unictype/property-bidi-european-digit (Depends-on,
39155         configure.ac): Likewise.
39156         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
39157         configure.ac): Likewise.
39158         * modules/unictype/property-bidi-left-to-right (Depends-on,
39159         configure.ac): Likewise.
39160         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
39161         configure.ac): Likewise.
39162         * modules/unictype/property-bidi-other-neutral (Depends-on,
39163         configure.ac): Likewise.
39164         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
39165         Likewise.
39166         * modules/unictype/property-bidi-segment-separator (Depends-on,
39167         configure.ac): Likewise.
39168         * modules/unictype/property-bidi-whitespace (Depends-on,
39169         configure.ac): Likewise.
39170         * modules/unictype/property-combining (Depends-on, configure.ac):
39171         Likewise.
39172         * modules/unictype/property-composite (Depends-on, configure.ac):
39173         Likewise.
39174         * modules/unictype/property-currency-symbol (Depends-on,
39175         configure.ac): Likewise.
39176         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
39177         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
39178         Likewise.
39179         * modules/unictype/property-default-ignorable-code-point (Depends-on,
39180         configure.ac): Likewise.
39181         * modules/unictype/property-deprecated (Depends-on, configure.ac):
39182         Likewise.
39183         * modules/unictype/property-diacritic (Depends-on, configure.ac):
39184         Likewise.
39185         * modules/unictype/property-extender (Depends-on, configure.ac):
39186         Likewise.
39187         * modules/unictype/property-format-control (Depends-on, configure.ac):
39188         Likewise.
39189         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
39190         Likewise.
39191         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
39192         Likewise.
39193         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
39194         Likewise.
39195         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
39196         Likewise.
39197         * modules/unictype/property-hyphen (Depends-on, configure.ac):
39198         Likewise.
39199         * modules/unictype/property-id-continue (Depends-on, configure.ac):
39200         Likewise.
39201         * modules/unictype/property-id-start (Depends-on, configure.ac):
39202         Likewise.
39203         * modules/unictype/property-ideographic (Depends-on, configure.ac):
39204         Likewise.
39205         * modules/unictype/property-ids-binary-operator (Depends-on,
39206         configure.ac): Likewise.
39207         * modules/unictype/property-ids-trinary-operator (Depends-on,
39208         configure.ac): Likewise.
39209         * modules/unictype/property-ignorable-control (Depends-on,
39210         configure.ac): Likewise.
39211         * modules/unictype/property-iso-control (Depends-on, configure.ac):
39212         Likewise.
39213         * modules/unictype/property-join-control (Depends-on, configure.ac):
39214         Likewise.
39215         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
39216         Likewise.
39217         * modules/unictype/property-line-separator (Depends-on, configure.ac):
39218         Likewise.
39219         * modules/unictype/property-logical-order-exception (Depends-on,
39220         configure.ac): Likewise.
39221         * modules/unictype/property-lowercase (Depends-on, configure.ac):
39222         Likewise.
39223         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
39224         * modules/unictype/property-non-break (Depends-on, configure.ac):
39225         Likewise.
39226         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
39227         Likewise.
39228         * modules/unictype/property-numeric (Depends-on, configure.ac):
39229         Likewise.
39230         * modules/unictype/property-other-alphabetic (Depends-on,
39231         configure.ac): Likewise.
39232         * modules/unictype/property-other-default-ignorable-code-point
39233         (Depends-on, configure.ac): Likewise.
39234         * modules/unictype/property-other-grapheme-extend (Depends-on,
39235         configure.ac): Likewise.
39236         * modules/unictype/property-other-id-continue (Depends-on,
39237         configure.ac): Likewise.
39238         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
39239         Likewise.
39240         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
39241         Likewise.
39242         * modules/unictype/property-other-math (Depends-on, configure.ac):
39243         Likewise.
39244         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
39245         Likewise.
39246         * modules/unictype/property-paired-punctuation (Depends-on,
39247         configure.ac): Likewise.
39248         * modules/unictype/property-paragraph-separator (Depends-on,
39249         configure.ac): Likewise.
39250         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
39251         Likewise.
39252         * modules/unictype/property-pattern-white-space (Depends-on,
39253         configure.ac): Likewise.
39254         * modules/unictype/property-private-use (Depends-on, configure.ac):
39255         Likewise.
39256         * modules/unictype/property-punctuation (Depends-on, configure.ac):
39257         Likewise.
39258         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
39259         Likewise.
39260         * modules/unictype/property-radical (Depends-on, configure.ac):
39261         Likewise.
39262         * modules/unictype/property-sentence-terminal (Depends-on,
39263         configure.ac): Likewise.
39264         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
39265         Likewise.
39266         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
39267         * modules/unictype/property-terminal-punctuation (Depends-on,
39268         configure.ac): Likewise.
39269         * modules/unictype/property-titlecase (Depends-on, configure.ac):
39270         Likewise.
39271         * modules/unictype/property-unassigned-code-value (Depends-on,
39272         configure.ac): Likewise.
39273         * modules/unictype/property-unified-ideograph (Depends-on,
39274         configure.ac): Likewise.
39275         * modules/unictype/property-uppercase (Depends-on, configure.ac):
39276         Likewise.
39277         * modules/unictype/property-variation-selector (Depends-on,
39278         configure.ac): Likewise.
39279         * modules/unictype/property-white-space (Depends-on, configure.ac):
39280         Likewise.
39281         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
39282         Likewise.
39283         * modules/unictype/property-xid-start (Depends-on, configure.ac):
39284         Likewise.
39285         * modules/unictype/property-zero-width (Depends-on, configure.ac):
39286         Likewise.
39287         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
39288         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
39289         Likewise.
39290
39291 2009-12-31  Bruno Haible  <bruno@clisp.org>
39292
39293         Remove unnecessary AC_C_INLINE invocation.
39294         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
39295         since 2009-08-21.
39296
39297 2009-12-31  Jim Meyering  <meyering@redhat.com>
39298
39299         maint.mk: don't require explicit gpg_key_ID in cfg.mk
39300         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
39301         With this change, we can all remove the gpg_key_ID = ... definition
39302         from our respective cfg.mk files.
39303
39304         maint.mk: create announcement template in ~/, not in /tmp
39305         * top/maint.mk (emit_upload_commands): Adjust.
39306         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
39307         Remove temporary file, .ci-msg.
39308
39309 2009-12-31  Eric Blake  <ebb9@byu.net>
39310
39311         link-warning: always build headers with link warnings
39312         * modules/arpa_inet (Makefile.am): Always build replacement
39313         header.
39314         * modules/ctype (Makefile.am): Likewise.
39315         * modules/dirent (Makefile.am): Likewise.
39316         * modules/inttypes (Makefile.am): Likewise.
39317         * modules/langinfo (Makefile.am): Likewise.
39318         * modules/locale (Makefile.am): Likewise.
39319         * modules/spawn (Makefile.am): Likewise.
39320         * modules/sys_file (Makefile.am): Likewise.
39321         * modules/sys_ioctl (Makefile.am): Likewise.
39322         * modules/sys_select (Makefile.am): Likewise.
39323         * modules/sys_socket (Makefile.am): Likewise.
39324         * modules/sys_times (Makefile.am): Likewise.
39325         * modules/sys_utsname (Makefile.am): Likewise.
39326         * modules/sys_wait (Makefile.am): Likewise.
39327         * modules/wchar (Makefile.am): Likewise.
39328         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
39329         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
39330         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
39331         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
39332         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
39333         Likewise.
39334         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39335         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
39336         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
39337         Likewise.
39338         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
39339         Likewise.
39340         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
39341         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
39342         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
39343         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39344         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
39345         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39346         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39347         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
39348         (gl_WCHAR_H_DEFAULTS): Likewise.
39349
39350 2009-12-31  Eric Blake  <ebb9@byu.net>
39351
39352         signal, spawn: use link warnings
39353         * lib/signal.in.h (sigset_t): Make unconditional.
39354         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
39355         (sigpending, sigprocmask, sigaction): Add link warnings.
39356         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
39357         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
39358         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
39359         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
39360         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
39361         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
39362         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
39363         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
39364         (posix_spawn_file_actions_destroy)
39365         (posix_spawn_file_actions_addopen)
39366         (posix_spawn_file_actions_addclose)
39367         (posix_spawn_file_actions_adddup2): Likewise.
39368         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
39369         * tests/test-signal.c (main): Enhance test.
39370
39371         spawn: improve wrapper support
39372         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
39373         (gl_SPAWN_H_DEFAULTS): New defaults.
39374         * modules/spawn (Makefile.am): Substitute them.
39375         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
39376         Only declare if missing or broken.
39377
39378         sys_times, sys_utsname: use include_next
39379         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
39380         header.
39381         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
39382         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39383         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39384         * modules/sys_times (Depends-on): Add include_next.
39385         (Makefile.am): Substitute additional values.
39386         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
39387         * lib/sys_times.in.h (includes): Include native header, if
39388         available.
39389         * lib/sys_utsname.in.h (includes): Likewise.
39390         * tests/test-sys_times.c (main): Enhance test.
39391
39392         fdutimensat: revert prior patch
39393         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
39394         utimens.h.
39395         Reported by Bruno Haible.
39396
39397 2009-12-30  Eric Blake  <ebb9@byu.net>
39398
39399         sys_wait: drop link-warning dependency
39400         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
39401         link-warning efforts.
39402         * lib/sys_wait.in.h: Likewise.
39403
39404         fdutimensat: remove bogus dependency
39405         * modules/fdutimensat (Depends-on): Drop inline.
39406
39407         unistd: fix typo
39408         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
39409
39410 2009-12-30  Bruno Haible  <bruno@clisp.org>
39411
39412         Fix compilation error with Solaris cc.
39413         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
39414         * lib/unicase/u16-is-invariant.c: Likewise.
39415         * lib/unicase/u32-is-invariant.c: Likewise.
39416         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39417
39418 2009-12-30  Bruno Haible  <bruno@clisp.org>
39419
39420         Fix test crash.
39421         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
39422         locales.
39423         Reported by Simon Josefsson <simon@josefsson.org>.
39424
39425 2009-12-30  Bruno Haible  <bruno@clisp.org>
39426
39427         Fix compilation error on most platforms.
39428         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
39429         Reported by Simon Josefsson <simon@josefsson.org>
39430         and Nelson H. F. Beebe <beebe@math.utah.edu>.
39431
39432 2009-12-30  Eric Blake  <ebb9@byu.net>
39433
39434         futimens, utimensat: work around ntfs-3g bug
39435         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
39436         a ctime bug is present, and expand workaround to cover ntfs-3g.
39437         * lib/utimens.c (fdutimens, lutimens): Likewise.
39438         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
39439         (validate_timespec): Adjust return value.
39440         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
39441         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39442         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
39443
39444 2009-12-29  Eric Blake  <ebb9@byu.net>
39445
39446         link-warning: make usage consistent
39447         * modules/ctype (Depends-on): Add link-warning.
39448         (Makefile.am): Update rules accordingly.
39449         * modules/langinfo (Depends-on, Makefile.am): Likewise.
39450         * modules/locale (Depends-on, Makefile.am): Likewise.
39451         * modules/sys_file (Makefile.am): Likewise.
39452         * modules/getopt-posix (Makefile.am): Delete unused link warning
39453         efforts.
39454         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
39455         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
39456         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
39457         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
39458
39459         stdio: remove unused variables
39460         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
39461         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
39462         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39463
39464         tests: test more substitute headers
39465         * modules/ctype-tests: New file.
39466         * modules/dirent-tests: Likewise.
39467         * modules/spawn-tests: Likewise.
39468         * modules/sys_file-tests: Likewise.
39469         * modules/sys_ioctl-tests: Likewise.
39470         * modules/sys_wait-tests: Likewise.
39471         * tests/test-ctype.c: Likewise.
39472         * tests/test-dirent.c: Likewise.
39473         * tests/test-spawn.c: Likewise.
39474         * tests/test-sys_file.c: Likewise.
39475         * tests/test-sys_ioctl.c: Likewise.
39476         * tests/test-sys_wait.c: Likewise.
39477         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
39478         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
39479         whether or not flock is in use.
39480
39481         tests: remove License section from module
39482         * modules/arpa_inet-tests: Remove unneeded section.
39483         * modules/byteswap-tests: Likewise.
39484         * modules/ceilf-tests: Likewise.
39485         * modules/ceill-tests: Likewise.
39486         * modules/crypto/des-tests: Likewise.
39487         * modules/crypto/gc-arcfour-tests: Likewise.
39488         * modules/crypto/gc-arctwo-tests: Likewise.
39489         * modules/crypto/gc-des-tests: Likewise.
39490         * modules/crypto/gc-hmac-md5-tests: Likewise.
39491         * modules/crypto/gc-hmac-sha1-tests: Likewise.
39492         * modules/crypto/gc-md2-tests: Likewise.
39493         * modules/crypto/gc-md4-tests: Likewise.
39494         * modules/crypto/gc-md5-tests: Likewise.
39495         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
39496         * modules/crypto/gc-rijndael-tests: Likewise.
39497         * modules/crypto/gc-sha1-tests: Likewise.
39498         * modules/crypto/gc-tests: Likewise.
39499         * modules/crypto/md2-tests: Likewise.
39500         * modules/crypto/md4-tests: Likewise.
39501         * modules/fcntl-h-tests: Likewise.
39502         * modules/floorf-tests: Likewise.
39503         * modules/floorl-tests: Likewise.
39504         * modules/frexp-nolibm-tests: Likewise.
39505         * modules/frexp-tests: Likewise.
39506         * modules/frexpl-nolibm-tests: Likewise.
39507         * modules/frexpl-tests: Likewise.
39508         * modules/getaddrinfo-tests: Likewise.
39509         * modules/inttypes-tests: Likewise.
39510         * modules/isfinite-tests: Likewise.
39511         * modules/isinf-tests: Likewise.
39512         * modules/ldexpl-tests: Likewise.
39513         * modules/locale-tests: Likewise.
39514         * modules/math-tests: Likewise.
39515         * modules/netdb-tests: Likewise.
39516         * modules/netinet_in-tests: Likewise.
39517         * modules/printf-frexp-tests: Likewise.
39518         * modules/printf-frexpl-tests: Likewise.
39519         * modules/priv-set-tests: Likewise.
39520         * modules/random_r-tests: Likewise.
39521         * modules/round-tests: Likewise.
39522         * modules/roundf-tests: Likewise.
39523         * modules/roundl-tests: Likewise.
39524         * modules/search-tests: Likewise.
39525         * modules/select-tests: Likewise.
39526         * modules/signal-tests: Likewise.
39527         * modules/stdbool-tests: Likewise.
39528         * modules/stddef-tests: Likewise.
39529         * modules/stdint-tests: Likewise.
39530         * modules/stdio-tests: Likewise.
39531         * modules/stdlib-tests: Likewise.
39532         * modules/string-tests: Likewise.
39533         * modules/strings-tests: Likewise.
39534         * modules/sys_select-tests: Likewise.
39535         * modules/sys_socket-tests: Likewise.
39536         * modules/sys_stat-tests: Likewise.
39537         * modules/sys_time-tests: Likewise.
39538         * modules/sys_utsname-tests: Likewise.
39539         * modules/sysexits-tests: Likewise.
39540         * modules/time-tests: Likewise.
39541         * modules/trunc-tests: Likewise.
39542         * modules/truncf-tests: Likewise.
39543         * modules/truncl-tests: Likewise.
39544         * modules/tsearch-tests: Likewise.
39545         * modules/unistd-tests: Likewise.
39546         * modules/wchar-tests: Likewise.
39547         * modules/wctype-tests: Likewise.
39548
39549         tests: fix license on several tests
39550         * tests/test-des.c: Update to GPLv3+.
39551         * tests/test-flock.c: Likewise.
39552         * tests/test-fsync.c: Likewise.
39553         * tests/test-futimens.h: Likewise.
39554         * tests/test-gc-arcfour.c: Likewise.
39555         * tests/test-gc-arctwo.c: Likewise.
39556         * tests/test-gc-des.c: Likewise.
39557         * tests/test-gc-hmac-md5.c: Likewise.
39558         * tests/test-gc-hmac-sha1.c: Likewise.
39559         * tests/test-gc-md2.c: Likewise.
39560         * tests/test-gc-md4.c: Likewise.
39561         * tests/test-gc-md5.c: Likewise.
39562         * tests/test-gc-pbkdf2-sha1.c: Likewise.
39563         * tests/test-gc-rijndael.c: Likewise.
39564         * tests/test-gc-sha1.c: Likewise.
39565         * tests/test-gc.c: Likewise.
39566         * tests/test-getcwd.c: Likewise.
39567         * tests/test-link.c: Likewise.
39568         * tests/test-link.h: Likewise.
39569         * tests/test-lutimens.h: Likewise.
39570         * tests/test-md2.c: Likewise.
39571         * tests/test-md4.c: Likewise.
39572         * tests/test-mkdir.h: Likewise.
39573         * tests/test-rename.c: Likewise.
39574         * tests/test-rename.h: Likewise.
39575         * tests/test-safe-alloc.c: Likewise.
39576         * tests/test-utimens-common.h: Likewise.
39577         * tests/test-utimens.h: Likewise.
39578
39579         maint: sync license texts
39580         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
39581         * doc/gpl-3.0.texi: Revert copyright year update.
39582         * doc/lgpl-3.0.texi: Likewise.
39583
39584 2009-12-29  Jim Meyering  <meyering@redhat.com>
39585
39586         update nearly all FSF copyright year lists to include 2009
39587         The files named by the following are exempted:
39588             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
39589               test -f "$dst" && { echo "$dst"; continue; }
39590               test -d "$dst" || continue
39591               echo "$dst"/$(basename "$src")
39592             done > exempt
39593             git ls-files tests/unictype >> exempt
39594         In the remaining files, convert to all-interval notation if
39595         - there is already at least one year interval like 2000-2003
39596         - the file is maintained by me
39597         - the file is in lib/uni*/, where that style already prevails
39598         Otherwise, use update-copyright's default.
39599
39600 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39601         and Eric Blake  <ebb9@byu.net>
39602
39603         tests: don't require debug system() to pass
39604         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
39605         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39606         * tests/test-unlink.h (test_unlink_func): Likewise.
39607         * tests/test-fstatat.c (main): ...into callers.
39608         * tests/test-lstat.c (main): Likewise.
39609         * tests/test-rmdir.c (main): Likewise.
39610         * tests/test-unlink.c (main): Likewise.
39611         * tests/test-unlinkat.c (main): Likewise.
39612         * tests/test-areadlink-with-size.c (main): Don't require a
39613         debug-only system call to pass, aiding cross-testing to mingw.
39614         * tests/test-areadlink.c (main): Likewise.
39615         * tests/test-areadlinkat-with-size.c (main): Likewise.
39616         * tests/test-areadlinkat.c (main): Likewise.
39617         * tests/test-canonicalize-lgpl.c (main): Likewise.
39618         * tests/test-canonicalize.c (main): Likewise.
39619         * tests/test-chown.c (main): Likewise.
39620         * tests/test-fchownat.c (main): Likewise.
39621         * tests/test-lchown.c (main): Likewise.
39622         * tests/test-fdutimensat.c (main): Likewise.
39623         * tests/test-futimens.c (main): Likewise.
39624         * tests/test-link.c (main): Likewise.
39625         * tests/test-linkat.c (main): Likewise.
39626         * tests/test-mkdir.c (main): Likewise.
39627         * tests/test-mkdirat.c (main): Likewise.
39628         * tests/test-mkfifo.c (main): Likewise.
39629         * tests/test-mkfifoat.c (main): Likewise.
39630         * tests/test-mknod.c (main): Likewise.
39631         * tests/test-readlink.c (main): Likewise.
39632         * tests/test-remove.c (main): Likewise.
39633         * tests/test-rename.c (main): Likewise.
39634         * tests/test-renameat.c (main): Likewise.
39635         * tests/test-symlink.c (main): Likewise.
39636         * tests/test-symlinkat.c (main): Likewise.
39637         * tests/test-utimens.c (main): Likewise.
39638         * tests/test-utimensat.c (main): Likewise.
39639
39640 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39641
39642         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
39643         on $(UNUSED_PARAMETER_H) to avoid build failure.
39644
39645 2009-12-28  Jim Meyering  <meyering@redhat.com>
39646
39647         update-copyright: you may specify a max. line length other than 72
39648         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39649
39650         maint: use consistent FSF copyright line syntax
39651         * lib/posixtm.c: Add missing comma in FSF copyright line.
39652         * lib/posixtm.h: Likewise.
39653         * lib/getugroups.c: Add missing ", Inc.".
39654
39655         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
39656         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
39657         FSF copyright line.  Remove trailing blanks.
39658
39659 2009-12-28  Eric Blake  <ebb9@byu.net>
39660
39661         test-dup2: reduce dependencies
39662         * modules/cloexec (Configure.ac): Set witness.
39663         * modules/dup2-tests (Depends-on): Drop cloexec.
39664         * tests/test-dup2.c (main): Skip portion of test if cloexec module
39665         not present.
39666         Suggested by Bruno Haible.
39667
39668 2009-12-26  Bruno Haible  <bruno@clisp.org>
39669
39670         Remove an unneeded dependency.
39671         * modules/fseterr (Depends-on): Remove dup2.
39672
39673 2009-12-26  Eric Blake  <ebb9@byu.net>
39674
39675         tests: use macros.h in more places
39676         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
39677         (ASSERT_STREAM): Provide default of stderr.
39678         * tests/test-dirent-safer.c: Include macros.h, using alternate
39679         stream for assertions.
39680         * tests/test-dup-safer.c: Likewise.
39681         * tests/test-freopen-safer.c: Likewise.
39682         * tests/test-getopt.c: Likewise.
39683         * tests/test-openat-safer.c: Likewise.
39684         * tests/test-pipe.c: Likewise.
39685         * tests/test-popen-safer.c: Likewise.
39686         * modules/dirent-safer-tests (Files): Include macros.h.
39687         * modules/unistd-safer-tests (Files): Likewise.
39688         * modules/freopen-safer-tests (Files): Likewise.
39689         * modules/getopt-posix-tests (Files): Likewise.
39690         * modules/openat-safer-tests (Files): Likewise.
39691         * modules/pipe-tests (Files): Likewise.
39692
39693 2009-12-26  Bruno Haible  <bruno@clisp.org>
39694
39695         javacomp: Portability fix.
39696         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
39697         that it also works on Solaris.
39698
39699 2009-12-26  Bruno Haible  <bruno@clisp.org>
39700
39701         localename: Fix storage allocation of gl_locale_name_thread's result.
39702         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
39703         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
39704         all platforms that have 'uselocale'.
39705         (gl_locale_name_thread_unsafe): New function, extracted from
39706         gl_locale_name_thread.
39707         (gl_locale_name_thread): Call struniq on all platforms that have
39708         'uselocale'.
39709         * tests/test-localename.c (test_locale_name_thread): Check that the
39710         resulting strings are permanently allocated.
39711         * modules/localename-tests (Depends-on): Add strdup.
39712
39713 2009-12-26  Bruno Haible  <bruno@clisp.org>
39714
39715         * tests/test-localename.c (categories): Fill in the strings.
39716
39717 2009-12-26  Jim Meyering  <meyering@redhat.com>
39718
39719         isdir: complete the removal of m4/isdir.m4
39720         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
39721
39722         isdir: clean up, since at least grep still uses it
39723         * lib/isdir.c: Include "isdir.h".
39724         (S_ISDIR): Remove now-unneeded definition.
39725         * modules/isdir (Files): Add lib/isdir.h.
39726         * lib/isdir.h: New file, with declaration.
39727         * m4/isdir.m4: Remove file -- unneeded.
39728
39729 2009-12-25  Bruno Haible  <bruno@clisp.org>
39730
39731         selinux-h: Make generated .h files standalone.
39732         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
39733         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
39734         * lib/se-selinux.in.h: Likewise.
39735         * modules/selinux-h (Depends-on): Add unused-parameter.
39736         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
39737         selinux/selinux.h and selinux/context.h.
39738         Suggested by Eric Blake.
39739
39740 2009-12-25  Bruno Haible  <bruno@clisp.org>
39741
39742         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
39743         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
39744         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
39745         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
39746         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
39747
39748 2009-12-24  Bruno Haible  <bruno@clisp.org>
39749
39750         openat: Fix warning.
39751         * lib/openat-proc.c: Include <unistd.h>.
39752
39753 2009-12-24  Bruno Haible  <bruno@clisp.org>
39754
39755         New module 'unused-parameter'.
39756         * build-aux/unused-parameter.h: New file, extracted from earlier
39757         gnulib-common.m4.
39758         * modules/unused-parameter: New file.
39759         * lib/unistr.h: Include unused-parameter.h.
39760         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
39761         _GL_UNUSED.
39762         * modules/unistr/base (Depends-on): Add unused-parameter.
39763
39764 2009-12-24  Bruno Haible  <bruno@clisp.org>
39765
39766         Add missing dependencies to 'extensions' module.
39767         * m4/extensions.m4: Add comment.
39768         * modules/accept4 (Depends-on): Add extensions.
39769         * modules/dup3 (Depends-on): Likewise.
39770         * modules/fcntl (Depends-on): Likewise.
39771         * modules/futimens (Depends-on): Likewise.
39772         * modules/mknod (Depends-on): Likewise.
39773         * modules/pipe2 (Depends-on): Likewise.
39774         * modules/stat-time (Depends-on): Likewise.
39775         * modules/strcasestr-simple (Depends-on): Likewise.
39776         * modules/strsignal (Depends-on): Likewise.
39777         * modules/utimensat (Depends-on): Likewise.
39778         * modules/localcharset (Depends-on): Likewise. Needed because of
39779         gl_FCNTL_O_FLAGS.
39780         * modules/wcrtomb (Depends-on): Likewise. Needed because of
39781         AC_TYPE_MBSTATE_T.
39782         * modules/wcsnrtombs (Depends-on): Likewise.
39783         * modules/wcsrtombs (Depends-on): Likewise.
39784
39785 2009-12-24  Bruno Haible  <bruno@clisp.org>
39786
39787         binary-io: Avoid gcc warning due to SET_BINARY.
39788         * lib/binary-io.h (SET_BINARY): Cast the result to void.
39789         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
39790
39791 2009-12-24  Bruno Haible  <bruno@clisp.org>
39792
39793         Avoid future namespace pollution on glibc systems.
39794         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
39795         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
39796         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
39797         glibc systems.
39798
39799 2009-12-24  Bruno Haible  <bruno@clisp.org>
39800
39801         Refactor common macros used in tests.
39802         * tests/macros.h: New file.
39803         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
39804         and/or <stdlib.h>, if appropriate.
39805         (ASSERT, SIZEOF): Remove macros.
39806         * tests/test-areadlink-with-size.c: Likewise.
39807         * tests/test-areadlinkat.c: Likewise.
39808         * tests/test-areadlinkat-with-size.c: Likewise.
39809         * tests/test-argmatch.c: Likewise.
39810         * tests/test-argv-iter.c: Likewise.
39811         * tests/test-array-mergesort.c: Likewise.
39812         * tests/test-array_list.c: Likewise.
39813         * tests/test-array_oset.c: Likewise.
39814         * tests/test-avltree_list.c: Likewise.
39815         * tests/test-avltree_oset.c: Likewise.
39816         * tests/test-avltreehash_list.c: Likewise.
39817         * tests/test-base64.c: Likewise.
39818         * tests/test-binary-io.c: Likewise.
39819         * tests/test-bitrotate.c: Likewise.
39820         * tests/test-btowc.c: Likewise.
39821         * tests/test-byteswap.c: Likewise.
39822         * tests/test-c-ctype.c: Likewise.
39823         * tests/test-c-stack.c: Likewise.
39824         * tests/test-c-strcasecmp.c: Likewise.
39825         * tests/test-c-strcasestr.c: Likewise.
39826         * tests/test-c-strncasecmp.c: Likewise.
39827         * tests/test-c-strstr.c: Likewise.
39828         * tests/test-canonicalize-lgpl.c: Likewise.
39829         * tests/test-canonicalize.c: Likewise.
39830         * tests/test-carray_list.c: Likewise.
39831         * tests/test-ceilf1.c: Likewise.
39832         * tests/test-ceilf2.c: Likewise.
39833         * tests/test-ceill.c: Likewise.
39834         * tests/test-chown.c: Likewise.
39835         * tests/test-cloexec.c: Likewise.
39836         * tests/test-copy-acl.c: Likewise.
39837         * tests/test-copy-file.c: Likewise.
39838         * tests/test-count-one-bits.c: Likewise.
39839         * tests/test-dprintf-posix.c: Likewise.
39840         * tests/test-dup2.c: Likewise.
39841         * tests/test-dup3.c: Likewise.
39842         * tests/test-duplocale.c: Likewise.
39843         * tests/test-fbufmode.c: Likewise.
39844         * tests/test-fchdir.c: Likewise.
39845         * tests/test-fchownat.c: Likewise.
39846         * tests/test-fcntl-safer.c: Likewise.
39847         * tests/test-fcntl.c: Likewise.
39848         * tests/test-fdopendir.c: Likewise.
39849         * tests/test-fdutimensat.c: Likewise.
39850         * tests/test-fflush2.c: Likewise.
39851         * tests/test-file-has-acl.c: Likewise.
39852         * tests/test-filevercmp.c: Likewise.
39853         * tests/test-flock.c: Likewise.
39854         * tests/test-floorf1.c: Likewise.
39855         * tests/test-floorf2.c: Likewise.
39856         * tests/test-floorl.c: Likewise.
39857         * tests/test-fnmatch.c: Likewise.
39858         * tests/test-fopen.h: Likewise.
39859         * tests/test-fpending.c: Likewise.
39860         * tests/test-fprintf-posix.c: Likewise.
39861         * tests/test-fpurge.c: Likewise.
39862         * tests/test-freadable.c: Likewise.
39863         * tests/test-freadahead.c: Likewise.
39864         * tests/test-freading.c: Likewise.
39865         * tests/test-freadptr.c: Likewise.
39866         * tests/test-freadptr2.c: Likewise.
39867         * tests/test-freadseek.c: Likewise.
39868         * tests/test-freopen.c: Likewise.
39869         * tests/test-frexp.c: Likewise.
39870         * tests/test-frexpl.c: Likewise.
39871         * tests/test-fseek.c: Likewise.
39872         * tests/test-fseeko.c: Likewise.
39873         * tests/test-fstatat.c: Likewise.
39874         * tests/test-fstrcmp.c: Likewise.
39875         * tests/test-fsync.c: Likewise.
39876         * tests/test-ftell.c: Likewise.
39877         * tests/test-ftello.c: Likewise.
39878         * tests/test-func.c: Likewise.
39879         * tests/test-futimens.c: Likewise.
39880         * tests/test-fwritable.c: Likewise.
39881         * tests/test-fwriting.c: Likewise.
39882         * tests/test-getcwd.c: Likewise.
39883         * tests/test-getdate.c: Likewise.
39884         * tests/test-getdelim.c: Likewise.
39885         * tests/test-getdtablesize.c: Likewise.
39886         * tests/test-getgroups.c: Likewise.
39887         * tests/test-getline.c: Likewise.
39888         * tests/test-getndelim2.c: Likewise.
39889         * tests/test-glob.c: Likewise.
39890         * tests/test-hash.c: Likewise.
39891         * tests/test-i-ring.c: Likewise.
39892         * tests/test-iconv-utf.c: Likewise.
39893         * tests/test-iconv.c: Likewise.
39894         * tests/test-idpriv-drop.c: Likewise.
39895         * tests/test-idpriv-droptemp.c: Likewise.
39896         * tests/test-inet_ntop.c: Likewise.
39897         * tests/test-inet_pton.c: Likewise.
39898         * tests/test-isblank.c: Likewise.
39899         * tests/test-isfinite.c: Likewise.
39900         * tests/test-isinf.c: Likewise.
39901         * tests/test-isnan.c: Likewise.
39902         * tests/test-isnand.h: Likewise.
39903         * tests/test-isnanf.h: Likewise.
39904         * tests/test-isnanl.h: Likewise.
39905         * tests/test-lchown.c: Likewise.
39906         * tests/test-ldexpl.c: Likewise.
39907         * tests/test-link.c: Likewise.
39908         * tests/test-linkat.c: Likewise.
39909         * tests/test-linked_list.c: Likewise.
39910         * tests/test-linkedhash_list.c: Likewise.
39911         * tests/test-localename.c: Likewise.
39912         * tests/test-lseek.c: Likewise.
39913         * tests/test-lstat.c: Likewise.
39914         * tests/test-mbmemcasecmp.c: Likewise.
39915         * tests/test-mbmemcasecoll.c: Likewise.
39916         * tests/test-mbrtowc.c: Likewise.
39917         * tests/test-mbscasecmp.c: Likewise.
39918         * tests/test-mbscasestr1.c: Likewise.
39919         * tests/test-mbscasestr2.c: Likewise.
39920         * tests/test-mbscasestr3.c: Likewise.
39921         * tests/test-mbscasestr4.c: Likewise.
39922         * tests/test-mbschr.c: Likewise.
39923         * tests/test-mbscspn.c: Likewise.
39924         * tests/test-mbsinit.c: Likewise.
39925         * tests/test-mbsncasecmp.c: Likewise.
39926         * tests/test-mbsnrtowcs.c: Likewise.
39927         * tests/test-mbspbrk.c: Likewise.
39928         * tests/test-mbspcasecmp.c: Likewise.
39929         * tests/test-mbsrchr.c: Likewise.
39930         * tests/test-mbsrtowcs.c: Likewise.
39931         * tests/test-mbsspn.c: Likewise.
39932         * tests/test-mbsstr1.c: Likewise.
39933         * tests/test-mbsstr2.c: Likewise.
39934         * tests/test-mbsstr3.c: Likewise.
39935         * tests/test-memchr.c: Likewise.
39936         * tests/test-memchr2.c: Likewise.
39937         * tests/test-memcmp.c: Likewise.
39938         * tests/test-memmem.c: Likewise.
39939         * tests/test-memrchr.c: Likewise.
39940         * tests/test-mkdir.c: Likewise.
39941         * tests/test-mkdirat.c: Likewise.
39942         * tests/test-mkfifo.c: Likewise.
39943         * tests/test-mkfifoat.c: Likewise.
39944         * tests/test-mknod.c: Likewise.
39945         * tests/test-nanosleep.c: Likewise.
39946         * tests/test-nl_langinfo.c: Likewise.
39947         * tests/test-obstack-printf.c: Likewise.
39948         * tests/test-open.c: Likewise.
39949         * tests/test-openat.c: Likewise.
39950         * tests/test-pipe-filter-gi1.c: Likewise.
39951         * tests/test-pipe-filter-gi2-main.c: Likewise.
39952         * tests/test-pipe-filter-ii1.c: Likewise.
39953         * tests/test-pipe-filter-ii2-main.c: Likewise.
39954         * tests/test-pipe2.c: Likewise.
39955         * tests/test-popen.h: Likewise.
39956         * tests/test-posixtm.c: Likewise.
39957         * tests/test-pread.c: Likewise.
39958         * tests/test-printf-frexp.c: Likewise.
39959         * tests/test-printf-frexpl.c: Likewise.
39960         * tests/test-printf-posix.c: Likewise.
39961         * tests/test-priv-set.c: Likewise.
39962         * tests/test-quotearg.c: Likewise.
39963         * tests/test-random_r.c: Likewise.
39964         * tests/test-rawmemchr.c: Likewise.
39965         * tests/test-rbtree_list.c: Likewise.
39966         * tests/test-rbtree_oset.c: Likewise.
39967         * tests/test-rbtreehash_list.c: Likewise.
39968         * tests/test-readlink.c: Likewise.
39969         * tests/test-remove.c: Likewise.
39970         * tests/test-rename.c: Likewise.
39971         * tests/test-renameat.c: Likewise.
39972         * tests/test-rmdir.c: Likewise.
39973         * tests/test-round1.c: Likewise.
39974         * tests/test-roundf1.c: Likewise.
39975         * tests/test-roundl.c: Likewise.
39976         * tests/test-safe-alloc.c: Likewise.
39977         * tests/test-sameacls.c: Likewise.
39978         * tests/test-set-mode-acl.c: Likewise.
39979         * tests/test-setenv.c: Likewise.
39980         * tests/test-sigaction.c: Likewise.
39981         * tests/test-signbit.c: Likewise.
39982         * tests/test-sleep.c: Likewise.
39983         * tests/test-snprintf-posix.c: Likewise.
39984         * tests/test-snprintf.c: Likewise.
39985         * tests/test-sprintf-posix.c: Likewise.
39986         * tests/test-stat-time.c: Likewise.
39987         * tests/test-stat.c: Likewise.
39988         * tests/test-strcasestr.c: Likewise.
39989         * tests/test-strchrnul.c: Likewise.
39990         * tests/test-strerror.c: Likewise.
39991         * tests/test-striconv.c: Likewise.
39992         * tests/test-striconveh.c: Likewise.
39993         * tests/test-striconveha.c: Likewise.
39994         * tests/test-strsignal.c: Likewise.
39995         * tests/test-strstr.c: Likewise.
39996         * tests/test-strtod.c: Likewise.
39997         * tests/test-strverscmp.c: Likewise.
39998         * tests/test-symlink.c: Likewise.
39999         * tests/test-symlinkat.c: Likewise.
40000         * tests/test-trunc1.c: Likewise.
40001         * tests/test-trunc2.c: Likewise.
40002         * tests/test-truncf1.c: Likewise.
40003         * tests/test-truncf2.c: Likewise.
40004         * tests/test-truncl.c: Likewise.
40005         * tests/test-uname.c: Likewise.
40006         * tests/test-unlink.c: Likewise.
40007         * tests/test-unlinkat.c: Likewise.
40008         * tests/test-unsetenv.c: Likewise.
40009         * tests/test-usleep.c: Likewise.
40010         * tests/test-utimens.c: Likewise.
40011         * tests/test-utimensat.c: Likewise.
40012         * tests/test-vasnprintf-posix.c: Likewise.
40013         * tests/test-vasnprintf-posix2.c: Likewise.
40014         * tests/test-vasnprintf.c: Likewise.
40015         * tests/test-vasprintf-posix.c: Likewise.
40016         * tests/test-vasprintf.c: Likewise.
40017         * tests/test-vdprintf-posix.c: Likewise.
40018         * tests/test-vfprintf-posix.c: Likewise.
40019         * tests/test-vprintf-posix.c: Likewise.
40020         * tests/test-vsnprintf-posix.c: Likewise.
40021         * tests/test-vsnprintf.c: Likewise.
40022         * tests/test-vsprintf-posix.c: Likewise.
40023         * tests/test-wcrtomb.c: Likewise.
40024         * tests/test-wcsnrtombs.c: Likewise.
40025         * tests/test-wcsrtombs.c: Likewise.
40026         * tests/test-wctype.c: Likewise.
40027         * tests/test-wcwidth.c: Likewise.
40028         * tests/test-xfprintf-posix.c: Likewise.
40029         * tests/test-xmemdup0.c: Likewise.
40030         * tests/test-xprintf-posix.c: Likewise.
40031         * tests/test-xvasprintf.c: Likewise.
40032         * tests/unicase/test-locale-language.c: Likewise.
40033         * tests/unicase/test-mapping-part1.h: Likewise.
40034         * tests/unicase/test-predicate-part1.h: Likewise.
40035         * tests/unicase/test-u8-casecmp.c: Likewise.
40036         * tests/unicase/test-u8-casecoll.c: Likewise.
40037         * tests/unicase/test-u8-casefold.c: Likewise.
40038         * tests/unicase/test-u8-is-cased.c: Likewise.
40039         * tests/unicase/test-u8-is-casefolded.c: Likewise.
40040         * tests/unicase/test-u8-is-lowercase.c: Likewise.
40041         * tests/unicase/test-u8-is-titlecase.c: Likewise.
40042         * tests/unicase/test-u8-is-uppercase.c: Likewise.
40043         * tests/unicase/test-u8-tolower.c: Likewise.
40044         * tests/unicase/test-u8-totitle.c: Likewise.
40045         * tests/unicase/test-u8-toupper.c: Likewise.
40046         * tests/unicase/test-u16-casecmp.c: Likewise.
40047         * tests/unicase/test-u16-casecoll.c: Likewise.
40048         * tests/unicase/test-u16-casefold.c: Likewise.
40049         * tests/unicase/test-u16-is-cased.c: Likewise.
40050         * tests/unicase/test-u16-is-casefolded.c: Likewise.
40051         * tests/unicase/test-u16-is-lowercase.c: Likewise.
40052         * tests/unicase/test-u16-is-titlecase.c: Likewise.
40053         * tests/unicase/test-u16-is-uppercase.c: Likewise.
40054         * tests/unicase/test-u16-tolower.c: Likewise.
40055         * tests/unicase/test-u16-totitle.c: Likewise.
40056         * tests/unicase/test-u16-toupper.c: Likewise.
40057         * tests/unicase/test-u32-casecmp.c: Likewise.
40058         * tests/unicase/test-u32-casecoll.c: Likewise.
40059         * tests/unicase/test-u32-casefold.c: Likewise.
40060         * tests/unicase/test-u32-is-cased.c: Likewise.
40061         * tests/unicase/test-u32-is-casefolded.c: Likewise.
40062         * tests/unicase/test-u32-is-lowercase.c: Likewise.
40063         * tests/unicase/test-u32-is-titlecase.c: Likewise.
40064         * tests/unicase/test-u32-is-uppercase.c: Likewise.
40065         * tests/unicase/test-u32-tolower.c: Likewise.
40066         * tests/unicase/test-u32-totitle.c: Likewise.
40067         * tests/unicase/test-u32-toupper.c: Likewise.
40068         * tests/unicase/test-ulc-casecmp.c: Likewise.
40069         * tests/unicase/test-ulc-casecoll.c: Likewise.
40070         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40071         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
40072         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40073         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40074         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
40075         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
40076         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40077         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40078         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40079         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
40080         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40081         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40082         * tests/unictype/test-bidi_byname.c: Likewise.
40083         * tests/unictype/test-bidi_name.c: Likewise.
40084         * tests/unictype/test-bidi_of.c: Likewise.
40085         * tests/unictype/test-bidi_test.c: Likewise.
40086         * tests/unictype/test-block_list.c: Likewise.
40087         * tests/unictype/test-block_of.c: Likewise.
40088         * tests/unictype/test-block_test.c: Likewise.
40089         * tests/unictype/test-categ_and.c: Likewise.
40090         * tests/unictype/test-categ_and_not.c: Likewise.
40091         * tests/unictype/test-categ_byname.c: Likewise.
40092         * tests/unictype/test-categ_name.c: Likewise.
40093         * tests/unictype/test-categ_none.c: Likewise.
40094         * tests/unictype/test-categ_of.c: Likewise.
40095         * tests/unictype/test-categ_or.c: Likewise.
40096         * tests/unictype/test-categ_test_withtable.c: Likewise.
40097         * tests/unictype/test-combining.c: Likewise.
40098         * tests/unictype/test-decdigit.c: Likewise.
40099         * tests/unictype/test-digit.c: Likewise.
40100         * tests/unictype/test-mirror.c: Likewise.
40101         * tests/unictype/test-numeric.c: Likewise.
40102         * tests/unictype/test-pr_byname.c: Likewise.
40103         * tests/unictype/test-pr_test.c: Likewise.
40104         * tests/unictype/test-predicate-part1.h: Likewise.
40105         * tests/unictype/test-scripts.c: Likewise.
40106         * tests/unictype/test-sy_c_ident.c: Likewise.
40107         * tests/unictype/test-sy_java_ident.c: Likewise.
40108         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
40109         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
40110         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
40111         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
40112         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
40113         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
40114         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
40115         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
40116         * tests/uninorm/test-canonical-decomposition.c: Likewise.
40117         * tests/uninorm/test-compat-decomposition.c: Likewise.
40118         * tests/uninorm/test-composition.c: Likewise.
40119         * tests/uninorm/test-decomposing-form.c: Likewise.
40120         * tests/uninorm/test-decomposition.c: Likewise.
40121         * tests/uninorm/test-u8-nfc.c: Likewise.
40122         * tests/uninorm/test-u8-nfd.c: Likewise.
40123         * tests/uninorm/test-u8-nfkc.c: Likewise.
40124         * tests/uninorm/test-u8-nfkd.c: Likewise.
40125         * tests/uninorm/test-u8-normcmp.c: Likewise.
40126         * tests/uninorm/test-u8-normcoll.c: Likewise.
40127         * tests/uninorm/test-u16-nfc.c: Likewise.
40128         * tests/uninorm/test-u16-nfd.c: Likewise.
40129         * tests/uninorm/test-u16-nfkc.c: Likewise.
40130         * tests/uninorm/test-u16-nfkd.c: Likewise.
40131         * tests/uninorm/test-u16-normcmp.c: Likewise.
40132         * tests/uninorm/test-u16-normcoll.c: Likewise.
40133         * tests/uninorm/test-u32-nfc.c: Likewise.
40134         * tests/uninorm/test-u32-nfd.c: Likewise.
40135         * tests/uninorm/test-u32-nfkc.c: Likewise.
40136         * tests/uninorm/test-u32-nfkd.c: Likewise.
40137         * tests/uninorm/test-u32-normalize-big.c: Likewise.
40138         * tests/uninorm/test-u32-normcmp.c: Likewise.
40139         * tests/uninorm/test-u32-normcoll.c: Likewise.
40140         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
40141         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
40142         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
40143         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
40144         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
40145         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
40146         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
40147         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
40148         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
40149         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
40150         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
40151         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
40152         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
40153         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
40154         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
40155         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
40156         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
40157         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
40158         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
40159         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
40160         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
40161         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
40162         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
40163         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
40164         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
40165         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
40166         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
40167         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
40168         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
40169         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
40170         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
40171         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
40172         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
40173         * tests/uniwidth/test-u8-strwidth.c: Likewise.
40174         * tests/uniwidth/test-u8-width.c: Likewise.
40175         * tests/uniwidth/test-u16-strwidth.c: Likewise.
40176         * tests/uniwidth/test-u16-width.c: Likewise.
40177         * tests/uniwidth/test-u32-strwidth.c: Likewise.
40178         * tests/uniwidth/test-u32-width.c: Likewise.
40179         * tests/uniwidth/test-uc_width.c: Likewise.
40180         * tests/uniwidth/test-uc_width2.c: Likewise.
40181         * modules/acl-tests (Files): Add tests/macros.h.
40182         * modules/areadlink-tests (Files): Likewise.
40183         * modules/areadlink-with-size-tests (Files): Likewise.
40184         * modules/areadlinkat-tests (Files): Likewise.
40185         * modules/areadlinkat-with-size-tests (Files): Likewise.
40186         * modules/argmatch-tests (Files): Likewise.
40187         * modules/argv-iter-tests (Files): Likewise.
40188         * modules/array-list-tests (Files): Likewise.
40189         * modules/array-mergesort-tests (Files): Likewise.
40190         * modules/array-oset-tests (Files): Likewise.
40191         * modules/avltree-list-tests (Files): Likewise.
40192         * modules/avltree-oset-tests (Files): Likewise.
40193         * modules/avltreehash-list-tests (Files): Likewise.
40194         * modules/base64-tests (Files): Likewise.
40195         * modules/binary-io-tests (Files): Likewise.
40196         * modules/bitrotate-tests (Files): Likewise.
40197         * modules/btowc-tests (Files): Likewise.
40198         * modules/byteswap-tests (Files): Likewise.
40199         * modules/c-ctype-tests (Files): Likewise.
40200         * modules/c-stack-tests (Files): Likewise.
40201         * modules/c-strcase-tests (Files): Likewise.
40202         * modules/c-strcasestr-tests (Files): Likewise.
40203         * modules/c-strstr-tests (Files): Likewise.
40204         * modules/canonicalize-lgpl-tests (Files): Likewise.
40205         * modules/canonicalize-tests (Files): Likewise.
40206         * modules/carray-list-tests (Files): Likewise.
40207         * modules/ceilf-tests (Files): Likewise.
40208         * modules/ceill-tests (Files): Likewise.
40209         * modules/chown-tests (Files): Likewise.
40210         * modules/cloexec-tests (Files): Likewise.
40211         * modules/copy-file-tests (Files): Likewise.
40212         * modules/count-one-bits-tests (Files): Likewise.
40213         * modules/dprintf-posix-tests (Files): Likewise.
40214         * modules/dup2-tests (Files): Likewise.
40215         * modules/dup3-tests (Files): Likewise.
40216         * modules/duplocale-tests (Files): Likewise.
40217         * modules/fbufmode-tests (Files): Likewise.
40218         * modules/fchdir-tests (Files): Likewise.
40219         * modules/fcntl-safer-tests (Files): Likewise.
40220         * modules/fcntl-tests (Files): Likewise.
40221         * modules/fdopendir-tests (Files): Likewise.
40222         * modules/fdutimensat-tests (Files): Likewise.
40223         * modules/fflush-tests (Files): Likewise.
40224         * modules/filevercmp-tests (Files): Likewise.
40225         * modules/flock-tests (Files): Likewise.
40226         * modules/floorf-tests (Files): Likewise.
40227         * modules/floorl-tests (Files): Likewise.
40228         * modules/fnmatch-tests (Files): Likewise.
40229         * modules/fopen-safer-tests (Files): Likewise.
40230         * modules/fopen-tests (Files): Likewise.
40231         * modules/fpending-tests (Files): Likewise.
40232         * modules/fprintf-posix-tests (Files): Likewise.
40233         * modules/fpurge-tests (Files): Likewise.
40234         * modules/freadable-tests (Files): Likewise.
40235         * modules/freadahead-tests (Files): Likewise.
40236         * modules/freading-tests (Files): Likewise.
40237         * modules/freadptr-tests (Files): Likewise.
40238         * modules/freadseek-tests (Files): Likewise.
40239         * modules/freopen-tests (Files): Likewise.
40240         * modules/frexp-nolibm-tests (Files): Likewise.
40241         * modules/frexp-tests (Files): Likewise.
40242         * modules/frexpl-nolibm-tests (Files): Likewise.
40243         * modules/frexpl-tests (Files): Likewise.
40244         * modules/fseek-tests (Files): Likewise.
40245         * modules/fseeko-tests (Files): Likewise.
40246         * modules/fstrcmp-tests (Files): Likewise.
40247         * modules/fsync-tests (Files): Likewise.
40248         * modules/ftell-tests (Files): Likewise.
40249         * modules/ftello-tests (Files): Likewise.
40250         * modules/func-tests (Files): Likewise.
40251         * modules/futimens-tests (Files): Likewise.
40252         * modules/fwritable-tests (Files): Likewise.
40253         * modules/fwriting-tests (Files): Likewise.
40254         * modules/getcwd-tests (Files): Likewise.
40255         * modules/getdate-tests (Files): Likewise.
40256         * modules/getdelim-tests (Files): Likewise.
40257         * modules/getdtablesize-tests (Files): Likewise.
40258         * modules/getgroups-tests (Files): Likewise.
40259         * modules/getline-tests (Files): Likewise.
40260         * modules/getndelim2-tests (Files): Likewise.
40261         * modules/glob-tests (Files): Likewise.
40262         * modules/hash-tests (Files): Likewise.
40263         * modules/i-ring-tests (Files): Likewise.
40264         * modules/iconv-tests (Files): Likewise.
40265         * modules/iconv_open-utf-tests (Files): Likewise.
40266         * modules/idpriv-drop-tests (Files): Likewise.
40267         * modules/idpriv-droptemp-tests (Files): Likewise.
40268         * modules/inet_ntop-tests (Files): Likewise.
40269         * modules/inet_pton-tests (Files): Likewise.
40270         * modules/isblank-tests (Files): Likewise.
40271         * modules/isfinite-tests (Files): Likewise.
40272         * modules/isinf-tests (Files): Likewise.
40273         * modules/isnan-tests (Files): Likewise.
40274         * modules/isnand-nolibm-tests (Files): Likewise.
40275         * modules/isnand-tests (Files): Likewise.
40276         * modules/isnanf-nolibm-tests (Files): Likewise.
40277         * modules/isnanf-tests (Files): Likewise.
40278         * modules/isnanl-nolibm-tests (Files): Likewise.
40279         * modules/isnanl-tests (Files): Likewise.
40280         * modules/lchown-tests (Files): Likewise.
40281         * modules/ldexpl-tests (Files): Likewise.
40282         * modules/link-tests (Files): Likewise.
40283         * modules/linkat-tests (Files): Likewise.
40284         * modules/linked-list-tests (Files): Likewise.
40285         * modules/linkedhash-list-tests (Files): Likewise.
40286         * modules/localename-tests (Files): Likewise.
40287         * modules/lseek-tests (Files): Likewise.
40288         * modules/lstat-tests (Files): Likewise.
40289         * modules/mbmemcasecmp-tests (Files): Likewise.
40290         * modules/mbmemcasecoll-tests (Files): Likewise.
40291         * modules/mbrtowc-tests (Files): Likewise.
40292         * modules/mbscasecmp-tests (Files): Likewise.
40293         * modules/mbscasestr-tests (Files): Likewise.
40294         * modules/mbschr-tests (Files): Likewise.
40295         * modules/mbscspn-tests (Files): Likewise.
40296         * modules/mbsinit-tests (Files): Likewise.
40297         * modules/mbsncasecmp-tests (Files): Likewise.
40298         * modules/mbsnrtowcs-tests (Files): Likewise.
40299         * modules/mbspbrk-tests (Files): Likewise.
40300         * modules/mbspcasecmp-tests (Files): Likewise.
40301         * modules/mbsrchr-tests (Files): Likewise.
40302         * modules/mbsrtowcs-tests (Files): Likewise.
40303         * modules/mbsspn-tests (Files): Likewise.
40304         * modules/mbsstr-tests (Files): Likewise.
40305         * modules/memchr-tests (Files): Likewise.
40306         * modules/memchr2-tests (Files): Likewise.
40307         * modules/memcmp-tests (Files): Likewise.
40308         * modules/memmem-tests (Files): Likewise.
40309         * modules/memrchr-tests (Files): Likewise.
40310         * modules/mkdir-tests (Files): Likewise.
40311         * modules/mkfifo-tests (Files): Likewise.
40312         * modules/mkfifoat-tests (Files): Likewise.
40313         * modules/mknod-tests (Files): Likewise.
40314         * modules/nanosleep-tests (Files): Likewise.
40315         * modules/nl_langinfo-tests (Files): Likewise.
40316         * modules/obstack-printf-tests (Files): Likewise.
40317         * modules/open-tests (Files): Likewise.
40318         * modules/openat-tests (Files): Likewise.
40319         * modules/pipe-filter-gi-tests (Files): Likewise.
40320         * modules/pipe-filter-ii-tests (Files): Likewise.
40321         * modules/pipe2-tests (Files): Likewise.
40322         * modules/popen-safer-tests (Files): Likewise.
40323         * modules/popen-tests (Files): Likewise.
40324         * modules/posixtm-tests (Files): Likewise.
40325         * modules/pread-tests (Files): Likewise.
40326         * modules/printf-frexp-tests (Files): Likewise.
40327         * modules/printf-frexpl-tests (Files): Likewise.
40328         * modules/printf-posix-tests (Files): Likewise.
40329         * modules/priv-set-tests (Files): Likewise.
40330         * modules/quotearg-tests (Files): Likewise.
40331         * modules/random_r-tests (Files): Likewise.
40332         * modules/rawmemchr-tests (Files): Likewise.
40333         * modules/rbtree-list-tests (Files): Likewise.
40334         * modules/rbtree-oset-tests (Files): Likewise.
40335         * modules/rbtreehash-list-tests (Files): Likewise.
40336         * modules/readlink-tests (Files): Likewise.
40337         * modules/remove-tests (Files): Likewise.
40338         * modules/rename-tests (Files): Likewise.
40339         * modules/renameat-tests (Files): Likewise.
40340         * modules/rmdir-tests (Files): Likewise.
40341         * modules/round-tests (Files): Likewise.
40342         * modules/roundf-tests (Files): Likewise.
40343         * modules/roundl-tests (Files): Likewise.
40344         * modules/safe-alloc-tests (Files): Likewise.
40345         * modules/setenv-tests (Files): Likewise.
40346         * modules/sigaction-tests (Files): Likewise.
40347         * modules/signbit-tests (Files): Likewise.
40348         * modules/sleep-tests (Files): Likewise.
40349         * modules/snprintf-posix-tests (Files): Likewise.
40350         * modules/snprintf-tests (Files): Likewise.
40351         * modules/sprintf-posix-tests (Files): Likewise.
40352         * modules/stat-tests (Files): Likewise.
40353         * modules/stat-time-tests (Files): Likewise.
40354         * modules/strcasestr-tests (Files): Likewise.
40355         * modules/strchrnul-tests (Files): Likewise.
40356         * modules/strerror-tests (Files): Likewise.
40357         * modules/striconv-tests (Files): Likewise.
40358         * modules/striconveh-tests (Files): Likewise.
40359         * modules/striconveha-tests (Files): Likewise.
40360         * modules/strsignal-tests (Files): Likewise.
40361         * modules/strstr-tests (Files): Likewise.
40362         * modules/strtod-tests (Files): Likewise.
40363         * modules/strverscmp-tests (Files): Likewise.
40364         * modules/symlink-tests (Files): Likewise.
40365         * modules/symlinkat-tests (Files): Likewise.
40366         * modules/trunc-tests (Files): Likewise.
40367         * modules/truncf-tests (Files): Likewise.
40368         * modules/truncl-tests (Files): Likewise.
40369         * modules/uname-tests (Files): Likewise.
40370         * modules/unicase/cased-tests (Files): Likewise.
40371         * modules/unicase/ignorable-tests (Files): Likewise.
40372         * modules/unicase/locale-language-tests (Files): Likewise.
40373         * modules/unicase/tolower-tests (Files): Likewise.
40374         * modules/unicase/totitle-tests (Files): Likewise.
40375         * modules/unicase/toupper-tests (Files): Likewise.
40376         * modules/unicase/u8-casecmp-tests (Files): Likewise.
40377         * modules/unicase/u8-casecoll-tests (Files): Likewise.
40378         * modules/unicase/u8-casefold-tests (Files): Likewise.
40379         * modules/unicase/u8-is-cased-tests (Files): Likewise.
40380         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
40381         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
40382         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
40383         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
40384         * modules/unicase/u8-tolower-tests (Files): Likewise.
40385         * modules/unicase/u8-totitle-tests (Files): Likewise.
40386         * modules/unicase/u8-toupper-tests (Files): Likewise.
40387         * modules/unicase/u16-casecmp-tests (Files): Likewise.
40388         * modules/unicase/u16-casecoll-tests (Files): Likewise.
40389         * modules/unicase/u16-casefold-tests (Files): Likewise.
40390         * modules/unicase/u16-is-cased-tests (Files): Likewise.
40391         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
40392         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
40393         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
40394         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
40395         * modules/unicase/u16-tolower-tests (Files): Likewise.
40396         * modules/unicase/u16-totitle-tests (Files): Likewise.
40397         * modules/unicase/u16-toupper-tests (Files): Likewise.
40398         * modules/unicase/u32-casecmp-tests (Files): Likewise.
40399         * modules/unicase/u32-casecoll-tests (Files): Likewise.
40400         * modules/unicase/u32-casefold-tests (Files): Likewise.
40401         * modules/unicase/u32-is-cased-tests (Files): Likewise.
40402         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
40403         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
40404         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
40405         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
40406         * modules/unicase/u32-tolower-tests (Files): Likewise.
40407         * modules/unicase/u32-totitle-tests (Files): Likewise.
40408         * modules/unicase/u32-toupper-tests (Files): Likewise.
40409         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
40410         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
40411         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
40412         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
40413         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
40414         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
40415         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
40416         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
40417         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
40418         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
40419         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
40420         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
40421         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
40422         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
40423         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
40424         * modules/unictype/bidicategory-name-tests (Files): Likewise.
40425         * modules/unictype/bidicategory-of-tests (Files): Likewise.
40426         * modules/unictype/bidicategory-test-tests (Files): Likewise.
40427         * modules/unictype/block-list-tests (Files): Likewise.
40428         * modules/unictype/block-of-tests (Files): Likewise.
40429         * modules/unictype/block-test-tests (Files): Likewise.
40430         * modules/unictype/category-C-tests (Files): Likewise.
40431         * modules/unictype/category-Cc-tests (Files): Likewise.
40432         * modules/unictype/category-Cf-tests (Files): Likewise.
40433         * modules/unictype/category-Cn-tests (Files): Likewise.
40434         * modules/unictype/category-Co-tests (Files): Likewise.
40435         * modules/unictype/category-Cs-tests (Files): Likewise.
40436         * modules/unictype/category-L-tests (Files): Likewise.
40437         * modules/unictype/category-Ll-tests (Files): Likewise.
40438         * modules/unictype/category-Lm-tests (Files): Likewise.
40439         * modules/unictype/category-Lo-tests (Files): Likewise.
40440         * modules/unictype/category-Lt-tests (Files): Likewise.
40441         * modules/unictype/category-Lu-tests (Files): Likewise.
40442         * modules/unictype/category-M-tests (Files): Likewise.
40443         * modules/unictype/category-Mc-tests (Files): Likewise.
40444         * modules/unictype/category-Me-tests (Files): Likewise.
40445         * modules/unictype/category-Mn-tests (Files): Likewise.
40446         * modules/unictype/category-N-tests (Files): Likewise.
40447         * modules/unictype/category-Nd-tests (Files): Likewise.
40448         * modules/unictype/category-Nl-tests (Files): Likewise.
40449         * modules/unictype/category-No-tests (Files): Likewise.
40450         * modules/unictype/category-P-tests (Files): Likewise.
40451         * modules/unictype/category-Pc-tests (Files): Likewise.
40452         * modules/unictype/category-Pd-tests (Files): Likewise.
40453         * modules/unictype/category-Pe-tests (Files): Likewise.
40454         * modules/unictype/category-Pf-tests (Files): Likewise.
40455         * modules/unictype/category-Pi-tests (Files): Likewise.
40456         * modules/unictype/category-Po-tests (Files): Likewise.
40457         * modules/unictype/category-Ps-tests (Files): Likewise.
40458         * modules/unictype/category-S-tests (Files): Likewise.
40459         * modules/unictype/category-Sc-tests (Files): Likewise.
40460         * modules/unictype/category-Sk-tests (Files): Likewise.
40461         * modules/unictype/category-Sm-tests (Files): Likewise.
40462         * modules/unictype/category-So-tests (Files): Likewise.
40463         * modules/unictype/category-Z-tests (Files): Likewise.
40464         * modules/unictype/category-Zl-tests (Files): Likewise.
40465         * modules/unictype/category-Zp-tests (Files): Likewise.
40466         * modules/unictype/category-Zs-tests (Files): Likewise.
40467         * modules/unictype/category-and-not-tests (Files): Likewise.
40468         * modules/unictype/category-and-tests (Files): Likewise.
40469         * modules/unictype/category-byname-tests (Files): Likewise.
40470         * modules/unictype/category-name-tests (Files): Likewise.
40471         * modules/unictype/category-none-tests (Files): Likewise.
40472         * modules/unictype/category-of-tests (Files): Likewise.
40473         * modules/unictype/category-or-tests (Files): Likewise.
40474         * modules/unictype/category-test-withtable-tests (Files): Likewise.
40475         * modules/unictype/combining-class-tests (Files): Likewise.
40476         * modules/unictype/ctype-alnum-tests (Files): Likewise.
40477         * modules/unictype/ctype-alpha-tests (Files): Likewise.
40478         * modules/unictype/ctype-blank-tests (Files): Likewise.
40479         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
40480         * modules/unictype/ctype-digit-tests (Files): Likewise.
40481         * modules/unictype/ctype-graph-tests (Files): Likewise.
40482         * modules/unictype/ctype-lower-tests (Files): Likewise.
40483         * modules/unictype/ctype-print-tests (Files): Likewise.
40484         * modules/unictype/ctype-punct-tests (Files): Likewise.
40485         * modules/unictype/ctype-space-tests (Files): Likewise.
40486         * modules/unictype/ctype-upper-tests (Files): Likewise.
40487         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
40488         * modules/unictype/decimal-digit-tests (Files): Likewise.
40489         * modules/unictype/digit-tests (Files): Likewise.
40490         * modules/unictype/mirror-tests (Files): Likewise.
40491         * modules/unictype/numeric-tests (Files): Likewise.
40492         * modules/unictype/property-alphabetic-tests (Files): Likewise.
40493         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
40494         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
40495         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
40496         Likewise.
40497         * modules/unictype/property-bidi-block-separator-tests (Files):
40498         Likewise.
40499         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
40500         Likewise.
40501         * modules/unictype/property-bidi-common-separator-tests (Files):
40502         Likewise.
40503         * modules/unictype/property-bidi-control-tests (Files): Likewise.
40504         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
40505         Likewise.
40506         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
40507         Likewise.
40508         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
40509         Likewise.
40510         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
40511         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
40512         Likewise.
40513         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
40514         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
40515         Likewise.
40516         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
40517         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
40518         * modules/unictype/property-bidi-segment-separator-tests (Files):
40519         Likewise.
40520         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
40521         * modules/unictype/property-byname-tests (Files): Likewise.
40522         * modules/unictype/property-combining-tests (Files): Likewise.
40523         * modules/unictype/property-composite-tests (Files): Likewise.
40524         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
40525         * modules/unictype/property-dash-tests (Files): Likewise.
40526         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
40527         * modules/unictype/property-default-ignorable-code-point-tests (Files):
40528         Likewise.
40529         * modules/unictype/property-deprecated-tests (Files): Likewise.
40530         * modules/unictype/property-diacritic-tests (Files): Likewise.
40531         * modules/unictype/property-extender-tests (Files): Likewise.
40532         * modules/unictype/property-format-control-tests (Files): Likewise.
40533         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
40534         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
40535         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
40536         * modules/unictype/property-hex-digit-tests (Files): Likewise.
40537         * modules/unictype/property-hyphen-tests (Files): Likewise.
40538         * modules/unictype/property-id-continue-tests (Files): Likewise.
40539         * modules/unictype/property-id-start-tests (Files): Likewise.
40540         * modules/unictype/property-ideographic-tests (Files): Likewise.
40541         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
40542         * modules/unictype/property-ids-trinary-operator-tests (Files):
40543         Likewise.
40544         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
40545         * modules/unictype/property-iso-control-tests (Files): Likewise.
40546         * modules/unictype/property-join-control-tests (Files): Likewise.
40547         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
40548         * modules/unictype/property-line-separator-tests (Files): Likewise.
40549         * modules/unictype/property-logical-order-exception-tests (Files):
40550         Likewise.
40551         * modules/unictype/property-lowercase-tests (Files): Likewise.
40552         * modules/unictype/property-math-tests (Files): Likewise.
40553         * modules/unictype/property-non-break-tests (Files): Likewise.
40554         * modules/unictype/property-not-a-character-tests (Files): Likewise.
40555         * modules/unictype/property-numeric-tests (Files): Likewise.
40556         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
40557         * modules/unictype/property-other-default-ignorable-code-point-tests
40558         (Files): Likewise.
40559         * modules/unictype/property-other-grapheme-extend-tests (Files):
40560         Likewise.
40561         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
40562         * modules/unictype/property-other-id-start-tests (Files): Likewise.
40563         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
40564         * modules/unictype/property-other-math-tests (Files): Likewise.
40565         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
40566         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
40567         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
40568         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
40569         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
40570         * modules/unictype/property-private-use-tests (Files): Likewise.
40571         * modules/unictype/property-punctuation-tests (Files): Likewise.
40572         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
40573         * modules/unictype/property-radical-tests (Files): Likewise.
40574         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
40575         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
40576         * modules/unictype/property-space-tests (Files): Likewise.
40577         * modules/unictype/property-terminal-punctuation-tests (Files):
40578         Likewise.
40579         * modules/unictype/property-test-tests (Files): Likewise.
40580         * modules/unictype/property-titlecase-tests (Files): Likewise.
40581         * modules/unictype/property-unassigned-code-value-tests (Files):
40582         Likewise.
40583         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
40584         * modules/unictype/property-uppercase-tests (Files): Likewise.
40585         * modules/unictype/property-variation-selector-tests (Files): Likewise.
40586         * modules/unictype/property-white-space-tests (Files): Likewise.
40587         * modules/unictype/property-xid-continue-tests (Files): Likewise.
40588         * modules/unictype/property-xid-start-tests (Files): Likewise.
40589         * modules/unictype/property-zero-width-tests (Files): Likewise.
40590         * modules/unictype/scripts-tests (Files): Likewise.
40591         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
40592         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
40593         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
40594         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
40595         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
40596         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
40597         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
40598         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
40599         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
40600         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
40601         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
40602         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
40603         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
40604         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
40605         * modules/uninorm/composition-tests (Files): Likewise.
40606         * modules/uninorm/decomposing-form-tests (Files): Likewise.
40607         * modules/uninorm/decomposition-tests (Files): Likewise.
40608         * modules/uninorm/filter-tests (Files): Likewise.
40609         * modules/uninorm/nfc-tests (Files): Likewise.
40610         * modules/uninorm/nfd-tests (Files): Likewise.
40611         * modules/uninorm/nfkc-tests (Files): Likewise.
40612         * modules/uninorm/nfkd-tests (Files): Likewise.
40613         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
40614         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
40615         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
40616         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
40617         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
40618         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
40619         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
40620         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40621         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
40622         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
40623         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
40624         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
40625         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40626         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
40627         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
40628         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
40629         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
40630         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40631         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
40632         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
40633         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
40634         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
40635         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40636         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
40637         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
40638         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
40639         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
40640         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
40641         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
40642         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
40643         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
40644         * modules/uniwidth/u8-width-tests (Files): Likewise.
40645         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
40646         * modules/uniwidth/u16-width-tests (Files): Likewise.
40647         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
40648         * modules/uniwidth/u32-width-tests (Files): Likewise.
40649         * modules/uniwidth/width-tests (Files): Likewise.
40650         * modules/unlink-tests (Files): Likewise.
40651         * modules/unsetenv-tests (Files): Likewise.
40652         * modules/usleep-tests (Files): Likewise.
40653         * modules/utimens-tests (Files): Likewise.
40654         * modules/utimensat-tests (Files): Likewise.
40655         * modules/vasnprintf-posix-tests (Files): Likewise.
40656         * modules/vasnprintf-tests (Files): Likewise.
40657         * modules/vasprintf-posix-tests (Files): Likewise.
40658         * modules/vasprintf-tests (Files): Likewise.
40659         * modules/vdprintf-posix-tests (Files): Likewise.
40660         * modules/vfprintf-posix-tests (Files): Likewise.
40661         * modules/vprintf-posix-tests (Files): Likewise.
40662         * modules/vsnprintf-posix-tests (Files): Likewise.
40663         * modules/vsnprintf-tests (Files): Likewise.
40664         * modules/vsprintf-posix-tests (Files): Likewise.
40665         * modules/wcrtomb-tests (Files): Likewise.
40666         * modules/wcsnrtombs-tests (Files): Likewise.
40667         * modules/wcsrtombs-tests (Files): Likewise.
40668         * modules/wctype-tests (Files): Likewise.
40669         * modules/wcwidth-tests (Files): Likewise.
40670         * modules/xmemdup0-tests (Files): Likewise.
40671         * modules/xprintf-posix-tests (Files): Likewise.
40672         * modules/xvasprintf-tests (Files): Likewise.
40673
40674 2009-12-24  Eric Blake  <ebb9@byu.net>
40675
40676         test-nanosleep: fix typo
40677         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
40678         patch.
40679         Reported by Bruno Haible.
40680
40681 2009-12-24  Bruno Haible  <bruno@clisp.org>
40682
40683         Reduce namespace pollution on glibc systems.
40684         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
40685         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
40686         systems.
40687         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
40688         <getopt.h> on glibc systems.
40689         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
40690         systems.
40691         * lib/fcntl.c: Include <unistd.h> here instead.
40692
40693 2009-12-24  Bruno Haible  <bruno@clisp.org>
40694
40695         * lib/stdlib.in.h (includes): Fix typo in today's commit.
40696
40697 2009-12-24  Eric Blake  <ebb9@byu.net>
40698
40699         tests: add signature checks
40700         * tests/signature.h (SIGNATURE_CHECK): New file.
40701         * modules/atexit-tests (Files): Use it.
40702         * modules/btowc-tests (Files): Likewise.
40703         * modules/canonicalize-lgpl-tests (Files): Likewise.
40704         * modules/ceilf-tests (Files): Likewise.
40705         * modules/ceill-tests (Files): Likewise.
40706         * modules/chown-tests (Files): Likewise.
40707         * modules/dprintf-posix-tests (Files): Likewise.
40708         * modules/dup2-tests (Files): Likewise.
40709         * modules/dup3-tests (Files): Likewise.
40710         * modules/duplocale-tests (Files): Likewise.
40711         * modules/fchdir-tests (Files): Likewise.
40712         * modules/fcntl-tests (Files): Likewise.
40713         * modules/fdopendir-tests (Files): Likewise.
40714         * modules/fflush-tests (Files): Likewise.
40715         * modules/flock-tests (Files): Likewise.
40716         * modules/floorf-tests (Files): Likewise.
40717         * modules/floorl-tests (Files): Likewise.
40718         * modules/fnmatch-tests (Files): Likewise.
40719         * modules/fopen-tests (Files): Likewise.
40720         * modules/fprintf-posix-tests (Files): Likewise.
40721         * modules/freopen-tests (Files): Likewise.
40722         * modules/frexp-nolibm-tests (Files): Likewise.
40723         * modules/frexp-tests (Files): Likewise.
40724         * modules/frexpl-nolibm-tests (Files): Likewise.
40725         * modules/frexpl-tests (Files): Likewise.
40726         * modules/fseek-tests (Files): Likewise.
40727         * modules/fseeko-tests (Files): Likewise.
40728         * modules/fsync-tests (Files): Likewise.
40729         * modules/ftell-tests (Files): Likewise.
40730         * modules/ftello-tests (Files): Likewise.
40731         * modules/futimens-tests (Files): Likewise.
40732         * modules/getaddrinfo-tests (Files): Likewise.
40733         * modules/getcwd-tests (Files): Likewise.
40734         * modules/getdelim-tests (Files): Likewise.
40735         * modules/getdtablesize-tests (Files): Likewise.
40736         * modules/getgroups-tests (Files): Likewise.
40737         * modules/gethostname-tests (Files): Likewise.
40738         * modules/getline-tests (Files): Likewise.
40739         * modules/getopt-posix-tests (Files): Likewise.
40740         * modules/gettimeofday-tests (Files): Likewise.
40741         * modules/glob-tests (Files): Likewise.
40742         * modules/iconv-tests (Files): Likewise.
40743         * modules/inet_ntop-tests (Files): Likewise.
40744         * modules/inet_pton-tests (Files): Likewise.
40745         * modules/isblank-tests (Files): Likewise.
40746         * modules/lchown-tests (Files): Likewise.
40747         * modules/ldexpl-tests (Files): Likewise.
40748         * modules/link-tests (Files): Likewise.
40749         * modules/linkat-tests (Files): Likewise.
40750         * modules/lseek-tests (Files): Likewise.
40751         * modules/lstat-tests (Files): Likewise.
40752         * modules/mbrtowc-tests (Files): Likewise.
40753         * modules/mbsinit-tests (Files): Likewise.
40754         * modules/mbsnrtowcs-tests (Files): Likewise.
40755         * modules/mbsrtowcs-tests (Files): Likewise.
40756         * modules/memchr-tests (Files): Likewise.
40757         * modules/memcmp-tests (Files): Likewise.
40758         * modules/memmem-tests (Files): Likewise.
40759         * modules/memrchr-tests (Files): Likewise.
40760         * modules/mkdir-tests (Files): Likewise.
40761         * modules/mkfifo-tests (Files): Likewise.
40762         * modules/mkfifoat-tests (Files): Likewise.
40763         * modules/mknod-tests (Files): Likewise.
40764         * modules/nanosleep-tests (Files): Likewise.
40765         * modules/nl_langinfo-tests (Files): Likewise.
40766         * modules/obstack-printf-tests (Files): Likewise.
40767         * modules/open-tests (Files): Likewise.
40768         * modules/openat-tests (Files): Likewise.
40769         * modules/perror-tests (Files): Likewise.
40770         * modules/pipe2-tests (Files): Likewise.
40771         * modules/poll-tests (Files): Likewise.
40772         * modules/popen-tests (Files): Likewise.
40773         * modules/posix_spawn-tests (Files): Likewise.
40774         * modules/posix_spawnp-tests (Files): Likewise.
40775         * modules/pread-tests (Files): Likewise.
40776         * modules/printf-posix-tests (Files): Likewise.
40777         * modules/pty-tests (Files): Likewise.
40778         * modules/random_r-tests (Files): Likewise.
40779         * modules/rawmemchr-tests (Files): Likewise.
40780         * modules/readlink-tests (Files): Likewise.
40781         * modules/remove-tests (Files): Likewise.
40782         * modules/rename-tests (Files): Likewise.
40783         * modules/renameat-tests (Files): Likewise.
40784         * modules/rmdir-tests (Files): Likewise.
40785         * modules/round-tests (Files): Likewise.
40786         * modules/roundf-tests (Files): Likewise.
40787         * modules/roundl-tests (Files): Likewise.
40788         * modules/select-tests (Files): Likewise.
40789         * modules/setenv-tests (Files): Likewise.
40790         * modules/sigaction-tests (Files): Likewise.
40791         * modules/sleep-tests (Files): Likewise.
40792         * modules/snprintf-posix-tests (Files): Likewise.
40793         * modules/snprintf-tests (Files): Likewise.
40794         * modules/sprintf-posix-tests (Files): Likewise.
40795         * modules/stat-tests (Files): Likewise.
40796         * modules/strcasestr-tests (Files): Likewise.
40797         * modules/strchrnul-tests (Files): Likewise.
40798         * modules/strerror-tests (Files): Likewise.
40799         * modules/strsignal-tests (Files): Likewise.
40800         * modules/strstr-tests (Files): Likewise.
40801         * modules/strtod-tests (Files): Likewise.
40802         * modules/strverscmp-tests (Files): Likewise.
40803         * modules/symlink-tests (Files): Likewise.
40804         * modules/symlinkat-tests (Files): Likewise.
40805         * modules/times-tests (Files): Likewise.
40806         * modules/trunc-tests (Files): Likewise.
40807         * modules/truncf-tests (Files): Likewise.
40808         * modules/truncl-tests (Files): Likewise.
40809         * modules/tsearch-tests (Files): Likewise.
40810         * modules/uname-tests (Files): Likewise.
40811         * modules/unlink-tests (Files): Likewise.
40812         * modules/unsetenv-tests (Files): Likewise.
40813         * modules/usleep-tests (Files): Likewise.
40814         * modules/utimensat-tests (Files): Likewise.
40815         * modules/vasprintf-tests (Files): Likewise.
40816         * modules/vdprintf-posix-tests (Files): Likewise.
40817         * modules/vfprintf-posix-tests (Files): Likewise.
40818         * modules/vprintf-posix-tests (Files): Likewise.
40819         * modules/vsnprintf-posix-tests (Files): Likewise.
40820         * modules/vsnprintf-tests (Files): Likewise.
40821         * modules/vsprintf-posix-tests (Files): Likewise.
40822         * modules/wcrtomb-tests (Files): Likewise.
40823         * modules/wcsnrtombs-tests (Files): Likewise.
40824         * modules/wcsrtombs-tests (Files): Likewise.
40825         * modules/wcwidth-tests (Files): Likewise.
40826         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
40827         * tests/test-isinf.c (isinf): Likewise.
40828         * tests/test-isnan.c (isnan): Likewise.
40829         * tests/test-signbit.c (signbit): Likewise.
40830         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
40831         declaration, either as macro or with correct signature.
40832         (select): Ensure function under test is declared with correct
40833         signature in correct header.
40834         * tests/test-atexit.c (atexit): Likewise.
40835         * tests/test-btowc.c (btowc): Likewise.
40836         * tests/test-canonicalize-lgpl.c (realpath)
40837         (canonicalize_file_name): Likewise.
40838         * tests/test-ceilf1.c (ceilf): Likewise.
40839         * tests/test-ceill.c (ceill): Likewise.
40840         * tests/test-chown.c (chown): Likewise.
40841         * tests/test-dprintf-posix.c (dprintf): Likewise.
40842         * tests/test-dup2.c (dup2): Likewise.
40843         * tests/test-dup3.c (dup3): Likewise.
40844         * tests/test-duplocale.c (duplocale): Likewise.
40845         * tests/test-fchdir.c (fchdir): Likewise.
40846         * tests/test-fchownat.c (fchownat): Likewise.
40847         * tests/test-fcntl.c (fcntl): Likewise.
40848         * tests/test-fdopendir.c (fdopendir): Likewise.
40849         * tests/test-fflush.c (fflush): Likewise.
40850         * tests/test-flock.c (flock): Likewise.
40851         * tests/test-floorf1.c (floorf): Likewise.
40852         * tests/test-floorl.c (floorl): Likewise.
40853         * tests/test-fnmatch.c (fnmatch): Likewise.
40854         * tests/test-fopen.c (fopen): Likewise.
40855         * tests/test-fprintf-posix.c (fprintf): Likewise.
40856         * tests/test-freopen.c (freopen): Likewise.
40857         * tests/test-frexp.c (frexp): Likewise.
40858         * tests/test-frexpl.c (frexpl): Likewise.
40859         * tests/test-fseek.c (fseek): Likewise.
40860         * tests/test-fseeko.c (fseeko): Likewise.
40861         * tests/test-fstatat.c (fstatat): Likewise.
40862         * tests/test-fsync.c (fsync): Likewise.
40863         * tests/test-ftell.c (ftell): Likewise.
40864         * tests/test-ftello.c (ftello): Likewise.
40865         * tests/test-futimens.c (futimens): Likewise.
40866         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
40867         (gai_strerror): Likewise.
40868         * tests/test-getcwd.c (getcwd): Likewise.
40869         * tests/test-getdelim.c (getdelim): Likewise.
40870         * tests/test-getdtablesize.c (getdtablesize): Likewise.
40871         * tests/test-getgroups.c (getgroups): Likewise.
40872         * tests/test-gethostname.c (gethostname): Likewise.
40873         * tests/test-getline.c (getline): Likewise.
40874         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
40875         Likewise.
40876         * tests/test-gettimeofday.c (gettimeofday): Likewise.
40877         * tests/test-glob.c (glob, globfree): Likewise.
40878         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
40879         * tests/test-inet_ntop.c (inet_ntop): Likewise.
40880         * tests/test-inet_pton.c (inet_pton): Likewise.
40881         * tests/test-isblank.c (isblank): Likewise.
40882         * tests/test-lchown.c (lchown): Likewise.
40883         * tests/test-ldexpl.c (ldexpl): Likewise.
40884         * tests/test-link.c (link): Likewise.
40885         * tests/test-linkat.c (linkat): Likewise.
40886         * tests/test-lseek.c (lseek): Likewise.
40887         * tests/test-lstat.c (lstat): Likewise.
40888         * tests/test-mbrtowc.c (mbrtowc): Likewise.
40889         * tests/test-mbsinit.c (mbsinit): Likewise.
40890         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
40891         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
40892         * tests/test-memchr.c (memchr): Likewise.
40893         * tests/test-memcmp.c (memcmp): Likewise.
40894         * tests/test-memmem.c (memmem): Likewise.
40895         * tests/test-memrchr.c (memrchr): Likewise.
40896         * tests/test-mkdir.c (mkdir): Likewise.
40897         * tests/test-mkdirat.c (mkdirat): Likewise.
40898         * tests/test-mkfifo.c (mkfifo): Likewise.
40899         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
40900         * tests/test-mknod.c (mknod): Likewise.
40901         * tests/test-nanosleep.c (nanosleep): Likewise.
40902         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
40903         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
40904         Likewise.
40905         * tests/test-open.c (open): Likewise.
40906         * tests/test-openat.c (openat): Likewise.
40907         * tests/test-perror.c (perror): Likewise.
40908         * tests/test-pipe2.c (pipe2): Likewise.
40909         * tests/test-poll.c (poll): Likewise.
40910         * tests/test-popen.c (popen, pclose): Likewise.
40911         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
40912         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
40913         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
40914         (posix_spawn_file_actions_destroy)
40915         (posix_spawn_file_actions_addclose)
40916         (posix_spawn_file_actions_addopen)
40917         (posix_spawn_file_actions_adddup2): Likewise.
40918         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
40919         * tests/test-pread.c (pread): Likewise.
40920         * tests/test-printf-posix.c (printf): Likewise.
40921         * tests/test-pty.c (openpty, forkpty): Likewise.
40922         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
40923         (random_r): Likewise.
40924         * tests/test-rawmemchr.c (rawmemchr): Likewise.
40925         * tests/test-readlink.c (readlink): Likewise.
40926         * tests/test-remove.c (remove): Likewise.
40927         * tests/test-rename.c (rename): Likewise.
40928         * tests/test-renameat.c (renameat): Likewise.
40929         * tests/test-rmdir.c (rmdir): Likewise.
40930         * tests/test-round1.c (round): Likewise.
40931         * tests/test-roundf1.c (roundf): Likewise.
40932         * tests/test-roundl.c (roundl): Likewise.
40933         * tests/test-setenv.c (setenv): Likewise.
40934         * tests/test-sigaction.c (sigaction): Likewise.
40935         * tests/test-sleep.c (sleep): Likewise.
40936         * tests/test-snprintf.c (snprintf): Likewise.
40937         * tests/test-sprintf-posix.c (sprintf): Likewise.
40938         * tests/test-stat.c (stat): Likewise.
40939         * tests/test-stpncpy.c (stpncpy): Likewise.
40940         * tests/test-strcasestr.c (strcasestr): Likewise.
40941         * tests/test-strchrnul.c (strchrnul): Likewise.
40942         * tests/test-strerror.c (strerror): Likewise.
40943         * tests/test-strsignal.c (strsignal): Likewise.
40944         * tests/test-strstr.c (strstr): Likewise.
40945         * tests/test-strtod.c (strtod): Likewise.
40946         * tests/test-strverscmp.c (strverscmp): Likewise.
40947         * tests/test-symlink.c (symlink): Likewise.
40948         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
40949         * tests/test-times.c (times): Likewise.
40950         * tests/test-trunc1.c (trunc): Likewise.
40951         * tests/test-truncf1.c (truncf): Likewise.
40952         * tests/test-truncl.c (truncl): Likewise.
40953         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
40954         Likewise.
40955         * tests/test-uname.c (uname): Likewise.
40956         * tests/test-unlink.c (unlink): Likewise.
40957         * tests/test-unlinkat.c (unlinkat): Likewise.
40958         * tests/test-unsetenv.c (unsetenv): Likewise.
40959         * tests/test-usleep.c (usleep): Likewise.
40960         * tests/test-utimensat.c (utimensat): Likewise.
40961         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
40962         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
40963         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
40964         * tests/test-vprintf-posix.c (vprintf): Likewise.
40965         * tests/test-vsnprintf.c (vsnprintf): Likewise.
40966         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
40967         * tests/test-wcrtomb.c (wcrtomb): Likewise.
40968         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
40969         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
40970         * tests/test-wcwidth.c (wcwidth): Likewise.
40971
40972         build: pull in conditional headers during GNULIB_POSIXCHECK
40973         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
40974         definitions from any conditionally-included headers.
40975         * lib/stdlib.in.h (includes): Likewise.
40976         * lib/unistd.in.h (includes): Likewise.
40977
40978 2009-12-24  Bruno Haible  <bruno@clisp.org>
40979
40980         * tests/test-argv-iter.c: Include header file being tested immediately
40981         after config.h.
40982         * tests/test-base64.c: Likewise.
40983         * tests/test-flock.c: Likewise.
40984         * tests/test-fsync.c: Likewise.
40985         * tests/test-getdate.c: Likewise.
40986         * tests/test-getndelim2.c: Likewise.
40987         * tests/test-isfinite.c: Likewise.
40988         * tests/test-isinf.c: Likewise.
40989         * tests/test-strerror.c: Likewise.
40990         * tests/test-strsignal.c: Likewise.
40991
40992 2009-12-23  Eric Blake  <ebb9@byu.net>
40993
40994         unistd: work around cygwin bug
40995         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
40996         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
40997         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40998
40999 2009-12-23  Bruno Haible  <bruno@clisp.org>
41000
41001         localename: More tests.
41002         * tests/test-localename.c (SIZEOF): New macro.
41003         (categories): New variable.
41004         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
41005         test_locale_name_default): Add test w.r.t. thread locale.
41006         (test_locale_name_thread): New function.
41007         (main): Invoke it.
41008
41009         localename: Make aware of thread locale.
41010         * lib/localename.h (gl_locale_name_thread): New declaration.
41011         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
41012         behaviour with respect to thread locale.
41013         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
41014         <langinfo.h>, glthread/lock.h.
41015         (SIZE_BITS): New macro.
41016         (string_hash): New function.
41017         (struct hash_node): New type.
41018         (HASH_TABLE_SIZE): New macro.
41019         (struniq_hash_table, struniq_lock): New variables.
41020         (struniq): New function.
41021         (gl_locale_name_thread): New function.
41022         (gl_locale_name): Invoke it.
41023         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
41024         * modules/localename (Depends-on): Add lock.
41025         Reported by Mike Gran <spk121@yahoo.com>.
41026
41027 2009-12-23  Eric Blake  <ebb9@byu.net>
41028
41029         va-args: new module
41030         * modules/va-args: New file.
41031         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
41032         * MODULES.html.sh (Core language properties): Mention it.
41033
41034         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
41035         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
41036         named alias for __attribute__((__unused__)).
41037         * lib/chown.c: Update client.
41038         * lib/fchmodat.c: Likewise.
41039         * lib/fts.c: Likewise.
41040         * lib/getdate.y: Likewise.
41041         * lib/getgroups.c: Likewise.
41042         * lib/getopt.c: Likewise.
41043         * lib/getugroups.c: Likewise.
41044         * lib/mkdir.c: Likewise.
41045         * lib/mkfifo.c: Likewise.
41046         * lib/mkfifoat.c: Likewise.
41047         * lib/mknod.c: Likewise.
41048         * lib/mknodat.c: Likewise.
41049         * lib/readlink.c: Likewise.
41050         * lib/se-context.in.h: Likewise.
41051         * lib/se-selinux.in.h: Likewise.
41052         * lib/sockets.c: Likewise.
41053         * lib/symlink.c: Likewise.
41054         * lib/symlinkat.c: Likewise.
41055         * lib/unicodeio.c: Likewise.
41056         * lib/unistr.h: Likewise.
41057         * tests/test-areadlink.c: Likewise.
41058         * tests/test-areadlinkat.c: Likewise.
41059         * tests/test-filenamecat.c: Likewise.
41060         * tests/test-fseeko.c: Likewise.
41061         * tests/test-ftello.c: Likewise.
41062         * tests/test-getdate.c: Likewise.
41063         * tests/test-getgroups.c: Likewise.
41064         * tests/test-gethostname.c: Likewise.
41065         * tests/test-quotearg.c: Likewise.
41066         * tests/test-version-etc.c: Likewise.
41067         * tests/test-xalloc-die.c: Likewise.
41068         * tests/test-xfprintf-posix.c: Likewise.
41069         * tests/test-xprintf-posix.c: Likewise.
41070         * tests/test-xvasprintf.c: Likewise.
41071
41072         tests: avoid compiler warnings
41073         * tests/test-fcntl.c (main): Delete unused parameters.
41074         * tests/test-freopen-safer.c (main): Likewise.
41075         * tests/test-xalloc-die.c (main): Mark unused parameters.
41076         * tests/test-fseeko.c (main): Likewise.
41077         * tests/test-ftello.c (main): Likewise.
41078         * tests/test-nanosleep.c (main): Avoid declaration warning.
41079         * tests/test-sleep.c (main): Likewise.
41080         * tests/test-unsetenv.c (main): Silence warning about string
41081         literal.
41082         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
41083
41084 2009-12-23  Bruno Haible  <bruno@clisp.org>
41085
41086         * tests/test-localename.c (test_locale_name): New function, extracted
41087         from main. Also test mixed situations.
41088         (test_locale_name_posix, test_locale_name_environ,
41089         test_locale_name_default): New functions.
41090         (main): Invoke them all.
41091         * modules/localename-tests (configure.ac): Test for newlocale.
41092
41093 2009-12-23  Bruno Haible  <bruno@clisp.org>
41094
41095         unistd: Ensure getcwd gets declared before being overridden.
41096         * lib/unistd.in.h: Conditionally include <io.h>.
41097
41098 2009-12-22  Bruno Haible  <bruno@clisp.org>
41099
41100         wchar: Diagnose broken combination of glibc and gcc versions and flags.
41101         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
41102         (gl_WCHAR_H): Invoke it.
41103         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
41104         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
41105         Reported by Karl Berry <karl@freefriends.org>.
41106
41107 2009-12-22  Eric Blake  <ebb9@byu.net>
41108
41109         math, unistd: avoid redundant includes
41110         * lib/math.in.h (isnan): No need to re-include <math.h>.
41111         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
41112
41113         getsubopt: work around cygwin bug
41114         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
41115         avoid conflicting with system getsubopt.
41116         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
41117         bug.
41118
41119         getopt: synchronize from glibc
41120         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
41121         parameter order.  Adjust all callers.
41122         (_getopt_internal_r, main): Adjust quoting in error messages.
41123         Drop considerations for outdated POSIX 1003.2 error message.
41124         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
41125         callers.
41126         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
41127
41128         test-getopt: test stderr behavior
41129         * modules/getopt-posix-tests (Depends-on): Add dup2.
41130         * tests/test-getopt.c (ASSERT): Avoid stderr.
41131         (main): Move stderr to a temporary file.
41132         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
41133         Instead, add parameter to inform caller if output occurred.
41134         (test_getopt): Adjust all existing tests to expect silence, and
41135         add new tests of leading ":".
41136         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41137         glibc shortcomings with leading "-:" or "+:" in optstring.
41138         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41139         Likewise.
41140         * doc/posix-functions/getopt.texi (getopt): Likewise.
41141
41142         test-getopt: enhance test
41143         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
41144         supports optind=0.
41145         * tests/test-getopt.c (OPTIND_MIN): Move...
41146         * tests/test-getopt.h (OPTIND_MIN): ...here.
41147         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
41148         Require that optind=0 works, since modern BSD supports it in
41149         addition to optreset, and since coreutils expects it.
41150         (test_getopt_long_only): New test.
41151         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41152         glibc shortcomings with 'W;', and enforcement of optind=0.
41153         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41154         Likewise.
41155
41156 2009-12-21  Bruno Haible  <bruno@clisp.org>
41157
41158         localename: Improvements for MacOS X and Cygwin.
41159         * lib/localename.h (gl_locale_name_environ): New declaration.
41160         * lib/localename.c (gl_locale_name_environ): New function, extracted from
41161         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
41162         (gl_locale_name_posix): Invoke it.
41163         (gl_locale_name_default): Add comments. Use Windows native API also on
41164         Cygwin.
41165
41166 2009-12-21  Bruno Haible  <bruno@clisp.org>
41167
41168         Update list of Win32 locale ids.
41169         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
41170         (LANG_SAMI): Renamed from LANG_SAAMI.
41171         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
41172         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
41173         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
41174         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
41175         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
41176         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
41177         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
41178         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
41179         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
41180         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
41181         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
41182         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
41183         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
41184         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
41185         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
41186         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
41187         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
41188         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
41189         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
41190         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
41191         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
41192         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
41193         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
41194         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
41195         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
41196         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
41197         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
41198         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
41199         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
41200         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
41201         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
41202         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
41203         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
41204         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
41205         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
41206         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
41207         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
41208         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
41209         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
41210         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
41211         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
41212         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
41213         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
41214         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
41215         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
41216         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
41217         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
41218         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
41219         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
41220         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
41221         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
41222         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
41223         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
41224         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
41225         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
41226         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
41227         Add more languages and countries for Sami, Sorbian. Add more countries
41228         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
41229         for Pashto. Change country for Syriac, Tswana.
41230
41231 2009-12-21  Eric Blake  <ebb9@byu.net>
41232
41233         test-utimens: avoid spurious failure
41234         * tests/test-chown.h (nap): Factor...
41235         * tests/nap.h: ...into new file.
41236         * tests/test-lchown.h (nap): Avoid duplication.
41237         * tests/test-utimens-common.h (nap): Use shared implementation,
41238         necessary on file systems with 1-second resolution.
41239         * modules/chown-tests (Files): Include new file.
41240         * modules/fdutimensat-tests (Files): Likewise.
41241         * modules/futimens-tests (Files): Likewise.
41242         * modules/lchown-tests (Files): Likewise.
41243         * modules/openat-tests (Files): Likewise.
41244         * modules/utimens-tests (Files): Likewise.
41245         * modules/utimensat-tests (Files): Likewise.
41246
41247 2009-12-19  Eric Blake  <ebb9@byu.net>
41248
41249         futimens, utimensat: work around Linux bug
41250         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
41251         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41252         * lib/utimensat.c (rpl_utimensat): Work around it.
41253         * lib/futimens.c (rpl_futimens): Adjust comment.
41254
41255         utimens: work around Linux ctime bug
41256         * lib/utimens.c (detect_ctime_bug): New helper function.
41257         (update_timespec): Differentiate between workaround needed for
41258         this bug vs. what is needed for systems that lack utimensat.
41259         (fdutimens, lutimens): Work around bug.
41260
41261         utimens: check for ctime update
41262         * tests/test-utimens-common.h (check_ctime): Define.
41263         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
41264         * tests/test-futimens.h (test_futimens): Likewise.
41265         * tests/test-lutimens.h (test_lutimens): Likewise.
41266         * doc/posix-functions/futimens.texi (futimens): Document the bug.
41267         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41268
41269 2009-12-19  Bruno Haible  <bruno@clisp.org>
41270
41271         dprintf-posix: Check against memory leak fixed on 2009-12-15.
41272         * tests/test-dprintf-posix2.sh: New file.
41273         * tests/test-dprintf-posix2.c: New file.
41274         * modules/dprintf-posix-tests (Files): Add them.
41275         (configure.ac): Check for getrlimit and setrlimit.
41276         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41277
41278 2009-12-19  Bruno Haible  <bruno@clisp.org>
41279
41280         fprintf-posix: Check against memory leak fixed on 2009-12-15.
41281         * tests/test-fprintf-posix3.sh: New file.
41282         * tests/test-fprintf-posix3.c: New file.
41283         * modules/fprintf-posix-tests (Files): Add them.
41284         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41285
41286 2009-12-19  Eric Blake  <ebb9@byu.net>
41287
41288         dirfd: fix prototype
41289         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
41290         * lib/dirfd.c (dirfd): Likewise.
41291
41292         canonicalize: reduce memory usage
41293         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
41294         allocation to size.
41295         Reported by Solar Designer <solar@openwall.com>.
41296
41297 2009-12-19  Bruno Haible  <bruno@clisp.org>
41298
41299         New module attribute 'Applicability'.
41300         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
41301         * gnulib-tool: New option --extract-applicability.
41302         (func_usage): Document it.
41303         (sed_extract_prog): Recognize it.
41304         (func_get_applicability): New function.
41305         (func_import): Generalize handling of 'link-warning' module.
41306         * modules/link-warning (Applicability): New section.
41307         * modules/arg-nonnull (Applicability): New section.
41308         Repoted by Simon Josefsson <simon@josefsson.org>.
41309
41310 2009-12-19  Bruno Haible  <bruno@clisp.org>
41311
41312         fflush: tweak
41313         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
41314         * lib/fseeko.c (rpl_fseeko): Likewise.
41315
41316 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
41317
41318         * lib/gl_list.h: Fix typo in comment.
41319
41320 2009-12-16  Eric Blake  <ebb9@byu.net>
41321
41322         fcntl: use to simplify other modules
41323         * modules/cloexec (Depends-on): Add fcntl.
41324         * modules/fchdir (Depends-on): Likewise.
41325         * modules/fd-safer-flag (Depends-on): Likewise.
41326         * modules/unistd-safer (Depends-on): Likewise.
41327         * modules/dup3 (configure.ac): Set module indicator.
41328         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
41329         missing.
41330         * lib/fchdir.c (_gl_register_dup): Fix comment.
41331         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
41332         * lib/dup-safer.c (dup_safer): Likewise.
41333         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
41334         * lib/dup3.c (dup3): Likewise.
41335         * tests/test-fchdir.c (main): Enhance test.
41336         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
41337
41338         fcntl: port portions of fcntl to mingw
41339         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
41340         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
41341         replacement for mingw.
41342         * modules/fcntl (Description): Update.
41343         (Depends-on): Add dup2.
41344         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
41345         * modules/fcntl-h (Makefile.am): Substitute it.
41346         * lib/fcntl.in.h (fcntl): Update declaration.
41347         (F_DUPFD, F_GETFD): New macros, when needed.
41348         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41349         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
41350         * tests/test-fcntl.c (check_flags, main): Enhance test for items
41351         we now guarantee.
41352
41353         fcntl: work around cygwin bug in F_DUPFD
41354         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
41355         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
41356         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
41357         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
41358         * doc/posix-functions/fcntl.texi (fcntl): Document it.
41359
41360         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
41361         * modules/fcntl (Files): List new files.
41362         (configure.ac): Run a test.
41363         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
41364         * lib/fcntl.c (rpl_fcntl): Likewise.
41365         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
41366         (gl_FCNTL_H): Always replace fcntl.h.
41367         * modules/fcntl-h (Makefile.am): Substitute witnesses.
41368         * lib/fcntl.in.h (fcntl): Declare replacement.
41369         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
41370         needed, plus a witness.
41371         * doc/posix-functions/fcntl.texi (fcntl): Document this.
41372         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41373         * tests/test-fcntl.c: New file.
41374         * modules/fcntl-tests: Likewise.
41375
41376         binary-io: avoid potential compilation warning
41377         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
41378         directives.
41379
41380         fflush: avoid compilation error on NetBSD
41381         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
41382         between off_t and fpos_t, since the latter is sometimes a struct.
41383         * lib/fseeko.c (rpl_fseeko): Likewise.
41384         Reported by Alexander Nasonov <alnsn@yandex.ru>.
41385
41386 2009-12-15  Eric Blake  <ebb9@byu.net>
41387
41388         fcntl-h, stdio, sys_ioctl: fix declarations
41389         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
41390         function must not take arguments.
41391         * lib/sys_ioctl.in.h (ioctl): Likewise.
41392         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
41393         (open): Add a link warning.
41394
41395 2009-12-15  Jim Meyering  <meyering@redhat.com>
41396
41397         areadlink, areadlink-with-size: relax license to LGPLv2+
41398         * modules/areadlink (License): Relax to LGPLv2+.
41399         * modules/areadlink-with-size (License): Likewise.
41400
41401 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
41402             Bruno Haible  <bruno@clisp.org>
41403
41404         *printf: Fix memory leak.
41405         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
41406         * lib/vfprintf.c (vfprintf): Likewise.
41407         * lib/dprintf.c (dprintf): Likewise.
41408         * lib/vdprintf.c (vdprintf): Likewise.
41409
41410 2009-12-14  Eric Blake  <ebb9@byu.net>
41411
41412         accept4: adjust module dependencies
41413         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
41414
41415         utimens: one more try at avoiding compiler warning
41416         * lib/utimens.c (lutimens): Lower scope of result.
41417
41418 2009-12-13  Bruno Haible  <bruno@clisp.org>
41419
41420         Move the malloc checking from module 'list' to new module 'xlist'.
41421         * modules/xlist: New file.
41422         * lib/gl_xlist.h: New file.
41423         * lib/gl_xlist.c: New file.
41424         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
41425         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
41426         gl_list_add_last, gl_list_add_before, gl_list_add_after,
41427         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
41428         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
41429         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
41430         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
41431         gl_sortedlist_nx_add): New declarations.
41432         (struct gl_list_implementation): Rename and change methods accordingly.
41433         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
41434         (gl_list_nx_create): Renamed from gl_list_create.
41435         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41436         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41437         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41438         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41439         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41440         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41441         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41442         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41443         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
41444         gl_list_create_empty.
41445         (gl_list_nx_create): Renamed from gl_list_create.
41446         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41447         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41448         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41449         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41450         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41451         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41452         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41453         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41454         * lib/gl_array_list.c: Don't include xalloc.h.
41455         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
41456         NULL upon out-of-memory.
41457         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
41458         out-of-memory.
41459         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
41460         Change return type to 'int'.
41461         (gl_array_nx_set_at): Renamed from gl_array_set_at.
41462         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41463         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
41464         upon out-of-memory.
41465         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
41466         upon out-of-memory.
41467         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
41468         upon out-of-memory.
41469         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
41470         upon out-of-memory.
41471         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
41472         out-of-memory.
41473         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
41474         Update.
41475         (gl_array_list_implementation): Update.
41476         * lib/gl_carray_list.c: Don't include xalloc.h.
41477         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
41478         Return NULL upon out-of-memory.
41479         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
41480         out-of-memory.
41481         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
41482         Change return type to 'int'.
41483         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
41484         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41485         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
41486         upon out-of-memory.
41487         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
41488         upon out-of-memory.
41489         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
41490         out-of-memory.
41491         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
41492         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
41493         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
41494         Update.
41495         (gl_carray_list_implementation): Update.
41496         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
41497         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
41498         gl_linked_create_empty. Return NULL upon out-of-memory.
41499         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
41500         out-of-memory.
41501         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
41502         Change return type to 'int'. Return -1 upon out-of-memory.
41503         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
41504         out-of-memory.
41505         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
41506         upon out-of-memory.
41507         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
41508         upon out-of-memory.
41509         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
41510         NULL upon out-of-memory.
41511         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
41512         upon out-of-memory.
41513         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
41514         out-of-memory.
41515         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
41516         Update.
41517         * lib/gl_linked_list.c: Don't include xalloc.h.
41518         (gl_linked_list_implementation): Update.
41519         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
41520         (add_to_bucket): Change return type to 'int'.
41521         (gl_linkedhash_list_implementation): Update.
41522         * lib/gl_anytree_list1.h (free_subtree): New function.
41523         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
41524         gl_tree_create_empty. Return NULL upon out-of-memory.
41525         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
41526         Change return type to 'int'. Return -1 upon out-of-memory.
41527         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
41528         out-of-memory.
41529         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
41530         (gl_tree_remove_node): New function, moved here from
41531         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
41532         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
41533         Update.
41534         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
41535         malloc, not xmalloc. Return NULL upon out-of-memory.
41536         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41537         out-of-memory.
41538         (gl_tree_remove_node_from_tree): New function, extracted from
41539         gl_tree_remove_node.
41540         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41541         upon out-of-memory.
41542         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41543         out-of-memory.
41544         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41545         upon out-of-memory.
41546         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41547         upon out-of-memory.
41548         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41549         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
41550         not xmalloc. Return NULL upon out-of-memory.
41551         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41552         out-of-memory.
41553         (gl_tree_remove_node_from_tree): New function, extracted from
41554         gl_tree_remove_node.
41555         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41556         upon out-of-memory.
41557         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41558         out-of-memory.
41559         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41560         upon out-of-memory.
41561         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41562         upon out-of-memory.
41563         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41564         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
41565         gl_anytree_list1.h before gl_anyavltree_list2.h.
41566         (gl_avltree_list_implementation): Update.
41567         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
41568         gl_anytree_list1.h before gl_anyavltree_list2.h.
41569         (gl_rbtree_list_implementation): Update.
41570         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
41571         Change return type to 'int'. Return -1 upon out-of-memory. Use
41572         __builtin_expect.
41573         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
41574         (gl_avltreehash_list_implementation): Update.
41575         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
41576         (gl_rbtreehash_list_implementation): Update.
41577         * modules/array-list (Depends-on): Remove xalloc.
41578         * modules/carray-list (Depends-on): Likewise.
41579         * modules/linked-list (Depends-on): Likewise.
41580         * modules/linkedhash-list (Depends-on): Likewise.
41581         * modules/avltree-list (Depends-on): Likewise.
41582         * modules/rbtree-list (Depends-on): Likewise.
41583         * modules/avltreehash-list (Depends-on): Likewise.
41584         * modules/rbtreehash-list (Depends-on): Likewise.
41585
41586         * modules/xsublist: New file.
41587         * lib/gl_xsublist.h: New file.
41588         * lib/gl_xsublist.c: New file.
41589         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
41590         (gl_sublist_nx_create): New declaration.
41591         * lib/gl_sublist.c: Don't include xalloc.h.
41592         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
41593         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
41594         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
41595         Change return type to 'int'. Return -1 upon out-of-memory.
41596         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
41597         upon out-of-memory.
41598         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
41599         NULL upon out-of-memory.
41600         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
41601         upon out-of-memory.
41602         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
41603         NULL upon out-of-memory.
41604         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
41605         NULL upon out-of-memory.
41606         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
41607         upon out-of-memory.
41608         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
41609         (gl_sublist_list_implementation): Update.
41610         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
41611         upon out-of-memory.
41612         * modules/sublist (Depends-on): Remove xalloc.
41613
41614         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
41615         * tests/test-carray_list.c: Likewise.
41616         * tests/test-linked_list.c: Likewise.
41617         * tests/test-linkedhash_list.c: Likewise.
41618         * tests/test-avltree_list.c: Likewise.
41619         * tests/test-rbtree_list.c: Likewise.
41620         * tests/test-avltreehash_list.c: Likewise.
41621         * tests/test-rbtreehash_list.c: Likewise.
41622         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
41623         * modules/carray-list-tests (Makefile.am): Likewise.
41624         * modules/linked-list-tests (Makefile.am): Likewise.
41625         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41626         * modules/avltree-list-tests (Makefile.am): Likewise.
41627         * modules/rbtree-list-tests (Makefile.am): Likewise.
41628         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41629         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41630
41631         * NEWS: Mention the changes.
41632
41633         * lib/clean-temp.c: Include gl_xlist.h.
41634         * modules/clean-temp (Depends-on): Add xlist.
41635
41636         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
41637         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
41638
41639         * tests/test-array_oset.c: Include gl_xlist.h.
41640         * modules/array-oset-tests (Depends-on): Add xlist.
41641
41642         Reported by José E. Marchesi <jemarch@gnu.org>.
41643
41644 2009-12-13  Bruno Haible  <bruno@clisp.org>
41645
41646         Move the malloc checking from module 'oset' to new module 'xoset'.
41647         * modules/xoset: New file.
41648         * lib/gl_xoset.h: New file.
41649         * lib/gl_xoset.c: New file.
41650         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
41651         declarations.
41652         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
41653         (struct gl_oset_implementation): Rename and change methods accordingly.
41654         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
41655         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41656         'int'. Mark as __warn_unused_result__.
41657         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
41658         gl_oset_create_empty.
41659         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41660         'int'.
41661         * lib/gl_array_oset.c: Don't include xalloc.h.
41662         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
41663         malloc, not xmalloc.
41664         (grow): Change return type to 'int'. Don't call xalloc_die.
41665         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
41666         to 'int'.
41667         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
41668         'int'.
41669         (gl_array_oset_implementation): Update.
41670         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
41671         gl_tree_create_empty.
41672         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
41673         'int'.
41674         * lib/gl_avltree_oset.c: Don't include xalloc.h.
41675         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41676         xmalloc.
41677         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41678         not xmalloc.
41679         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41680         xmalloc.
41681         (gl_avltree_oset_implementation): Update.
41682         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
41683         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41684         xmalloc.
41685         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41686         not xmalloc.
41687         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41688         xmalloc.
41689         (gl_rbtree_oset_implementation): Update.
41690         * modules/array-oset (Depends-on): Remove xalloc.
41691         * modules/avltree-oset (Depends-on): Likewise.
41692         * modules/rbtree-oset (Depends-on): Likewise.
41693         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
41694         * tests/test-avltree_oset.c: Likewise.
41695         * tests/test-rbtree_oset.c: Likewise.
41696         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
41697         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
41698         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41699         * NEWS: Mention the change.
41700
41701 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
41702
41703         maint.mk: allow a project to override release-prep commands
41704         * top/maint.mk (alpha, beta, stable): Move release-preparatory
41705         commands into a new rule.
41706         (release-prep): New rule.
41707         (release-prep-hook): New overridable variable.
41708
41709 2009-12-13  Bruno Haible  <bruno@clisp.org>
41710
41711         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
41712
41713 2009-12-13  Jim Meyering  <meyering@redhat.com>
41714
41715         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
41716         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
41717
41718 2009-12-12  Bruno Haible  <bruno@clisp.org>
41719
41720         duplocale: Tweak.
41721         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
41722
41723 2009-12-12  Karl Berry  <karl@gnu.org>
41724
41725         * config/srclist.txt (strtoll.c): tab changes, no more sync.
41726
41727 2009-12-12  Bruno Haible  <bruno@clisp.org>
41728
41729         * m4/po.m4: Undo incorrect untabification.
41730
41731 2009-12-12  Bruno Haible  <bruno@clisp.org>
41732
41733         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
41734         * modules/c-strtod (Depends-on): Add locale.
41735         * modules/c-strtold (Depends-on): Likewise.
41736
41737 2009-12-12  Bruno Haible  <bruno@clisp.org>
41738
41739         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
41740
41741 2009-12-11  Eric Blake  <ebb9@byu.net>
41742
41743         setenv: relax requirement in light of POSIX ruling
41744         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
41745         not NULL.
41746         * tests/test-setenv.c (main): Relax test.
41747         * tests/test-unsetenv.c (main): Likewise.
41748         * doc/posix-functions/setenv.texi (setenv): Document this.
41749         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
41750
41751 2009-12-11  Bruno Haible  <bruno@clisp.org>
41752
41753         New module 'fd-safer-flag'.
41754         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
41755         * lib/dup-safer.c (dup_safer_flag): Remove function.
41756         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
41757         * lib/fd-safer.c (fd_safer_flag): Remove function.
41758         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
41759         * modules/cloexec (configure.ac): Drop indicator macro.
41760         * modules/fd-safer-flag: New file.
41761         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
41762         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
41763         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
41764
41765 2009-12-11  Bruno Haible  <bruno@clisp.org>
41766
41767         Tests for module 'nl_langinfo'.
41768         * modules/nl_langinfo-tests: New file.
41769         * tests/test-nl_langinfo.sh: New file.
41770         * tests/test-nl_langinfo.c: New file.
41771
41772         New module 'nl_langinfo'.
41773         * lib/nl_langinfo.c: New file.
41774         * m4/nl_langinfo.m4: New file.
41775         * modules/nl_langinfo: New file.
41776         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
41777
41778 2009-12-11  Bruno Haible  <bruno@clisp.org>
41779
41780         Tests for module 'langinfo'.
41781         * modules/langinfo-tests: New file.
41782         * tests/test-langinfo.c: New file.
41783
41784         New module 'langinfo'.
41785         * lib/langinfo.in.h: New file.
41786         * m4/langinfo_h.m4: New file.
41787         * modules/langinfo: New file.
41788         * doc/posix-headers/langinfo.texi: Mention the new module.
41789
41790 2009-12-11  Bruno Haible  <bruno@clisp.org>
41791
41792         * lib/config.charset: Untabify.
41793
41794 2009-12-11  Bruno Haible  <bruno@clisp.org>
41795
41796         * modules/unistd-safer (configure.ac): Drop indicator macro.
41797
41798 2009-12-11  Bruno Haible  <bruno@clisp.org>
41799
41800         Move pipe2-safer code to its own file.
41801         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
41802         * lib/pipe-safer.c (pipe2_safer): Remove function.
41803         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
41804         (Makefile.am): Add it to lib_SOURCES.
41805
41806 2009-12-10  Bruno Haible  <bruno@clisp.org>
41807
41808         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
41809
41810 2009-12-10  Bruno Haible  <bruno@clisp.org>
41811
41812         Declare which arguments expect non-NULL values, for GCC and clang.
41813         * build-aux/arg-nonnull.h: New file.
41814         * modules/arg-nonnull: New file.
41815         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
41816         (inet_ntop, inet_pton): Use it.
41817         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
41818         (closedir, dirfd, opendir, scandir, alphasort): Use it.
41819         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
41820         (open, openat): Use it.
41821         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
41822         (fnmatch): Use it.
41823         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
41824         (getopt, getopt_long, getopt_long_only): Use it.
41825         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
41826         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
41827         Use it.
41828         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
41829         (iconv_open): Use it.
41830         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
41831         (strtoimax, strtoumax): Use it.
41832         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
41833         (duplocale): Use it.
41834         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
41835         (frexp, frexpl): Use it.
41836         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
41837         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
41838         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
41839         (tsearch, tfind, tdelete, twalk): Use it.
41840         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
41841         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
41842         sigpending): Use it.
41843         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
41844         (posix_spawn, posix_spawnp, posix_spawnattr_init,
41845         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
41846         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
41847         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
41848         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
41849         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
41850         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
41851         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
41852         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
41853         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
41854         Use it.
41855         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
41856         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
41857         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
41858         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
41859         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
41860         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
41861         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
41862         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
41863         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
41864         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
41865         strtoull, unsetenv): Use it.
41866         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
41867         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
41868         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
41869         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41870         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41871         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
41872         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
41873         (strcasecmp, strncasecmp): Use it.
41874         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
41875         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
41876         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
41877         rpl_setsockopt): Use it.
41878         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
41879         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
41880         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
41881         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
41882         (gettimeofday): Use it.
41883         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
41884         (times): Use it.
41885         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
41886         (uname): Use it.
41887         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
41888         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
41889         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
41890         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
41891         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
41892         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
41893         unlinkat, write): Use it.
41894         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
41895         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
41896         * lib/argv-iter.h: Include arg-nonnull.h.
41897         (_ATTRIBUTE_NONNULL_): Remove macro.
41898         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
41899         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
41900         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
41901         optimization.
41902         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
41903         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
41904         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
41905         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
41906         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
41907         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
41908         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
41909         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
41910         * modules/arpa_inet (Depends-on): Add arg-nonnull.
41911         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
41912         * modules/dirent (Depends-on): Add arg-nonnull.
41913         (Makefile.am): Insert arg-nonnull.h into dirent.h.
41914         * modules/fcntl-h (Depends-on): Add arg-nonnull.
41915         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
41916         * modules/fnmatch (Depends-on): Add arg-nonnull.
41917         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
41918         * modules/getopt-posix (Depends-on): Add arg-nonnull.
41919         (Makefile.am): Insert arg-nonnull.h into getopt.h.
41920         * modules/glob (Depends-on): Add arg-nonnull.
41921         (Makefile.am): Insert arg-nonnull.h into glob.h.
41922         * modules/iconv_open (Depends-on): Add arg-nonnull.
41923         (Makefile.am): Insert arg-nonnull.h into iconv.h.
41924         * modules/inttypes (Depends-on): Add arg-nonnull.
41925         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
41926         * modules/locale (Depends-on): Add arg-nonnull.
41927         (Makefile.am): Insert arg-nonnull.h into locale.h.
41928         * modules/math (Depends-on): Add arg-nonnull.
41929         (Makefile.am): Insert arg-nonnull.h into math.h.
41930         * modules/netdb (Depends-on): Add arg-nonnull.
41931         (Makefile.am): Insert arg-nonnull.h into netdb.h.
41932         * modules/search (Depends-on): Add arg-nonnull.
41933         (Makefile.am): Insert arg-nonnull.h into search.h.
41934         * modules/signal (Depends-on): Add arg-nonnull.
41935         (Makefile.am): Insert arg-nonnull.h into signal.h.
41936         * modules/spawn (Depends-on): Add arg-nonnull.
41937         (Makefile.am): Insert arg-nonnull.h into spawn.h.
41938         * modules/stdio (Depends-on): Add arg-nonnull.
41939         (Makefile.am): Insert arg-nonnull.h into stdio.h.
41940         * modules/stdlib (Depends-on): Add arg-nonnull.
41941         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
41942         * modules/string (Depends-on): Add arg-nonnull.
41943         (Makefile.am): Insert arg-nonnull.h into string.h.
41944         * modules/strings (Depends-on): Add arg-nonnull.
41945         (Makefile.am): Insert arg-nonnull.h into strings.h.
41946         * modules/sys_socket (Depends-on): Add arg-nonnull.
41947         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
41948         * modules/sys_stat (Depends-on): Add arg-nonnull.
41949         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
41950         * modules/sys_time (Depends-on): Add arg-nonnull.
41951         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
41952         * modules/sys_times (Depends-on): Add arg-nonnull.
41953         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
41954         * modules/sys_utsname (Depends-on): Add arg-nonnull.
41955         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
41956         * modules/time (Depends-on): Add arg-nonnull.
41957         (Makefile.am): Insert arg-nonnull.h into time.h.
41958         * modules/unistd (Depends-on): Add arg-nonnull.
41959         (Makefile.am): Insert arg-nonnull.h into unistd.h.
41960         * modules/wchar (Depends-on): Add arg-nonnull.
41961         (Makefile.am): Insert arg-nonnull.h into wchar.h.
41962         * modules/argv-iter (Depends-on): Add arg-nonnull.
41963         * tests/test-canonicalize.c (null_ptr): New function.
41964         (main): Use it.
41965         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
41966         (main): Use it.
41967         * tests/test-memmem.c (null_ptr): New function.
41968         (main): Use it.
41969         Reported by Jim Meyering.
41970
41971 2009-12-10  Bruno Haible  <bruno@clisp.org>
41972
41973         Use spaces for indentation, not tabs.
41974         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
41975         * m4/*.m4: Untabify.
41976         * build-aux/*.h: Untabify.
41977         * tests/**/*.[hc]: Untabify.
41978         * README: New section "Indent with spaces, not TABs", based on
41979         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
41980         * NEWS: Mention the change.
41981
41982 2009-12-10  Bruno Haible  <bruno@clisp.org>
41983
41984         pty test: Fix link error.
41985         * modules/pty-tests (Makefile.am): Add the default LDADD value to
41986         test_pty_LDADD.
41987
41988 2009-12-07  Simon Josefsson  <simon@josefsson.org>
41989
41990         * modules/pty: New file.
41991         * modules/pty-tests: New file.
41992         * m4/pty.m4: New file.
41993         * tests/test-pty.c: New file.
41994         * doc/glibc-headers/pty.texi: Modified.
41995         * doc/glibc-functions/forkpty.texi: Modified.
41996         * doc/glibc-functions/openpty.texi: Modified.
41997
41998 2009-12-10  Bruno Haible  <bruno@clisp.org>
41999
42000         Avoid syntax error in C++ mode.
42001         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
42002
42003 2009-12-10  Bruno Haible  <bruno@clisp.org>
42004
42005         Use sed with option -e.
42006         * gnulib-tool (func_version, func_emit_copyright_notice,
42007         func_emit_initmacro_end, func_import, func_create_testdir): Pass
42008         option -e to sed.
42009         * modules/link-warning (Makefile.am): Likewise.
42010
42011 2009-12-10  Jim Meyering  <meyering@redhat.com>
42012
42013         mgetgroups: do not write bytes beyond end of malloc'd buffer
42014         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
42015         username, we call getgroups with a one-element-shorter buffer,
42016         but still told it the length was original, max_n_groups.
42017
42018 2009-12-09  Eric Blake  <ebb9@byu.net>
42019
42020         cloexec: relax license
42021         * modules/cloexec (Maintainer): Add myself.
42022         (License): Use LGPL, not GPL.
42023
42024         link-warning: optimize generation
42025         * modules/link-warning (Makefile.am): Reduce process usage.
42026
42027 2009-12-09  Bruno Haible  <bruno@clisp.org>
42028
42029         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
42030         workaround was added on 2009-11-17.
42031
42032 2009-12-09  Jim Meyering  <meyering@redhat.com>
42033             Bruno Haible  <bruno@clisp.org>
42034
42035         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
42036         * modules/link-warning (Makefile.am): Make the comment-removing sed
42037         command more robust in the face of bootstrap-prepended comment lines.
42038
42039 2009-12-09  Bruno Haible  <bruno@clisp.org>
42040
42041         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
42042         most one group.
42043
42044 2009-12-09  Simon Josefsson <simon@josefsson.org>
42045             Bruno Haible  <bruno@clisp.org>
42046
42047         * build-aux/link-warning.h: Add copyright notice.
42048         * modules/link-warning (Makefile.am): Generate link-warning.h from
42049         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
42050         * NEWS: Mention change in link-warning module.
42051         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
42052         * modules/dirent (Makefile.am): Add dependency to dirent.h.
42053         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
42054         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
42055         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
42056         * modules/math (Makefile.am): Add dependency to math.h.
42057         * modules/search (Makefile.am): Add dependency to search.h.
42058         * modules/signal (Makefile.am): Add dependency to signal.h.
42059         * modules/spawn (Makefile.am): Add dependency to spawn.h.
42060         * modules/stdio (Makefile.am): Add dependency to stdio.h.
42061         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
42062         * modules/string (Makefile.am): Add dependency to string.h.
42063         * modules/strings (Makefile.am): Add dependency to strings.h.
42064         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
42065         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
42066         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
42067         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
42068         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
42069         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
42070         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
42071         * modules/unistd (Makefile.am): Add dependency to unistd.h.
42072         * modules/wchar (Makefile.am): Add dependency to wchar.h.
42073
42074 2009-12-09  Bruno Haible  <bruno@clisp.org>
42075
42076         fchdir: Optimize away rpl_fstat when possible.
42077         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
42078         REPLACE_OPEN_DIRECTORY.
42079         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
42080
42081 2009-12-09  Bruno Haible  <bruno@clisp.org>
42082
42083         * lib/fchdir.c: Update comment.
42084
42085 2009-12-09  Bruno Haible  <bruno@clisp.org>
42086
42087         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
42088
42089 2009-12-08  Eric Blake  <ebb9@byu.net>
42090
42091         fchdir: avoid memory leak on re-registration.
42092         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
42093
42094 2009-12-08  Jim Meyering  <meyering@redhat.com>
42095
42096         init.sh: avoid Solaris 10 /bin/sh portability problem
42097         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
42098         sourced script:
42099           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
42100           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
42101           bar
42102         tests/init.sh relied on that, accepting a --set-path=DIR argument,
42103         and two tests used that idiom.
42104         * tests/init.sh: Update suggested usage comments.
42105         (path_prepend_): New function, to be used in place
42106         of the --src-path=DIR option.
42107         (setup_): Move PATH-prepending code into path_prepend_.
42108         * tests/test-pread.sh: Adapt to new usage.
42109         * tests/test-xalloc-die.sh: Likewise.
42110
42111 2009-12-08  Simon Josefsson  <simon@josefsson.org>
42112
42113         * doc/gnulib.texi (Glibc pty.h): Add.
42114         * doc/glibc-functions/forkpty.texi: Add.
42115         * doc/glibc-functions/openpty.texi: Add.
42116         Suggested by Bruno Haible.
42117
42118 2009-12-08  Eric Blake  <ebb9@byu.net>
42119
42120         fchdir: fix logic bugs
42121         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
42122         * tests/test-fchdir.c (main): Enhance test.
42123         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
42124         is in use.
42125
42126         dup2: fix logic bugs
42127         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
42128         REPLACE_DUP2 to decide when rpl_dup2 is needed.
42129         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
42130         exists.
42131         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
42132
42133 2009-12-07  Eric Blake  <ebb9@byu.net>
42134
42135         unlink: fix m4 detection
42136         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
42137
42138         unistd-safer: add unit test
42139         * modules/unistd-safer-tests: New file.
42140         * tests/test-dup-safer.c: Likewise.
42141         * tests/test-cloexec.c (setmode): Avoid compiler warning.
42142         * tests/test-dup2.c (setmode): Likewise.
42143         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
42144
42145         cloexec: preserve text vs. binary across dup_cloexec
42146         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
42147         mode.
42148         * modules/dup2-tests (Depends-on): Add binary-io.
42149         * modules/cloexec-tests (Depends-on): Likewise.
42150         * tests/test-dup2.c (setmode, is_mode): New helpers.
42151         (main): Add tests that translation mode is preserved.
42152         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
42153         Reported by Bruno Haible.
42154
42155         mgetgroups: reduce duplicate listings
42156         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
42157         resulting array.
42158         * tests/test-chown.h (test_chown): Simplify client.
42159         * tests/test-lchown.h (test_lchown): Likewise.
42160
42161 2009-12-06  Bruno Haible  <bruno@clisp.org>
42162
42163         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
42164         value.
42165
42166 2009-12-06  Bruno Haible  <bruno@clisp.org>
42167
42168         * lib/progname.c: Include stdio.h, stdlib.h.
42169         (set_program_name): Reject a NULL argument.
42170
42171 2009-12-05  Eric Blake  <ebb9@byu.net>
42172
42173         pipe2-safer: new module
42174         * modules/pipe2-safer: New file.
42175         * lib/unistd-safer.h (pipe2_safer): New prototype.
42176         * lib/unistd--.h (pipe2): New wrapper.
42177         * lib/pipe-safer.c (pipe2_safer): New function.
42178         * modules/pipe (Depends-on): Add pipe2-safer.
42179         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
42180
42181         stdlib-safer: preserve cloexec flag for mkostemp[s]
42182         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
42183         fd_safer_flag.
42184
42185         unistd-safer: allow preservation of cloexec status via flag
42186         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
42187         prototypes.
42188         * lib/dup-safer.c (dup_safer_flag): New function.
42189         * lib/fd-safer.c (fd_safer_flag): Likewise.
42190         * modules/cloexec (configure.ac): Set witness.
42191
42192         test-dup2: enhance test
42193         * modules/dup2-tests (Depends-on): Add cloexec.
42194         * tests/test-dup2.c (main): Enhance test.
42195
42196         cloexec: add dup_cloexec
42197         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
42198         header and comments.
42199         * lib/cloexec.c (set_cloexec_flag): Add comments.
42200         (dup_cloexec): New function, with mingw implementation borrowed
42201         from...
42202         * lib/w32spawn.h (dup_noinherit): ...here.
42203         * modules/execute (Depends-on): Add cloexec.
42204         * modules/pipe (Depends-on): Likewise.
42205         * modules/cloexec (Depends-on): Add dup2.
42206         * modules/cloexec-tests (Files): New file.
42207         * tests/test-cloexec.c: Likewise.
42208
42209         test-xalloc-die: fix test for mingw
42210         * modules/xalloc-die-tests (Files): Add tests/init.sh.
42211         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
42212         directory and .exe suffix off argv[0] output.
42213
42214         test-fseeko: fix test for mingw
42215         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
42216         than undefining fseek, so test will pass on mingw.
42217
42218 2009-12-05  Bruno Haible  <bruno@clisp.org>
42219
42220         * lib/progname.h (set_program_name): Clarify specification.
42221         * lib/progname.c (set_program_name): Likewise.
42222         Reported by Jim Meyering.
42223
42224 2009-12-05  Jim Meyering  <meyering@redhat.com>
42225
42226         maint.mk: backslash-escape parens in default regexp
42227         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
42228         backslash-escape the literal parentheses.
42229
42230         maint.mk: news-date-check: use grep -E
42231         * top/maint.mk (today): Define a Make variable, not a...
42232         (news-date-check): ...shell variable.
42233         (news-date-regexp): Use the Make variable.
42234         Use grep's -E option.  Change the failing diagnostic to mention
42235         the variable, $(news-date-regexp).
42236
42237 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
42238
42239         maintainer-makefile: allow customization of NEWS entry format
42240         * top/maint.mk (news-date-regexp): New overridable variable.
42241         (news-date-check): Use it.
42242
42243 2009-12-04  Eric Blake  <ebb9@byu.net>
42244
42245         mgetgroups: add xgetgroups, and avoid ENOSYS failures
42246         * lib/mgetgroups.h (xgetgroups): New prototype.
42247         * lib/mgetgroups.c (xgetgroups): New wrapper.
42248         (mgetgroups): Handle ENOSYS.
42249         * modules/mgetgroups (Depends-on): Add realloc.
42250         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
42251
42252         mgetgroups: avoid argument promotion issues with -1
42253         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
42254         for invalid gid_t.
42255         * tests/test-chown.h (getegid, test_chown): Likewise.
42256         * tests/test-lchown.h (getegid, test_lchown): Likewise.
42257
42258 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
42259
42260         exclude: Fix header file problems.
42261         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
42262
42263 2009-12-01  Jim Meyering  <meyering@redhat.com>
42264
42265         fts: fts_open: do not let an empty string cause immediate failure
42266         This is required in support of GNU rm, for which the command
42267         "rm A '' B" must process and remove both A and B, in spite of
42268         the empty string argument.
42269         * lib/fts.c (fts_open): Do not let the presence of an empty string
42270         cause fts_open to fail immediately.  Most fts-using tools must be
42271         able to process all arguments, in order, and can be expected to
42272         diagnose such arguments themselves.
42273
42274 2009-11-30  Eric Blake  <ebb9@byu.net>
42275
42276         utimens: fix compilation error
42277         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
42278         Declare variable at right scope.
42279
42280 2009-11-29  Jim Meyering  <meyering@redhat.com>
42281
42282         bootstrap: handle perl-5.11's changed --version output
42283         * build-aux/bootstrap (get_version): Handle perl separately,
42284         since perl-5.11's --version output is different.
42285
42286 2009-11-28  Jim Meyering  <meyering@redhat.com>
42287
42288         userspec: depend on the inttostr module, too
42289         * modules/userspec (Depends-on): Add inttostr.
42290
42291         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
42292         * lib/userspec.c (parse_with_separator): Do not accept a user ID
42293         number of MAXUID when it evaluates to (uid_t) -1.
42294         Likewise for group ID.  Reported by Matt McCutchen in
42295         <http://savannah.gnu.org/bugs/?28113>
42296
42297         userspec: reformat to use spaces, not TABs
42298         * lib/userspec.c: Expand TABs to spaces.
42299         Add Emacs' "indent-tabs-mode: nil" hint.
42300
42301 2009-11-27  Eric Blake  <ebb9@byu.net>
42302
42303         getopt-gnu: flush out another BSD bug
42304         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
42305         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
42306         flush out BSD bug.
42307         * tests/test-getopt.h (test_getopt): End lists with NULL.
42308         * tests/test-getopt_long.h (test_getopt_long): Likewise.
42309         (test_getopt_long_posix): Enhance test.
42310         * modules/getopt-posix-tests (Depends-on): Add stdbool.
42311         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
42312         getopt-gnu.
42313         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
42314         Likewise.
42315
42316 2009-11-27  Simon Josefsson  <simon@josefsson.org>
42317
42318         * modules/idpriv-droptemp-tests (Notice): Fix text.
42319
42320 2009-11-27  Jim Meyering  <meyering@redhat.com>
42321
42322         test-xalloc-die: avoid spurious failure due to libtool argv difference
42323         In a libtool-enabled project, this test would fail due to a difference
42324         in the emitted program name, e.g.,
42325         -test-xalloc-die: memory exhausted
42326         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
42327         Use program to avoid that.
42328         * modules/xalloc-die-tests (Depends-on): Add progname.
42329         * tests/test-xalloc-die.c: Include progname.h".
42330         (program_name): Remove decl.
42331         (main): Call set_program_name.
42332         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
42333
42334 2009-11-26  Richard Jones  <rjones@redhat.com>
42335
42336         w32sock: leave win32 error in place.
42337         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
42338
42339 2009-11-26  Eric Blake  <ebb9@byu.net>
42340
42341         init.sh: suggest to use skip_ and fail_ functions in comments
42342         * tests/init.sh: Add a sentence.
42343
42344 2009-11-25  Bruno Haible  <bruno@clisp.org>
42345
42346         init.sh: add documentation in comments
42347         * tests/init.sh: Add some developer and user documentation.
42348
42349 2009-11-26  Jim Meyering  <meyering@redhat.com>
42350
42351         init.sh: accommodate even those who specify bogus srcdir manually
42352         * tests/init.sh: Normally, srcdir is guaranteed by automake and
42353         configure-time tests to be sanitized, so that there is no need to
42354         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
42355         (with no double quotes) suffices.  However, since tests may be
42356         invoked manually, and since you may explicitly set srcdir to the
42357         name of a directory containing spaces, do quote its uses here.
42358         * tests/test-pread.sh: Likewise.
42359         Suggested by Bruno Haible.
42360
42361         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
42362         * tests/test-pread.sh: Write no data into the pipe, because
42363         test-pread actually reads none.  This avoids a diagnostic,
42364         "bash: echo: write error: Broken pipe", that arises in the unusual
42365         event something is ignoring SIGPIPE, and might be interpreted
42366         as some sort of failure.  Reported by Bruno Haible.
42367
42368 2009-11-25  Jim Meyering  <meyering@redhat.com>
42369
42370         test-pread: cover failure with ESPIPE and EINVAL
42371         * tests/test-pread.c (main): Test for failure, too.
42372         * tests/test-pread.sh: Invoke with stdin on a pipe.
42373         Suggested by Eric Blake.
42374
42375         pread: improvement and fix
42376         * modules/pread (Depends-on): Depend on lseek, for portability to
42377         e.g., mingw.  Suggested by Eric Blake.
42378         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
42379
42380         unistd.in.h: correct declaration of pread
42381         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
42382         Reported by Richard W.M. Jones.
42383
42384         test-pread.sh: distribute the test script
42385         * modules/pread-tests (Files): Include test-pread.sh.
42386
42387         test-pread.sh: clean up
42388         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
42389         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
42390         That is unnecessary, since it's always ".".
42391         Suggestion from Eric Blake.
42392
42393         test-pread.sh: make executable
42394         * tests/test-pread.sh: Set executable bit.
42395         Reported by Eric Blake.
42396
42397         correct typo in test-pread.sh
42398         * tests/test-pread.sh: Add #! line.
42399
42400         test pread
42401         * tests/test-pread.c: New file.
42402         * tests/test-pread.sh: Likewise.
42403         * modules/pread-tests: Likewise.
42404
42405         pread: new module
42406         * modules/pread: New file.
42407         * lib/unistd.in.h (pread): Define/declare.
42408         * lib/pread.c (pread): New file.
42409         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
42410         * modules/unistd (Makefile.am): Substitute witnesses.
42411         * doc/posix-functions/pread.texi (pread): Update.
42412         * MODULES.html.sh: Add pread.
42413
42414 2009-11-25  Jim Meyering  <meyering@redhat.com>
42415
42416         tests/init.sh: new file to be used via most *.sh tests
42417         * tests/init.sh: New file.
42418
42419 2009-11-25  Eric Blake  <ebb9@byu.net>
42420
42421         utimens: work around older Linux failure with symlinks
42422         * lib/utimens.c (lutimensat_works_really): New variable.
42423         (fdutimens, lutimens): Use it to manage kernels that support
42424         nanosecond times on files, but not on symlinks.
42425         Reported by OndÅ™ej Vašík.
42426
42427         utimes: fix configure grammar
42428         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
42429
42430 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
42431
42432         regex: Fix fastmap for multibyte character ranges.
42433         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
42434         characters when a multibyte character range is included.
42435
42436 2009-11-22  Andy Wingo  <wingo@pobox.com>
42437
42438         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
42439         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
42440
42441 2009-11-24  Bruno Haible  <bruno@clisp.org>
42442
42443         doc: Most *_l functions exist in MacOS X 10.5.
42444         * doc/posix-functions/duplocale.texi: Update platforms list.
42445         * doc/posix-functions/freelocale.texi: Likewise.
42446         * doc/posix-functions/newlocale.texi: Likewise.
42447         * doc/posix-functions/uselocale.texi: Likewise.
42448         * doc/posix-functions/isalnum_l.texi: Likewise.
42449         * doc/posix-functions/isalpha_l.texi: Likewise.
42450         * doc/posix-functions/isblank_l.texi: Likewise.
42451         * doc/posix-functions/iscntrl_l.texi: Likewise.
42452         * doc/posix-functions/isdigit_l.texi: Likewise.
42453         * doc/posix-functions/isgraph_l.texi: Likewise.
42454         * doc/posix-functions/islower_l.texi: Likewise.
42455         * doc/posix-functions/isprint_l.texi: Likewise.
42456         * doc/posix-functions/ispunct_l.texi: Likewise.
42457         * doc/posix-functions/isspace_l.texi: Likewise.
42458         * doc/posix-functions/isupper_l.texi: Likewise.
42459         * doc/posix-functions/iswalnum_l.texi: Likewise.
42460         * doc/posix-functions/iswalpha_l.texi: Likewise.
42461         * doc/posix-functions/iswblank_l.texi: Likewise.
42462         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42463         * doc/posix-functions/iswctype_l.texi: Likewise.
42464         * doc/posix-functions/iswdigit_l.texi: Likewise.
42465         * doc/posix-functions/iswgraph_l.texi: Likewise.
42466         * doc/posix-functions/iswlower_l.texi: Likewise.
42467         * doc/posix-functions/iswprint_l.texi: Likewise.
42468         * doc/posix-functions/iswpunct_l.texi: Likewise.
42469         * doc/posix-functions/iswspace_l.texi: Likewise.
42470         * doc/posix-functions/iswupper_l.texi: Likewise.
42471         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42472         * doc/posix-functions/isxdigit_l.texi: Likewise.
42473         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
42474         * doc/posix-functions/strcasecmp_l.texi: Likewise.
42475         * doc/posix-functions/strcoll_l.texi: Likewise.
42476         * doc/posix-functions/strfmon_l.texi: Likewise.
42477         * doc/posix-functions/strftime_l.texi: Likewise.
42478         * doc/posix-functions/strncasecmp_l.texi: Likewise.
42479         * doc/posix-functions/strxfrm_l.texi: Likewise.
42480         * doc/posix-functions/tolower_l.texi: Likewise.
42481         * doc/posix-functions/toupper_l.texi: Likewise.
42482         * doc/posix-functions/towctrans_l.texi: Likewise.
42483         * doc/posix-functions/towlower_l.texi: Likewise.
42484         * doc/posix-functions/towupper_l.texi: Likewise.
42485         * doc/posix-functions/wcscoll_l.texi: Likewise.
42486         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42487         * doc/posix-functions/wctrans_l.texi: Likewise.
42488         * doc/posix-functions/wctype_l.texi: Likewise.
42489         * doc/glibc-functions/strptime_l.texi: Likewise.
42490         * doc/glibc-functions/strtod_l.texi: Likewise.
42491         * doc/glibc-functions/strtof_l.texi: Likewise.
42492         * doc/glibc-functions/strtol_l.texi: Likewise.
42493         * doc/glibc-functions/strtold_l.texi: Likewise.
42494         * doc/glibc-functions/strtoll_l.texi: Likewise.
42495         * doc/glibc-functions/strtoul_l.texi: Likewise.
42496         * doc/glibc-functions/strtoull_l.texi: Likewise.
42497         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42498         * doc/glibc-functions/wcstod_l.texi: Likewise.
42499         * doc/glibc-functions/wcstof_l.texi: Likewise.
42500         * doc/glibc-functions/wcstol_l.texi: Likewise.
42501         * doc/glibc-functions/wcstold_l.texi: Likewise.
42502         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42503         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42504         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42505
42506 2009-11-24  Bruno Haible  <bruno@clisp.org>
42507
42508         duplocale: Fix logic bug.
42509         * lib/duplocale.c: Don't include <langinfo.h>.
42510         (_NL_LOCALE_NAME): Remove macro.
42511         (rpl_duplocale): Use setlocale instead of nl_langinfo.
42512         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
42513
42514 2009-11-23  Jim Meyering  <meyering@redhat.com>
42515
42516         test-update-copyright: don't hard-code /usr/bin/perl
42517         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
42518         perl to print the current year.  Gilles Espinasse reported that
42519         the replaced use of perl was hard-coded as /usr/bin/perl.
42520
42521 2009-11-23  Bruno Haible  <bruno@clisp.org>
42522
42523         duplocale: Add support for glibc 2.3.x.
42524         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
42525
42526 2009-11-22  Bruno Haible  <bruno@clisp.org>
42527
42528         vasnprintf: Tiny optimization.
42529         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
42530         MacOS X.
42531
42532 2009-11-22  Bruno Haible  <bruno@clisp.org>
42533
42534         Tests for module 'duplocale'.
42535         * modules/duplocale-tests: New file.
42536         * tests/test-duplocale.c: New file.
42537
42538         New module 'duplocale'.
42539         * m4/duplocale.m4: New file.
42540         * lib/locale.in.h (duplocale): New declaration.
42541         * lib/duplocale.c: New file.
42542         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
42543         gl_LOCALE_H_DEFAULTS): New macros.
42544         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
42545         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
42546         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
42547         REPLACE_DUPLOCALE.
42548         * modules/duplocale: New file.
42549         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
42550
42551 2009-11-22  Bruno Haible  <bruno@clisp.org>
42552
42553         * modules/locale-tests (configure.ac): Test for newlocale function.
42554         * tests/test-locale.c: When the system has extended locale functions,
42555         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
42556
42557         locale: Make locale_t available when possible.
42558         * lib/locale.in.h: Include <xlocale.h> when it exists.
42559         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
42560         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
42561         * modules/locale (Depends-on): Add extensions.
42562         (Makefile.am): Also substitute HAVE_XLOCALE_H.
42563         * doc/posix-headers/locale.texi: Document the problem with locale_t.
42564
42565 2009-11-22  Bruno Haible  <bruno@clisp.org>
42566
42567         Add comments.
42568         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
42569         invocation.
42570         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
42571         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42572         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42573
42574 2009-11-22  Bruno Haible  <bruno@clisp.org>
42575
42576         error: account for the possibility of freopen (stdout).
42577         * lib/error.c: Include <unistd.h>.
42578         (flush_stdout): New function, extracted from error and error_at_line.
42579         Determine stdout's fd dynamically.
42580         (error, error_at_line): Invoke flush_stdout.
42581         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
42582         * modules/error (Depends-on): Add unistd.
42583
42584 2009-11-22  Bruno Haible  <bruno@clisp.org>
42585
42586         diffseq: Add comment.
42587         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
42588
42589 2009-11-22  Jim Meyering  <meyering@redhat.com>
42590
42591         c-stack: avoid defining an unused static function
42592         * lib/c-stack.c (find_stack_direction): Do not define this function
42593         when it will not be used.
42594
42595         diffseq: avoid spurious gcc warnings
42596         * lib/diffseq.h (IF_LINT2): Define.
42597         (compareseq): Use it to initialize two members of "part".
42598         This avoids two used-uninitialized warnings.
42599
42600 2009-11-21  Jim Meyering  <meyering@redhat.com>
42601
42602         c-stack: avoid "ignoring return value of `write'" warning
42603         * lib/c-stack.c: Include "ignore-value.h".
42604         (die): Explicitly ignore each write return value.
42605         * modules/c-stack (Depends-on): Add ignore-value.
42606
42607 2009-11-21  Bruno Haible  <bruno@clisp.org>
42608
42609         diffseq: reduce scope of variable 'best'.
42610         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
42611         variable, earlier used for two different purposes.
42612
42613 2009-11-21  Jim Meyering  <meyering@redhat.com>
42614
42615         diffseq: remove useless assignment to "best"
42616         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
42617         assignment.  At that point "best" is already guaranteed to be zero.
42618
42619 2009-11-20  Eric Blake  <ebb9@byu.net>
42620
42621         build: mention ftp redirector in release announcements
42622         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
42623         values that used to come from cfg.mk; mention FTP redirect URL.
42624         * build-aux/announce-gen: Mention the mirror list.
42625         Suggested by Karl Berry.
42626
42627         nanosleep: improve port to mingw
42628         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
42629         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
42630         LIB_NANOSLEEP, but only when needed.
42631         * modules/select (Link): Document LIBSOCKET.
42632         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
42633         enough.
42634
42635         nanosleep: work around cygwin bug
42636         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
42637         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
42638         bug.
42639         (getnow): Delete, not needed.
42640         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
42641         LIB_CLOCK_GETTIME.
42642         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
42643         clock-time, gettime.
42644         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
42645         bug.
42646         * modules/nanosleep-tests: New test.
42647         * tests/test-nanosleep.c: New file.
42648
42649         sleep: work around cygwin bug
42650         * lib/sleep.c (rpl_sleep): Work around the bug.
42651         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
42652         (gl_PREREQ_SLEEP): Delete unused macro.
42653         * modules/sleep (Depends-on): Add verify.
42654         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42655         * modules/unistd (Makefile.am): Substitute witness.
42656         * lib/unistd.in.h (sleep): Update prototype.
42657         * doc/posix-functions/sleep.texi (sleep): Document the bug.
42658         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
42659         * modules/sleep-tests (Depends-on): Check for alarm.
42660
42661 2009-11-20  Jim Meyering  <meyering@redhat.com>
42662
42663         maint.mk: improve sc_prohibit_magic_number_exit
42664         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
42665         so it does not match uses like System.exit(1).
42666         Add comments showing how to correct all offenders.
42667
42668 2009-11-19  Eric Blake  <ebb9@byu.net>
42669
42670         xalloc-die-tests: add missing library
42671         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
42672
42673         test-xvasprintf: silence compiler warnings
42674         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
42675         empty string from gcc.
42676
42677 2009-11-19  Jim Meyering  <meyering@redhat.com>
42678
42679         xfreopen: new module, from coreutils
42680         * modules/xfreopen: New module.
42681         * lib/xfreopen.c: New file.
42682         * lib/xfreopen.h: New file.
42683         * MODULES.html.sh (File stream based Input/Output"): Add it.
42684
42685 2009-11-19  Eric Blake  <ebb9@byu.net>
42686
42687         manywarnings: depend on warnings
42688         * modules/manywarnings (Depends-on): Add warnings.
42689
42690         build: avoid compiler warnings
42691         * lib/select.c (rpl_select): Delete unused variable.
42692         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
42693
42694 2009-11-18  Eric Blake  <ebb9@byu.net>
42695
42696         tests: avoid false negative with --with-packager
42697         * tests/test-version-etc.sh: Discard packager information.
42698         * tests/test-argp-version-etc-1.sh: Likewise.
42699         Reported by Mike Frysinger.
42700
42701         utimens: fix regression on Solaris
42702         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
42703         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
42704         can only change fd timestamps via futimesat.  Instead, use an
42705         additional witness macro to avoid BSD bug.
42706         Reported by Jim Meyering.
42707
42708 2009-11-17  Eric Blake  <ebb9@byu.net>
42709
42710         usleep: use it to simplify tests
42711         * modules/stat-time-tests (Depends-on): Add usleep.
42712         (configure.ac): Drop usleep check.
42713         * modules/chown-tests (Depends-on, configure.ac): Likewise.
42714         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
42715         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
42716         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
42717         * modules/openat-tests (Depends-on, configure.ac): Likewise.
42718         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
42719         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
42720         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
42721         Likewise.
42722         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
42723         * tests/test-lchown.h (nap): Likewise.
42724         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
42725         * tests/test-stat-time.c (nap): Likewise.
42726         * tests/test-utimens-common.h (nap): Update comments.
42727
42728         usleep: new module
42729         * modules/usleep: New file.
42730         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
42731         * lib/usleep.c (usleep): Likewise.
42732         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42733         * modules/unistd (Makefile.am): Substitute witnesses.
42734         * lib/unistd.in.h (usleep): Add declaration.
42735         * doc/pastposix-functions/usleep.texi (usleep): Document this.
42736         * MODULES.html.sh (Date and time): Likewise.
42737         * modules/usleep-tests (Depends-on): New test.
42738         * tests/test-usleep.c: New file.
42739
42740         chown: work around OpenBSD bug
42741         * lib/chown.c (rpl_chown): Work around the bug.
42742         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
42743         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
42744         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
42745         * modules/chown (Depends-on): Add stdbool.
42746         * modules/lchown (Depends-on): Likewise.
42747         * doc/posix-functions/chown.texi (chown): Document the bug.
42748         * doc/posix-functions/lchown.texi (lchown): Likewise.
42749         * tests/test-lchown.h (test_chown): Relax test.
42750
42751         mkstemp: avoid conflict with C++ keyword template
42752         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
42753         * lib/mkostemp.c (mkostemp): Likewise.
42754         * lib/mkostemps.c (mkostemps): Likewise.
42755         * lib/mkstemp.c (mkstemp): Likewise.
42756         * lib/mkstemps.c (mkstemps): Likewise.
42757
42758         xalloc-die-tests: optimize
42759         * tests/test-xalloc-die.sh: Reduce number of processes.
42760
42761 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42762
42763         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
42764         patch from ludo@gnu.org (Ludovic Courtès).
42765
42766 2009-11-17  Jim Meyering  <meyering@redhat.com>
42767
42768         version-etc: use proper license string
42769         * modules/version-etc (License): Use LGPL, not LGPLv3+.
42770         * modules/version-etc-fsf: Likewise.
42771
42772 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42773
42774         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
42775         printed to stdout.  Deal with EOL differences.
42776
42777 2009-11-17  Eric Blake  <ebb9@byu.net>
42778
42779         unsetenv: work around Solaris bug
42780         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
42781         * lib/unsetenv.c (rpl_unsetenv): Work around it.
42782         Reported by Jim Meyering.
42783
42784         vasnprintf: avoid compiler warnings
42785         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
42786         variables.
42787         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
42788
42789 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42790
42791         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
42792         settings since xalloc-die is no longer the self test,
42793         xalloc-die.sh is.
42794
42795 2009-11-17  Jim Meyering  <meyering@redhat.com>
42796
42797         test-xalloc-die.sh: make the code agree with the commit log
42798         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
42799         at the end, just in case you happen to have a test-xalloc-die
42800         program in some other PATH directory.
42801
42802         test-xalloc-die.sh: fix a portability bug
42803         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
42804         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
42805         Otherwise, argv[0] (as often seen in diagnostics) would be too
42806         system-dependent, sometimes with, and sometimes without the leading "./".
42807
42808         version-etc-fsf: relax license to LGPLv3+
42809         * modules/version-etc-fsf (License): Relax license.
42810
42811 2009-11-16  Eric Blake  <ebb9@byu.net>
42812
42813         xalloc-die-tests: avoid printing null pointer
42814         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
42815         shell script.
42816         * tests/test-xalloc-die.c (program_name): Declare.
42817         * tests/test-xalloc-die.sh (tmpfiles): New file.
42818
42819         setenv, unsetenv: work around various bugs
42820         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
42821         (setenv) [HAVE_SETENV]: Work around bugs.
42822         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
42823         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
42824         for bugs.
42825         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
42826         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
42827         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
42828         * modules/stdlib (Makefile.am): Update substitutions.
42829         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
42830         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
42831         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42832         * modules/setenv-tests: New test.
42833         * modules/unsetenv-tests: Likewise.
42834         * tests/test-setenv.c: New file.
42835         * tests/test-unsetenv.c: Likewise.
42836
42837 2009-11-16  Jim Meyering  <meyering@redhat.com>
42838
42839         version-etc: relax license to LGPLv3+
42840         * modules/version-etc (License): Relax license.
42841
42842         better AC_REQUIRE expanded-before-required-warning avoidance
42843         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
42844         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
42845         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
42846         which is no longer needed.
42847
42848 2009-11-16  Eric Blake  <ebb9@byu.net>
42849
42850         test-freading: clean up temporary file
42851         * tests/test-freading.c (main): Remove file on success, and use
42852         ASSERT more liberally.
42853         Reported by Jim Meyering.
42854
42855 2009-11-16  Jim Meyering  <meyering@redhat.com>
42856
42857         avoid new AC_REQUIRE expanded-before-required warnings
42858         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
42859         merely using it.
42860         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
42861         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
42862
42863 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42864
42865         * tests/test-xalloc-die.c: New file.
42866         * modules/xalloc-die-tests: New file.
42867         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
42868         XFAIL_TESTS so it can be appended by modules.
42869
42870 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42871
42872         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
42873         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
42874
42875 2009-11-14  Eric Blake  <ebb9@byu.net>
42876
42877         fnmatch: avoid compiler warning
42878         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
42879         to silence compiler warning about mismatch signedness in ?:.
42880         Reported by Robert Millan.
42881
42882         intprops: add double-inclusion guard
42883         * lib/intprops.h: Allow idempotent includes.
42884         Suggested by Bruce Korb.
42885
42886         openat: detect Solaris fchownat bug
42887         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
42888         penalizing glibc chownat when only lchownat is broken.
42889         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
42890         trailing slash bugs.
42891         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
42892         * modules/openat-tests (Files): Include more files.
42893         (Depends-on): Add mgetgroups, sleep, stat-time.
42894         (configure.ac): Add additional checks.
42895         (Makefile.am): Build new test.
42896         * tests/test-fchownat.c: New file.
42897
42898         lchown: detect Solaris and FreeBSD bug
42899         * lib/lchown.c (rpl_lchown): Work around bug.
42900         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
42901         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42902         * modules/unistd (Makefile.am): Populate it.
42903         * lib/unistd.in.h (lchown): Update declaration.
42904         * doc/posix-functions/lchown.texi (lchown): Document the bug.
42905         * modules/lchown-tests: New file.
42906         * tests/test-lchown.h (test_lchown): Likewise.
42907         * tests/test-lchown.c (main): Likewise.
42908
42909         chown: detect Solaris and FreeBSD bug
42910         * lib/chown.c (rpl_chown): Work around bug.
42911         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
42912         (gl_PREREQ_CHOWN): Delete.
42913         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42914         * modules/unistd (Makefile.am): Populate it.
42915         * lib/unistd.in.h (chown): Update declaration.
42916         * lib/lchown.c (chown): Update client.
42917         * modules/lchown (Depends-on): Add lstat.
42918         * doc/posix-functions/chown.texi (chown): Document the bug.
42919         * doc/posix-functions/getgroups.texi (getgroups): Document
42920         getgroups pitfall.
42921         * modules/chown-tests: New file.
42922         * tests/test-chown.h (test_chown): Likewise.
42923         * tests/test-chown.c (main): Likewise.
42924
42925 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
42926
42927         gnulib-tool: correctly detect absence of m4 directories
42928         * gnulib-tool: Avoid extra newline on data passed to wc -l.
42929
42930 2009-11-14  Jim Meyering  <meyering@redhat.com>
42931
42932         maint.mk: Prohibit inclusion of "xalloc.h" without use.
42933         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42934
42935 2009-11-14  John W. Eaton  <jwe@gnu.org>
42936
42937         strftime.h: wrap function declaration in extern "C" block
42938         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
42939
42940 2009-11-13  Eric Blake  <ebb9@byu.net>
42941
42942         getgroups: avoid compiler warning
42943         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
42944
42945         getgroups: work around FreeBSD bug
42946         * lib/getgroups.c (rpl_getgroups): Work around the bug.
42947         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
42948         * doc/posix-functions/getgroups.texi (getgroups): Document it.
42949         * tests/test-getgroups.c (main): Fix buffer overrun.
42950
42951         getgroups: avoid compilation failure
42952         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
42953         * modules/getgroups (Depends-on): Add stdint.
42954
42955 2009-11-13  Jim Meyering  <meyering@redhat.com>
42956
42957         test-getgroups: avoid compilation failure
42958         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
42959
42960 2009-11-13  Eric Blake  <ebb9@byu.net>
42961
42962         mgetgroups: new module, taken from coreutils
42963         * modules/mgetgroups: New file.
42964         * lib/mgetgroups.h: Likewise.
42965         * lib/mgetgroups.c (mgetgroups): Likewise.
42966         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
42967         * MODULES.html.sh (Users and groups): Mention it.
42968
42969         getgroups: don't expose GETGROUPS_T to user
42970         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
42971         an element at a time if GETGROUPS_T is wrong size.
42972         * lib/getugroups.h (getugroups): Change signature.
42973         * lib/unistd.in.h (getgroups): Likewise.
42974         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
42975         signature needs fixing.
42976         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
42977         AC_TYPE_GETGROUPS.
42978         * modules/group-member (Depends-on): Add getgroups.
42979         * lib/group-member.c (group_info, get_group_info): Use gid_t.
42980         (group_member): Rely on getgroups replacement.
42981         * lib/getugroups.c (getugroups): Use gid_t.
42982         * tests/test-getgroups.c (main): Likewise.
42983         * NEWS: Mention the signature change.
42984         * doc/posix-functions/getgroups.texi (getgroups): Mention the
42985         problem with signature.
42986         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
42987         GETGROUPS_T is still useful for setgroups.
42988
42989         getgroups, getugroups: provide stubs for mingw
42990         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
42991         * lib/getugroups.c (getugroups): Likewise.
42992         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
42993         function.  Modernize replacement scheme.
42994         (gl_PREREQ_GETGROUPS): Delete.
42995         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
42996         * modules/getgroups (configure.ac): Declare witness.
42997         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42998         * modules/unistd (Depends-on): Substitute witness.
42999         * lib/unistd.in.h (getgroups): Declare replacement.
43000
43001         getgroups: avoid calling exit
43002         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
43003         drop xalloc.
43004         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
43005         dependencies.
43006         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
43007         exiting, in the rare case of malloc failure.
43008
43009         getgroups: fix logic error
43010         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
43011         has more than 20 groups.
43012         * modules/getgroups-tests: New test.
43013         * tests/test-getgroups.c: New file.
43014
43015 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43016
43017         * tests/test-base64.c: Improve.
43018
43019 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43020
43021         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
43022         Blake <ebb9@byu.net>.
43023
43024 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43025
43026         * tests/test-xvasprintf.c: Add %s%s related checks.
43027
43028 2009-11-12  Eric Blake  <ebb9@byu.net>
43029
43030         version-etc: match standards.texi style
43031         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
43032         and use <> only for URLs.
43033
43034 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
43035
43036         fts: do not fail on a submount during traversal
43037         * lib/fts.c (fts_build): Read the stat info again after opening
43038         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
43039         Original report at http://bugzilla.redhat.com/501848.
43040
43041 2009-11-12  Jim Meyering  <meyering@redhat.com>
43042
43043         bootstrap: sync from coreutils
43044         * build-aux/bootstrap (bootstrap_epilogue): New function.
43045         Use git_modules_config in one more place.  This make bootstrap's
43046         --gnulib-srcdir option more useful for testing.
43047
43048         bootstrap: generalize autoheader check
43049         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
43050         AC_CONFIG_HEADERS.
43051
43052 2009-11-11  Eric Blake  <ebb9@byu.net>
43053
43054         mkfifoat: use new modules for Solaris and BSD bugs
43055         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
43056         * lib/mkfifoat.c (mknodat): Split...
43057         * lib/mknodat.c (mknodat): ...into new file.
43058         * modules/mkfifoat (Files): Ship new file.
43059         (Depends-on): Add mkfifo, mknod.
43060         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
43061         (Depends-on): Add symlink.
43062         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
43063         redundant with test_mkfifo.h.
43064         (do_mkfifoat, do_mknodat): New helpers.
43065
43066         mknod: new module
43067         * modules/mknod: New file.
43068         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
43069         * lib/mknod.c (mknod): Likewise.
43070         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43071         defaults.
43072         * modules/sys_stat (Makefile.am): Substitute them.
43073         * lib/sys_stat.in.h (mknod): Declare replacement.
43074         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43075         Document it.
43076         * doc/posix-functions/mknod.texi (mknod): Likewise.
43077         * modules/mknod-tests: New test.
43078         * tests/test-mknod.c: Likewise.
43079
43080         mkfifo: new module
43081         * modules/mkfifo: New file.
43082         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
43083         * lib/mkfifo.c (mkfifo): Likewise.
43084         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43085         defaults.
43086         * modules/sys_stat (Makefile.am): Substitute them.
43087         * lib/sys_stat.in.h (mkfifo): Declare replacement.
43088         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43089         Document it.
43090         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
43091         * modules/mkfifo-tests: New test.
43092         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
43093         from test-mkfifoat.c.
43094         * tests/test-mkfifo.c: New file.
43095
43096         readlink: detect FreeBSD bug
43097         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
43098         slash on symlink.
43099         * doc/posix-functions/readlink.texi (readlink): Document the bug.
43100         * tests/test-readlink.h (test_readlink): Enhance test.
43101
43102         symlink: detect FreeBSD bug
43103         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
43104         slash on symlink.
43105         * doc/posix-functions/symlink.texi (symlink): Document the bug.
43106         * tests/test-symlink.h (test_symlink): Enhance test.
43107
43108 2009-11-10  Eric Blake  <ebb9@byu.net>
43109
43110         link: detect FreeBSD bug
43111         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
43112         symlink.
43113         * doc/posix-functions/link.texi (link): Document the bug.
43114         * tests/test-link.h (test_link): Enhance test.
43115         * tests/test-linkat.c (main): Update caller.
43116
43117         unlink, remove: detect FreeBSD bug
43118         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
43119         slash on symlink.
43120         * doc/posix-functions/unlink.texi (unlink): Document the bug.
43121         * doc/posix-functions/remove.texi (remove): Likewise.
43122         * tests/test-unlink.h (test_unlink): Enhance test.
43123         * tests/test-remove.c (main): Likewise.
43124
43125 2009-11-09  Eric Blake  <ebb9@byu.net>
43126
43127         rename: detect FreeBSD bug
43128         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
43129         slash on symlink.
43130         * modules/renameat-tests (Depends-on): Add filenamecat.
43131         * tests/test-rename.h (test_rename): Allow one more errno.
43132         * tests/test-renameat.c (main): Likewise.
43133         * doc/posix-functions/rename.texi (rename): Document the bug.
43134
43135         open: detect FreeBSD bug
43136         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
43137         symlink.
43138         * doc/posix-functions/open.texi (open): Document the bug.
43139         * doc/posix-functions/utimes.texi (utimes): Likewise.
43140         * tests/test-open.h (test_open): Add parameters, and test symlink
43141         handling.
43142         * tests/test-open.c (main): Adjust caller.
43143         * tests/test-fcntl-safer.c (main): Likewise.
43144         * modules/open-tests (Depends-on): Add stdbool, symlink.
43145         * modules/fcntl-safer-tests (Depends-on): Likewise.
43146         * tests/test-openat.c (main): Add test-open tests.
43147
43148         stat: detect FreeBSD bug
43149         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
43150         symlink.
43151         * doc/posix-functions/stat.texi (stat): Document the bug.
43152         * tests/test-stat.h (test_stat_func): Add argument.
43153         * tests/test-stat.c (main): Adjust caller.
43154         * tests/test-fstatat.c (main): Likewise.
43155         * modules/stat-tests (Depends-on): Add stdbool, symlink.
43156         Reported by Jim Meyering.
43157
43158 2009-11-09  James Youngman  <jay@gnu.org>
43159
43160         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
43161         * lib/strftime.c: Correct placement of #include "ignore-value.h".
43162
43163 2009-11-08  Jim Meyering  <meyering@redhat.com>
43164
43165         utimens: remove invalid futimesat call
43166         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
43167         It used the file descriptor of the target file as the DIR_FD
43168         parameter and NULL as the file name.  That caused failure with
43169         errno == EFAULT on FreeBSD-8.0-rc2
43170
43171 2009-11-07  Eric Blake  <ebb9@byu.net>
43172
43173         fflush, freadseek: use fseeko, not fseek
43174         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
43175         (clear_ungetc_buffer): Avoid potential problems on large files.
43176         * lib/freadseek.c (freadseek): Likewise.
43177         * modules/freadseek (Depends-on): Add fseeko.
43178         * modules/fseek (configure.ac): Set a witness.
43179         * tests/test-fflush.c (main): Use fseeko.
43180         * tests/test-fpurge.c (fseek): Disable link warning.
43181         * tests/test-freadable.c (fseek): Likewise.
43182         * tests/test-freading.c (fseek): Likewise.
43183         * tests/test-fseeko.c (fseek): Likewise.
43184         * tests/test-ftell.c (fseek): Likewise.
43185         * tests/test-ftello.c (fseek): Likewise.
43186         * tests/test-fwritable.c (fseek): Likewise.
43187         * tests/test-fwriting.c (fseek): Likewise.
43188
43189 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43190
43191         * modules/memchr (Depends-on): Drop getpagesize dependency.
43192
43193 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43194
43195         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
43196         Reported by Ludovic Courtès.
43197         * build-aux/pmccabe2html: Improve example usage.
43198         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
43199
43200 2009-11-06  Jim Meyering  <meyering@redhat.com>
43201
43202         do-release-commit-and-tag: New module.
43203         Automate the release-commit and tag process.
43204         * build-aux/do-release-commit-and-tag: New script, from coreutils.
43205         * modules/do-release-commit-and-tag: New file.
43206         * MODULES.html.sh (Support for maintaining and releasing): Add it.
43207
43208 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43209
43210         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
43211         because test-select.c uses inet_pton.
43212
43213 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43214
43215         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
43216         GETADDRINFO_LIB.  Bump serial number.
43217         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
43218         Suggested by Eric Blake <ebb9@byu.net>.
43219
43220 2009-11-05  Eric Blake  <ebb9@byu.net>
43221
43222         strtod: detect darwin bug
43223         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
43224         Reported by Leo Davis.
43225
43226         freopen-safer: new module
43227         * modules/freopen-safer: New module.
43228         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
43229         * lib/freopen-safer.c (freopen_safer): New file.
43230         * lib/stdio-safer.h (freopen_safer): New declaration.
43231         * lib/stdio--.h (freopen): New override.
43232         * MODULES.html.sh (File stream based Input/Output): Mention it.
43233         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
43234         freopen-safer module.
43235         * doc/posix-functions/stderr.texi (stderr): Likewise.
43236         * doc/posix-functions/stdin.texi (stdin): Likewise.
43237         * doc/posix-functions/stdout.texi (stdout): Likewise.
43238         * modules/freopen-safer-tests: New test.
43239         * tests/test-reopen-safer.c: New file.
43240
43241 2009-11-05  Jim Meyering  <meyering@redhat.com>
43242
43243         maint.mk: Prohibit inclusion of "close-stream.h" without use.
43244         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43245
43246 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43247
43248         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
43249
43250 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43251
43252         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
43253
43254 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43255
43256         Fix link error.
43257         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43258         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43259
43260 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43261
43262         * tests/test-func.c: Also test value of __func__.
43263
43264 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43265
43266         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
43267         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
43268
43269 2009-11-05  Bruno Haible  <bruno@clisp.org>
43270
43271         Fix link error.
43272         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43273         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43274         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
43275
43276 2009-11-05  Bruno Haible  <bruno@clisp.org>
43277
43278         Tests for module 'inet_pton'.
43279         * modules/inet_pton-tests: New file.
43280         * tests/test-inet_pton.c: New file.
43281
43282 2009-11-05  Bruno Haible  <bruno@clisp.org>
43283
43284         Tests for module 'inet_ntop'.
43285         * modules/inet_ntop-tests: New file.
43286         * tests/test-inet_ntop.c: New file.
43287
43288 2009-11-04  Eric Blake  <ebb9@byu.net>
43289
43290         stdlib-safer: wrap all mkstemp variants
43291         * modules/mkostemp (configure.ac): Set witness.
43292         * modules/mkostemps (configure.ac): Likewise.
43293         * modules/mkstemps (configure.ac): Likewise.
43294         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
43295         (mkstemps_safer): Wrap more functions.
43296         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
43297         wrapping.
43298         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
43299         (mkstemps_safer): Implement the wrappers.
43300
43301         mkstemps, mkostemps: new modules
43302         * modules/mkostemps: New module.
43303         * modules/mkstemps: Likewise.
43304         * lib/mkostemps.c (mkostemps): New file.
43305         * lib/mkstemps.c (mkstemps): Likewise.
43306         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
43307         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
43308         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
43309         * modules/stdlib (Makefile.am): Substitute them.
43310         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
43311         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
43312         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
43313         * doc/gnulib.texi (Glibc stdlib.h): Include them.
43314         * MODULES.html.sh (File system functions): Mention them.
43315
43316         tempname: resync from glibc
43317         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
43318         same values for __GT_FILE as glibc.  Abort even when assertions
43319         are disabled.
43320         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
43321         match its value otherwise.  Allow idempotent inclusion.
43322         * lib/mkdtemp.c (mkdtemp): Adjust caller.
43323         * lib/mkostemp.c (mkostemp): Likewise.
43324         * lib/mkstemp.c (mkstemp): Likewise.
43325         * lib/tmpfile.c (tmpfile): Likewise.
43326         * NEWS: Document this.
43327
43328         utimens: fix use of futimens on older Linux
43329         * lib/utimens.c (fdutimens): Use updated, rather than original,
43330         timespec to avoid bug in older Linux kernel.
43331         Reported by Simon Josefsson.
43332
43333 2009-11-04  Bruno Haible  <bruno@clisp.org>
43334
43335         Make num_processors more flexible and consistent.
43336         * lib/nproc.h (enum nproc_query): New type.
43337         (num_processors): Add a 'query' argument.
43338         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
43339         (num_processors): Add a 'query' argument. Test the value of the
43340         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
43341         mingw, count the number of CPUs available for the current process.
43342         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
43343         Check for sched_getaffinity and sched_getaffinity_np.
43344         * modules/nproc (Depends-on): Add c-ctype, extensions.
43345         * NEWS: Mention the change.
43346
43347 2009-11-03  Bruno Haible  <bruno@clisp.org>
43348
43349         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
43350
43351 2009-11-03  Jim Meyering  <meyering@redhat.com>
43352
43353         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
43354         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
43355         if it is defined.
43356
43357 2009-11-02  Eric Blake  <ebb9@byu.net>
43358
43359         mktime, timegm: share common declaration
43360         * lib/mktime-internal.h: New file.
43361         * lib/mktime.c: Use it rather than open-coding a declaration.
43362         * lib/timegm.c: Likewise.
43363         * modules/mktime (Files): Ship it.
43364         * modules/timegm (Files): Likewise.
43365         Suggested by Bruno Haible.
43366
43367         test-update-copyright: update test to match script changes
43368         * tests/test-update-copyright.sh: Avoid hard-coding perl
43369         location.  Don't update *.bak created by earlier runs.
43370
43371 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
43372             Simon Josefsson  <simon@josefsson.org>
43373             Bruno Haible  <bruno@clisp.org>
43374
43375         Fix link error on Solaris 8.
43376         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
43377         also in libnsl. Define also INET_PTON_LIB.
43378         * modules/inet_pton (Link): New section.
43379
43380 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43381             Bruno Haible  <bruno@clisp.org>
43382
43383         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
43384         * modules/inet_ntop (Link): New section.
43385         Reported by Boyan Kasarov <bkasarov@gmail.com>.
43386
43387 2009-11-02  Eric Blake  <ebb9@byu.net>
43388
43389         maint: avoid compiler warnings in m4 macros
43390         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
43391         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
43392
43393 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43394
43395         * m4/pmccabe2html.m4: Remove file.
43396         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
43397         function.  Change maintainer.
43398         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
43399         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
43400         Courtès).
43401
43402 2009-10-31  Eric Blake  <ebb9@byu.net>
43403
43404         fseeko: fix m4 regression
43405         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
43406         regression from 2009-10-27.
43407         Reported by Ralf Wildenhues.
43408
43409 2009-10-31  Jim Meyering  <meyering@redhat.com>
43410
43411         inttostr: aesthetics and improved (compile-time) safety
43412         Define inttype_is_signed rather than inttype_is_unsigned,
43413         since the sole use is via "#if inttype_is_signed".
43414         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
43415         inttype_is_unsigned.
43416         * lib/offtostr.c (inttype_is_signed): Likewise.
43417         * lib/uinttostr.c (inttype_is_signed): Likewise.
43418         * lib/umaxtostr.c (inttype_is_signed): Likewise.
43419         * lib/inttostr.c (inttostr): Use verify to cross-check the
43420         inttype_is_signed value and the signedness of the actual type.
43421         * modules/inttostr (Depends-on): Add verify.
43422
43423 2009-10-30  Eric Blake  <ebb9@byu.net>
43424
43425         build: avoid compiler warnings
43426         * lib/fchmodat.c (lchmod): Mark unused variables.
43427         * lib/getopt.c (_getopt_initialize): Likewise.
43428         * lib/mktime.c (__mktime_internal): Provide prototype.
43429         * lib/inttostr.c (inttostr): Avoid compiler warning even with
43430         older gcc that do not understand #pragma GCC diagnostic.
43431         * lib/uinttostr.c (inttype_is_unsigned): Define.
43432         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
43433
43434 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
43435
43436         stat: fix compilation on AIX
43437         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
43438         only see struct stat64.
43439
43440 2009-10-30  Eric Blake  <ebb9@byu.net>
43441
43442         exclude: make more robust
43443         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
43444         rather than masking a coding bug.
43445         Suggested by Bruno Haible.
43446
43447 2009-10-30  Jim Meyering  <meyering@redhat.com>
43448
43449         perl scripts: remove #!/usr/bin/perl in favor of more portable...
43450         Rather than putting #!/usr/bin/perl on the first line,
43451         start with a variant of what's recommended by "man perlrun" that
43452         invokes the first "perl" program from your shell's search path.
43453         * build-aux/gitlog-to-changelog: Replace #!... as above.
43454         Add a "Local Variables" perl mode setting.
43455         Prompted by a patch from Ludovic Courtès.
43456         Improved by Eric Blake.
43457         * build-aux/useless-if-before-free: Likewise.
43458         * build-aux/announce-gen: Likewise.
43459         * build-aux/update-copyright: Likewise.
43460
43461 2009-10-29  Eric Blake  <ebb9@byu.net>
43462
43463         filenamecat-lgpl: adjust clients
43464         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
43465         filenamecat.
43466         * modules/renameat (Depends-on): Likewise.
43467
43468         filenamecat: split into filenamecat-lgpl
43469         * modules/filenamecat-lgpl: New module.
43470         * modules/filenamecat (Files): Move library-safe files into
43471         filenamecat-lgpl.
43472         (Depends-on): Add filenamecat-lgpl.
43473         (configure.ac): Declare witness.
43474         * lib/filenamecat.h (file_name_concat): Only declare when using
43475         GPL module.
43476         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
43477         Move...
43478         * lib/filenamecat-lgpl.c: ...into new file.
43479         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
43480         (gl_FILE_NAME_CONCAT): Use it.
43481         * MODULES.html.sh (File system functions): Mention new module.
43482
43483         argp: avoid memory leak
43484         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
43485         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
43486         base_name, since the latter malloc()s and can call exit().
43487         Leak introduced 2006-07-03.
43488
43489         dirname-lgpl: adjust clients that don't need full dirname
43490         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
43491         * modules/filenamecat (Depends-on): Likewise.
43492         * modules/linkat (Depends-on): Likewise.
43493         * modules/mkancesdirs (Depends-on): Likewise.
43494         * modules/mkdir (Depends-on): Likewise.
43495         * modules/openat (Depends-on): Likewise.
43496         * modules/savewd (Depends-on): Likewise.
43497         * modules/rename (Depends-on): Likewise.
43498         (License): Relax license.
43499         * modules/mkdir-tests (Depends-on): Drop progname.
43500         (Makefile.am): Delete unneeded LDADD.
43501         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
43502
43503         dirname: split into dirname-lgpl
43504         * modules/dirname-lgpl: New module.
43505         * modules/dirname (Files): Move library-safe files into
43506         dirname-lgpl.
43507         (Depends-on): Add dirname-lgpl.
43508         (configure.ac): Declare witness.
43509         * modules/double-slash-root (License): Relax license.
43510         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
43511         module.
43512         * lib/dirname.c (dir_len, mdir_name): Move...
43513         * lib/dirname-lgpl.c: ...into new file.
43514         * lib/basename.c (last_component, base_len): Move...
43515         * lib/basename-lgpl.c: ...into new file.
43516         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
43517         (gl_DIRNAME): Use it.
43518         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
43519         Mention new module.
43520         * modules/dirname-tests (Depends-on): Add progname.
43521         * tests/test-dirname.c (program_name): Delete.
43522
43523         mkdir: make safe for libraries
43524         * modules/mkdir (Depends-on): Drop xalloc.
43525         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
43526         exit.
43527
43528         tests: avoid some compiler warnings
43529         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
43530         literals.
43531         * tests/test-memchr.c (main): Avoid type mismatch.
43532         * tests/test-arpa_inet.c (main): Avoid unused parameters.
43533         * tests/test-base64.c (main): Likewise.
43534         * tests/test-getdelim.c (main): Likewise.
43535         * tests/test-gethostname.c (main): Likewise.
43536         * tests/test-getline.c (main): Likewise.
43537         * tests/test-netinet_in.c (main): Likewise.
43538         * tests/test-select.c (open_server_socket, main): Likewise.
43539         * tests/test-select-stdin.c (main): Likewise.
43540         * tests/test-sockets.c (main): Likewise.
43541         * tests/test-strsignal.c (main): Likewise.
43542         * tests/test-sys_select.c (main): Likewise.
43543         * tests/test-sys_socket.c (main): Likewise.
43544         * tests/test-u64.c (main): Likewise.
43545         * tests/test-xfprintf-posix.c (main): Likewise.
43546         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
43547
43548         sockets: avoid compiler warning
43549         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
43550
43551         maint: detect usage(1) and other suspicious exits
43552         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
43553
43554 2009-10-29  Jim Meyering  <meyering@redhat.com>
43555
43556         timespec: long-to-int truncation could make timespec_cmp malfunction
43557         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
43558         a multiple of 2^32 nanoseconds as no difference.
43559
43560 2009-10-28  Jim Meyering  <meyering@redhat.com>
43561
43562         fprintftime: wrap macro code argument in "do {...} while(0)"
43563         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
43564         cpy macro must be a statement that can be followed by a semicolon.
43565         Now that the else clause contains a comment and is hence longer
43566         than one line, I require curly braces.  That in turn requires
43567         that we wrap this code block in the standard do...while(0).
43568
43569         fprintftime: remove stray semicolon from previous change
43570         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
43571
43572         fprintftime: avoid a warning about ignored fwrite return value
43573         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
43574         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
43575         that is unsafe.
43576         * modules/fprintftime (Depends-on): Add ignore-value.
43577
43578         exclude: avoid an unwarranted warning
43579         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
43580
43581 2009-10-27  Eric Blake  <ebb9@byu.net>
43582
43583         fseek: avoid compilation failure when fflush is replaced
43584         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
43585         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
43586         module is in use.
43587         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
43588         module is not in use; since REPLACE_FSEEK worked otherwise.
43589         (GNULIB_FTELLO): Likewise for ftell.
43590         Reported by Ian Beckwith and others.
43591
43592 2009-10-27  Bruno Haible  <bruno@clisp.org>
43593
43594         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
43595         Reported by Jim Meyering.
43596
43597 2009-10-27  Jim Meyering  <jim@meyering.net>
43598             Bruno Haible  <bruno@clisp.org>
43599
43600         Avoid warning despite dropping the return value of fwrite.
43601         * lib/unicodeio.c: Include ignore-value.h.
43602         (fwrite_success_callback): Explicitly ignore fwrite's return value.
43603         * modules/unicodeio (Depends-on): Add ignore-value.
43604
43605 2009-10-26  Eric Blake  <ebb9@byu.net>
43606
43607         areadlinkat: fix fallback path
43608         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
43609         pointer and zero.
43610
43611 2009-10-22  Pádraig Brady  <P@draigBrady.com>
43612
43613         Use a better IO block size for modern systems
43614         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
43615         * lib/md2.c: Likewise.
43616         * lib/md4.c: Likewise.
43617         * lib/md5.c: Likewise.
43618         * lib/sha1.c: Likewise.
43619         * lib/sha256.c: Likewise.
43620         * lib/sha512.c: Likewise.
43621
43622 2009-10-22  Eric Blake  <ebb9@byu.net>
43623
43624         tests: avoid several compiler warnings
43625         * tests/test-getcwd.c (main): Avoid buffer underflow.
43626         * tests/test-getdate.c (main): String literals are not safe with
43627         putenv, so use setenv.  Declare unused argument.
43628         * modules/getdate-tests (Depends-on): Add setenv.
43629         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
43630         problems with string literals in char *.
43631         * tests/test-hash.c (main): Avoid shadowing declaration.
43632         (insert_new): Treat string literals as char const *.
43633         * tests/test-getopt.h (test_getopt): Likewise.
43634         (getopt_loop): Alter types to minimize casting elsewhere.
43635         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
43636         (test_getopt_long_posix): Likewise.
43637         (do_getopt_long): Add wrapper to minimize casting.
43638         * tests/test-atexit.c (clear_temp_file): Use void.
43639         * tests/test-areadlink-with-size.c (main): Declare unused
43640         arguments.
43641         * tests/test-areadlink.c (main): Likewise.
43642         * tests/test-areadlinkat-with-size.c (main): Likewise.
43643         * tests/test-areadlinkat.c (main): Likewise.
43644         * tests/test-canonicalize-lgpl.c (main): Likewise.
43645         * tests/test-canonicalize.c (main): Likewise.
43646         * tests/test-dirent-safer.c (main): Likewise.
43647         * tests/test-dirname.c (main): Likewise.
43648         * tests/test-dup2.c (main): Likewise.
43649         * tests/test-fchdir.c (main): Likewise.
43650         * tests/test-fcntl-h.c (main): Likewise.
43651         * tests/test-fcntl-safer.c (main): Likewise.
43652         * tests/test-fdopendir.c (main): Likewise.
43653         * tests/test-fdutimensat.c (main): Likewise.
43654         * tests/test-fflush.c (main): Likewise.
43655         * tests/test-filenamecat.c (main): Likewise.
43656         * tests/test-filevercmp.c (main): Likewise.
43657         * tests/test-fopen-safer.c (main): Likewise.
43658         * tests/test-fopen.c (main): Likewise.
43659         * tests/test-fpending.c (main): Likewise.
43660         * tests/test-fpurge.c (main): Likewise.
43661         * tests/test-freading.c (main): Likewise.
43662         * tests/test-fstatat.c (main): Likewise.
43663         * tests/test-fsync.c (main): Likewise.
43664         * tests/test-futimens.c (main): Likewise.
43665         * tests/test-getndelim2.c (main): Likewise.
43666         * tests/test-gettimeofday.c (main): Likewise.
43667         * tests/test-getopt.c (main): Likewise.
43668         * tests/test-i-ring.c (main): Likewise.
43669         * tests/test-inttypes.c (main): Likewise.
43670         * tests/test-link.c (main): Likewise.
43671         * tests/test-lstat.c (main): Likewise.
43672         * tests/test-math.c (main): Likewise.
43673         * tests/test-md5.c (main): Likewise.
43674         * tests/test-memchr2.c (main): Likewise.
43675         * tests/test-memrchr.c (main): Likewise.
43676         * tests/test-mkdir.c (main): Likewise.
43677         * tests/test-mkdirat.c (main): Likewise.
43678         * tests/test-mkfifoat.c (main): Likewise.
43679         * tests/test-open.c (main): Likewise.
43680         * tests/test-openat-safer.c (main): Likewise.
43681         * tests/test-openat.c (main): Likewise.
43682         * tests/test-quotearg.c (main): Likewise.
43683         * tests/test-rawmemchr.c (main): Likewise.
43684         * tests/test-readlink.c (main): Likewise.
43685         * tests/test-remove.c (main): Likewise.
43686         * tests/test-rename.c (main): Likewise.
43687         * tests/test-renameat.c (main): Likewise.
43688         * tests/test-rmdir.c (main): Likewise.
43689         * tests/test-sha1.c (main): Likewise.
43690         * tests/test-signal.c (main): Likewise.
43691         * tests/test-sigaction.c (main): Likewise.
43692         * tests/test-stat.c (main): Likewise.
43693         * tests/test-stat-time.c (main): Likewise.
43694         * tests/test-stddef.c (main): Likewise.
43695         * tests/test-stdint.c (main): Likewise.
43696         * tests/test-stdio.c (main): Likewise.
43697         * tests/test-stdlib.c (main): Likewise.
43698         * tests/test-strchrnul.c (main): Likewise.
43699         * tests/test-strerror.c (main): Likewise.
43700         * tests/test-string.c (main): Likewise.
43701         * tests/test-strtod.c (main): Likewise.
43702         * tests/test-strverscmp.c (main): Likewise.
43703         * tests/test-symlink.c (main): Likewise.
43704         * tests/test-symlinkat.c (main): Likewise.
43705         * tests/test-sys_stat.c (main): Likewise.
43706         * tests/test-sys_time.c (main): Likewise.
43707         * tests/test-time.c (main): Likewise.
43708         * tests/test-unistd.c (main): Likewise.
43709         * tests/test-unlink.c (main): Likewise.
43710         * tests/test-unlinkat.c (main): Likewise.
43711         * tests/test-utimens.c (main): Likewise.
43712         * tests/test-utimensat.c (main): Likewise.
43713         * tests/test-version-etc.c (main): Likewise.
43714         * tests/test-wchar.c (main): Likewise.
43715         * tests/test-wctype.c (main): Likewise.
43716         * tests/test-xprintf-posix.c (main): Likewise.
43717         * tests/test-posixtm.c (main): Likewise.
43718         (STREQ): Delete unused macro.
43719         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
43720         shadowed variables.
43721         * tests/test-memchr.c (main): Likewise.
43722
43723 2009-10-21  Eric Blake  <ebb9@byu.net>
43724
43725         areadlinkat: avoid failure on older glibc
43726         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
43727         rather than mis-comparing 0 against FUNC_RESULT of char*.
43728
43729 2009-10-21  Bruno Haible  <bruno@clisp.org>
43730
43731         * modules/stpncpy (License): Relicense under LGPLv2+.
43732         Reported by David Lutterkort <lutter@redhat.com>.
43733
43734 2009-10-20  Eric Blake  <ebb9@byu.net>
43735
43736         utimensat: work around Solaris 9 bug
43737         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
43738         has trailing slash bugs.
43739         * tests/test-lutimens.h (test_lutimens): Enhance test.
43740         * tests/test-utimens.h (test_utimens): Likewise.
43741         * doc/posix-functions/utime.texi (utime): Enhance documentation.
43742         * doc/posix-functions/utimes.texi (utimes): Likewise.
43743         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43744         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
43745         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
43746         * doc/posix-functions/futimens.texi (futimens): Likewise.
43747
43748         fdutimensat: new module
43749         * modules/fdutimensat: New file.
43750         * lib/fdutimensat.c (fdutimensat): Likewise.
43751         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
43752         * MODULES.html.sh (File system functions): Mention module.
43753         * modules/fdutimensat-tests: New test.
43754         * tests/test-fdutimensat.c: Likewise.
43755
43756         doc: regenerate INSTALL
43757         * doc/INSTALL: Reflect recent autoconf update.
43758         * doc/INSTALL.ISO: Likewise.
43759         * doc/INSTALL.UTF-8: Likewise.
43760
43761 2009-10-20  Pádraig Brady  <P@draigBrady.com>
43762
43763         acl: warn if ACL support is not detected
43764         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
43765
43766 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
43767
43768         * lib/nproc.h: Add extern "C" block for C++.
43769
43770 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
43771             Bruno Haible  <bruno@clisp.org>
43772
43773         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
43774         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
43775         * doc/posix-functions/isalpha.texi: Likewise.
43776         * doc/posix-functions/isblank.texi: Likewise.
43777         * doc/posix-functions/iscntrl.texi: Likewise.
43778         * doc/posix-functions/isdigit.texi: Likewise.
43779         * doc/posix-functions/isgraph.texi: Likewise.
43780         * doc/posix-functions/islower.texi: Likewise.
43781         * doc/posix-functions/isprint.texi: Likewise.
43782         * doc/posix-functions/ispunct.texi: Likewise.
43783         * doc/posix-functions/isspace.texi: Likewise.
43784         * doc/posix-functions/isupper.texi: Likewise.
43785         * doc/posix-functions/isxdigit.texi: Likewise.
43786
43787 2009-10-18  Bruno Haible  <bruno@clisp.org>
43788
43789         Tests for module 'isblank'.
43790         * modules/isblank-tests: New file.
43791         * tests/test-isblank.c: New file.
43792
43793         New module 'isblank'.
43794         * lib/isblank.c: New file.
43795         * m4/isblank.m4: New file.
43796         * modules/isblank: New file.
43797         * doc/posix-functions/isblank.texi: Mention the new module.
43798
43799 2009-10-18  Bruno Haible  <bruno@clisp.org>
43800
43801         New module 'ctype'.
43802         * lib/ctype.in.h: New file.
43803         * m4/ctype.m4: New file.
43804         * modules/ctype: New file.
43805         * doc/posix-headers/ctype.texi: Mention the new module.
43806
43807 2009-10-18  Jim Meyering  <meyering@redhat.com>
43808
43809         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
43810         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
43811         right after its initialization, rather than farther down.
43812         Keeping these in close proximity makes it easier to ensure
43813         that each such variable is initialized.  E.g.,
43814
43815             LIB_CLOCK_GETTIME=
43816             AC_SUBST([LIB_CLOCK_GETTIME])
43817
43818         This change also increments these serial numbers.
43819         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
43820         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43821         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43822
43823 2009-10-18  Bruno Haible  <bruno@clisp.org>
43824
43825         Don't let environment variables perturb build.
43826         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
43827         (gl_PREREQ_GETHRXTIME): ... not here.
43828
43829 2009-10-18  Bruno Haible  <bruno@clisp.org>
43830
43831         Avoid symlink attack in localcharset module.
43832         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
43833         (O_NOFOLLOW): Define fallback.
43834         (get_charset_aliases): Don't open the file if it is a symbolic link.
43835         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
43836         gl_FCNTL_H.
43837         (gl_FCNTL_H): Require it.
43838         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
43839         * modules/localcharset (Files): Add m4/fcntl_h.m4.
43840         Reported by Fergal Glynn <fglynn@veracode.com>.
43841
43842 2009-10-18  Bruno Haible  <bruno@clisp.org>
43843
43844         Implement nproc for mingw.
43845         * lib/nproc.c: Include <windows.h>
43846         (num_processors): On native Windows platforms, try GetSystemInfo.
43847
43848 2009-10-18  Bruno Haible  <bruno@clisp.org>
43849
43850         Implement nproc for IRIX.
43851         * lib/nproc.c: Include <sys/sysmp.h>.
43852         (num_processors): On IRIX systems, try sysmp.
43853         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
43854
43855 2009-10-18  Bruno Haible  <bruno@clisp.org>
43856
43857         Implement nproc for HP-UX.
43858         * lib/nproc.c: Include <sys/pstat.h>
43859         (num_processors): On HP-UX systems, try pstat_getdynamic.
43860         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
43861         pstat_getdynamic.
43862
43863 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
43864             Bruno Haible  <bruno@clisp.org>
43865
43866         Implement nproc for NetBSD, OpenBSD.
43867         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
43868         (ARRAY_SIZE): New macro.
43869         (num_processors): On BSD systems, try sysctl of HW_NCPU.
43870         * m4/nproc.m4: New file.
43871         * modules/nproc (Files): Add m4/nproc.m4.
43872         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
43873         (Makefile.am): Instead, augment lib_SOURCES.
43874
43875 2009-10-18  Bruno Haible  <bruno@clisp.org>
43876
43877         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
43878         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
43879         sys/param.h.
43880
43881 2009-10-16  Eric Blake  <ebb9@byu.net>
43882
43883         utimensat: new module
43884         * modules/utimensat: New file.
43885         * lib/utimensat.c (utimensat): Likewise.
43886         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
43887         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
43888         so we can work around Linux bugs.
43889         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43890         * modules/sys_stat (Makefile.am): Substitute them.
43891         * lib/sys_stat.in.h (utimensat): Declare it.
43892         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43893         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43894         * modules/utimensat-tests: New test.
43895         * tests/test-utimensat.c: Likewise.
43896
43897         utimens: let lutimens work on non-symlinks
43898         * lib/utimens.c (lutimens): Fall back to utimens rather than
43899         failing with ENOSYS, when file is not a symlink.
43900         (utimens): Reduce redirection.
43901         * tests/test-lutimens.h (test_lutimens): Update test to cover
43902         non-symlinks.
43903         * tests/test-utimens.h (test_utimens): Update test to cover
43904         symlinks.
43905         * tests/test-utimens.c (main): Update caller.
43906
43907         utimens: cache whether utimensat syscall works
43908         * lib/utimens.c (utimensat_works_really): New cache variable.
43909         (fdutimens, lutimens): Use it to avoid failing syscall.
43910
43911         test-stat-time, test-utimens: improve portability
43912         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
43913         ext4 on alpha, and for cygwin.
43914         * tests/test-utimens-common.h: New file.
43915         (nap): Factor delays into single function.
43916         * tests/test-lutimens.h (test_lutimens): Use new header.
43917         * tests/test-futimens.h (test_futimens): Likewise.
43918         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
43919         timestamps to occur from same machine, as was done previously for
43920         test_utimens.
43921         * modules/utimens-tests (Files): Ship new file.
43922         * modules/futimens-tests (Files): Likewise.
43923         Reported in part by Jim Meyering.
43924
43925         sys_stat: sort replacement declarations
43926         * lib/sys_stat.in.h: Sort declarations.
43927         * lib/futimens.c (futimens): Fix typo.
43928
43929 2009-10-15  Jim Meyering  <meyering@redhat.com>
43930
43931         don't let environment settings perturb build
43932         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
43933         could cause a configure-time and/or build-time malfunction.
43934         Typically, a configure-time function-in-library test is performed
43935         via code like this:
43936
43937           LIB_VAR=
43938           AC_SUBST([LIB_VAR])
43939           prefix_saved_LIBS=$LIBS
43940             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
43941                        [test "$ac_cv_search_FUNC" = "none required" ||
43942                         LIB_VAR=$ac_cv_search_FUNC])
43943           LIBS=$prefix_saved_LIBS
43944
43945         However, in each of the files affected by this change, the LIB_VAR=
43946         initialization was omitted.  Thus, when set in the environment, its
43947         value would propagate into generated Makefiles when FUNC is not found
43948         in LIB_NAME.
43949         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
43950         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43951         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43952
43953 2009-10-14  Eric Blake  <ebb9@byu.net>
43954
43955         fchdir: avoid infinite recursion in mingw
43956         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
43957         recursing.
43958
43959         test-stat-time: port to mingw
43960         * tests/test-stat-time.c (force_unlink): Return a value.
43961         (test_ctime) [W32]: Fix compilation error.
43962         (nap): Don't call usleep with too large an argument.  Use
43963         force_unlink.
43964         * doc/pastposix-functions/usleep.texi (usleep): Document the
43965         portability issue.
43966
43967 2009-10-13  Jim Meyering  <meyering@redhat.com>
43968
43969         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
43970         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
43971         * modules/pipe-filter-ii: Likewise.
43972         * modules/sys_socket-tests: Likewise.
43973         * modules/tsearch-tests: Likewise.
43974         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
43975         (check): Depend on it.
43976
43977 2009-10-12  Eric Blake  <ebb9@byu.net>
43978
43979         utimens-tests: port to NFS file systems
43980         * tests/test-utimens.h (test_utimens): Refactor utimecmp
43981         comparisons to avoid spurious failures from timestamp drift
43982         between NFS machines.
43983
43984 2009-10-12  Eric Blake  <ebb9@byu.net>
43985
43986         stat-time-tests: minor cleanups
43987         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
43988         * tests/test-stat-time.c (nap): Separate assignment from call.
43989         Suggested by Paolo Bonzini and Bruno Haible.
43990
43991         sys_stat: guarantee struct timespec
43992         * lib/sys_stat.in.h (includes): Always include <time.h>
43993         * modules/sys_stat (Depends-on): Add time.
43994         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
43995         mode_t permission values.
43996         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
43997         get at subsecond timestamps.
43998
43999 2009-10-10  Eric Blake  <ebb9@byu.net>
44000
44001         futimens: new module
44002         * modules/futimens: New file.
44003         * lib/futimens.c (futimens): Likewise.
44004         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
44005         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
44006         we can work around Linux bugs.
44007         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44008         * modules/sys_stat (Makefile.am): Substitute them.
44009         * lib/sys_stat.in.h (futimens): Declare it.
44010         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44011         * doc/posix-functions/futimens.texi (futimens): Likewise.
44012         * modules/futimens-tests: New test.
44013         * tests/test-futimens.c: Likewise.
44014
44015         utimens: introduce fdutimens
44016         * lib/utimens.h (fdutimens): New prototype.
44017         * lib/utimens.c (gl_futimens): Move guts...
44018         (fdutimens): ...to new interface.
44019         * tests/test-utimens.c (do_fdutimens): Use it.
44020
44021         utimens: add UTIME_NOW and UTIME_OMIT support
44022         * lib/utimens.c (validate_timespec, update_timespec): New helper
44023         functions.
44024         (gl_futimens, lutimens): Use them.
44025         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
44026         stdbool, sys_stat.
44027         (Link): Mention resulting library dependency.
44028         * modules/utimecmp (Link): Likewise.
44029         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
44030         (Makefile.am): Pick up library dependency.
44031         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
44032         definition.
44033         * tests/test-sys_stat.c: Test the definitions.
44034         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
44035         * NEWS: Document library dependency.
44036
44037         utimecmp: support symlink timestamps
44038         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
44039         hashing when possible.  Use pathconf when available.
44040         (SYSCALL_RESOLUTION): Recognize tighter resolution.
44041         * modules/utimecmp (Depends-on): Add lstat.
44042
44043         utimens: add lutimens interface
44044         * lib/utimens.c (lutimens): New function.
44045         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
44046         * lib/utimens.h (lutimens): Declare new interface.
44047         * tests/test-utimens.c (main): Enhance test.
44048         * tests/test-lutimens.h (test_lutimens): New file.
44049         * modules/utimens-tests (Files): Distribute it.
44050         (Depends-on): Add symlink.
44051         (configure.ac): Check for usleep.
44052
44053         utimens: validate futimens usage
44054         * lib/utimens.c (gl_futimens): Require valid fd up front, using
44055         fewer syscalls on failure later on.  Avoid compiler warning on
44056         mingw.
44057         * modules/utimens (Depends-on): Add dup2.
44058
44059         utimens: add test
44060         * modules/utimens-tests: New test.
44061         * tests/test-utimens.h: New file.
44062         * tests/test-futimens.h: Likewise.
44063         * tests/test-utimens.c: Likewise.
44064
44065         doc: mention timestamp portability issues
44066         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
44067         instead.
44068         * doc/posix-functions/utime.texi (utime): Likewise.
44069         * doc/posix-functions/utimes.texi (utimes): Likewise.
44070         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
44071         instead.
44072         * doc/posix-functions/futimens.texi (futimens): Mention utimens
44073         module.
44074         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44075         Mention weakness with symlink timestamps.
44076         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
44077         to utimensat/futimens instead.
44078         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
44079
44080         test-dup2: enhance test
44081         * tests/test-dup2.c (main): Also check AT_FDCWD.
44082
44083         test-stat-time: avoid more spurious failures
44084         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
44085         xfs; and avoid race if the two timestamps cross quantization edge.
44086
44087         relocatable: prefer 'file system' over 'filesystem'
44088         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
44089         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
44090         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
44091         * doc/relocatable.texi (Enabling Relocatability): Likewise.
44092         * lib/relocatable.c (compute_curr_prefix): Likewise.
44093
44094 2009-10-10  Jim Meyering  <meyering@redhat.com>
44095
44096         stat-time-tests: check for the usleep function
44097         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
44098
44099 2009-10-10  Bruno Haible  <bruno@clisp.org>
44100
44101         * modules/xnanosleep: Put the Link section after the Include section.
44102
44103 2009-10-09  Eric Blake  <ebb9@byu.net>
44104
44105         dup2: work around FreeBSD 6.1 bug
44106         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
44107         * doc/posix-functions/dup2.texi (dup2): Document it.
44108         Reported by Nelson H. F. Beebe and Jim Meyering.
44109
44110         test-stat-time: port to buggy NFS clients
44111         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
44112         (test_ctime): Also skip test if mtime and ctime are skewed.
44113
44114         maint: prefer 'file system' over 'filesystem'
44115         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44116         * doc/posix-functions/lstat.texi (lstat): Likewise.
44117         * lib/file-has-acl.c (file_has_acl): Likewise.
44118         * lib/fwriteerror.c [TEST]: Likewise.
44119         * tests/test-areadlink.h (test_areadlink): Likewise.
44120         * tests/test-areadlinkat-with-size.c (main): Likewise.
44121         * tests/test-areadlinkat.c (main): Likewise.
44122         * tests/test-canonicalize-lgpl.c (main): Likewise.
44123         * tests/test-canonicalize.c (main): Likewise.
44124         * tests/test-fstatat.c (main): Likewise.
44125         * tests/test-linkat.c (main): Likewise.
44126         * tests/test-lstat.h (test_lstat_func): Likewise.
44127         * tests/test-mkdir.h (test_mkdir): Likewise.
44128         * tests/test-readlink.h (test_readlink): Likewise.
44129         * tests/test-remove.c (main): Likewise.
44130         * tests/test-rename.h (test_rename): Likewise.
44131         * tests/test-renameat.c (main): Likewise.
44132         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44133         * tests/test-symlink.h (test_symlink): Likewise.
44134         * tests/test-symlinkat.c (main): Likewise.
44135         * tests/test-unlink.h (test_unlink_func): Likewise.
44136         * tests/test-unlinkat.c (main): Likewise.
44137
44138         maint: make realtime library usage explicit
44139         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
44140         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
44141         * modules/settime (Link): Likewise.
44142         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
44143
44144         test-stat-time: speed up execution
44145         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
44146         warning on mingw.
44147         (nap): New helper function.
44148         (prepare_test): Use it to reduce sleep time.
44149         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
44150         execution.
44151         * modules/stat-time-tests (configure.ac): Check for usleep.
44152
44153 2009-10-09  Jim Meyering  <meyering@redhat.com>
44154
44155         selinux-h: always use getfilecon wrappers
44156         * lib/getfilecon.c: New file.
44157         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
44158         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
44159         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
44160         (fgetfilecon): Provide a stub.
44161         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
44162         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
44163         file unconditionally.
44164         When <selinux/selinux.h> is found, arrange to use wrappers.
44165         * modules/selinux-h (Files): Add getfilecon.c.
44166         (Makefile.am): Substitute include-next-related bits
44167         into the now-always-generated selinux/selinux.h file.
44168         * doc/glibc-functions/lgetfilecon.texi: New file.
44169         * doc/glibc-functions/fgetfilecon.texi: New file.
44170         * doc/glibc-functions/getfilecon.texi: New file.
44171         * doc/glibc-functions/getfilecon-desc.texi: New file.
44172         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
44173         which to pull in the new files.
44174         * MODULES.html.sh (Misc): Add selinux-h.
44175
44176 2009-10-08  Jim Meyering  <meyering@redhat.com>
44177
44178         unistd: fix comment typo
44179         * lib/unistd.in.h (euidaccess): Fix a comment typo.
44180
44181 2009-10-08  Eric Blake  <ebb9@byu.net>
44182
44183         areadlink: use SIZE_MAX consistently
44184         * modules/areadlink (Depends-on): Add stdint.
44185         * modules/areadlink-with-size (Depends-on): Likewise.
44186         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
44187         gives NULL; drop sys/types, since unistd gives size_t; and add
44188         stdint for SIZE_MAX.
44189         (SIZE_MAX): Rely on headers.
44190         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
44191         and add stdint.
44192         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
44193         (SIZE_MAX): Likewise.
44194         (INITIAL_BUF_SIZE): Turn into enum.
44195         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
44196
44197 2009-10-08  Jim Meyering  <meyering@redhat.com>
44198
44199         areadlinkat: avoid compilation failure
44200         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
44201         Fix typo in comment.
44202
44203 2009-10-07  Eric Blake  <ebb9@byu.net>
44204
44205         areadlinkat-with-size: new module
44206         * modules/areadlinkat-with-size: New module.
44207         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
44208         * lib/areadlink.h (areadlinkat): Declare it.
44209         * MODULES.html.sh (File system functions): Mention it.
44210         * modules/areadlinkat-with-size-tests: New test.
44211         * tests/test-areadlinkat-with-size.c: New file.
44212
44213         xreadlinkat: new module
44214         * modules/xreadlinkat: New module.
44215         * lib/xreadlinkat.c (xreadlinkat): New file.
44216         * lib/xreadlink.h (xreadlinkat): Declare it.
44217         * MODULES.html.sh (File system functions): Mention it.
44218
44219         areadlinkat: new module
44220         * lib/at-func.c (FUNC_FAIL): New define.
44221         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
44222         * modules/areadlinkat: New module.
44223         * lib/linkat.c (areadlinkat): Move...
44224         * lib/areadlinkat.c (areadlinkat): ...to new file.
44225         * lib/areadlink.h (areadlinkat): Declare it.
44226         * modules/linkat (Depends-on): Add areadlinkat.
44227         * MODULES.html.sh (File system functions): Mention it.
44228         * modules/areadlinkat-tests: New test.
44229         * tests/test-areadlinkat.c: New file.
44230
44231         areadlink, areadlink-with-size: add tests
44232         * modules/areadlink-tests: New test.
44233         * modules/areadlink-with-size-tests: Likewise.
44234         * tests/test-areadlink.h: New file.
44235         * tests/test-areadlink.c: Likewise.
44236         * tests/test-areadlink-with-size.c: Likewise.
44237
44238         maint: minor cleanups
44239         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
44240         _UNUSED_PARAMETER_ instead.
44241         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
44242         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
44243         * modules/linkat-tests (Files): Distribute test-link.h.
44244
44245         openat, utimens: whitespace cleanup
44246         * lib/openat.c: Prefer space throughout, rather than mix of 8
44247         spaces vs. tabs.
44248         * lib/at-func.c: Likewise.
44249         * lib/utimens.c: Likewise.
44250
44251         openat: avoid using wrong fd
44252         * lib/openat.c (openat_permissive): Reject user's fd if saving the
44253         working directory chooses same fd.
44254         * lib/at-func.c (AT_FUNC_NAME): Likewise.
44255
44256         mkdir, mkdirat: fix cygwin 1.5.x bug
44257         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
44258         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
44259         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
44260         bug.
44261         (gl_PREREQ_MKDIR): Delete unused macro.
44262         * modules/mkdir (Files): Track file rename.
44263         (configure.ac): Update macro name.
44264         * modules/openat (Depends-on): Add mkdir.
44265         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
44266
44267         mkdir, mkdirat: add tests
44268         * modules/mkdir-tests: New test.
44269         * tests/test-mkdir.h: New file.
44270         * tests/test-mkdir.c: Likewise.
44271         * tests/test-mkdirat.c: Likewise.
44272         * modules/openat-tests (Files): Add new files.
44273         (Makefile.am): Run new test.
44274
44275 2009-10-06  Eric Blake  <ebb9@byu.net>
44276
44277         doc: tweak *at function documentation
44278         * doc/posix-functions/faccessat.texi (faccessat): Mention
44279         known issue with replacement.
44280         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
44281         * doc/posix-functions/linkat.texi (linkat): Likewise.
44282         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44283         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44284         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44285         * doc/posix-functions/renameat.texi (renameat): Likewise.
44286         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44287
44288         openat: fix GNU/Hurd bug in unlinkat
44289         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
44290         broken.
44291         * doc/posix-functions/unlink.texi (unlink): Document this.
44292         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
44293
44294         fdopendir: fix GNU/Hurd bug
44295         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
44296         allowing non-directory fds.
44297         * lib/fdopendir.c (rpl_fdopendir): Work around it.
44298         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
44299         * modules/dirent (Makefile.am): Substitute it.
44300         * lib/dirent.in.h (fdopendir): Declare replacement.
44301         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
44302         * tests/test-fdopendir.c (main): Test something other than
44303         /dev/null, since on Hurd that behaves like a directory.
44304
44305         test-symlink: port to GNU/Hurd
44306         * tests/test-symlink.h (test_symlink): Relax expected errno.
44307
44308         doc: tweak more cygwin information
44309         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
44310         now compatible with glibc.
44311         * doc/posix-functions/getopt.texi (getopt): Likewise.
44312
44313         getopt-gnu: add another test
44314         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
44315         guarantee behavior relied on by m4.
44316         * tests/test-getopt.c (main): Use it.
44317         * modules/getopt-posix-tests (Depends-on): Add setenv.
44318         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
44319
44320         getopt: fix compilation on darwin
44321         * lib/getopt.in.h (includes): Leave breadcrumbs during system
44322         include.
44323         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
44324         Reported by Ludovic Courtès.
44325
44326 2009-10-06  Bruno Haible  <bruno@clisp.org>
44327
44328         * modules/size_max (Description): Discourage its use.
44329         Reported by Simon Josefsson.
44330
44331 2009-10-06  Jim Meyering  <meyering@redhat.com>
44332
44333         linkat: avoid compilation failure
44334         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
44335
44336 2009-10-05  Eric Blake  <ebb9@byu.net>
44337
44338         linkat: support Linux 2.6.17
44339         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
44340         linkat on Linux, but allow cache variable override.
44341         * lib/linkat.c (rpl_linkat): Define override.
44342         * modules/linkat (Depends-on): Add symlinkat.
44343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
44344         * modules/unistd (Makefile.am): Substitute it.
44345         * lib/unistd.in.h (linkat): Declare replacement.
44346         Reported by Pádraig Brady.
44347
44348         quotearg: port test to systems with C.UTF-8 locale
44349         * tests/test-quotearg.c (struct result_strings): Add another
44350         member, differentiating between C.ASCII and C.UTF-8 handling.
44351         (compare_strings): Add parameter.
44352         (main): Adjust all callers.
44353
44354         getopt: avoid clash with FreeBSD _getopt_internal
44355         * lib/getopt.in.h (_getopt_internal): Override the name.
44356         * lib/getopt_int.h (includes): Pick up any overrides.
44357         Reported by Reuben Thomas.
44358
44359         hash: allow C89 compilation
44360         * lib/hash.c (check_tuning): Move declaration before statement.
44361         Reported by Reuben Thomas.
44362
44363 2009-10-05  Karl Berry  <karl@gnu.org>
44364
44365         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
44366
44367 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
44368             Bruno Haible  <bruno@clisp.org>
44369
44370         * lib/uname.c (uname): Use a table-driven algorithm to compute
44371         Windows NT versions.
44372
44373 2009-10-04  Bruno Haible  <bruno@clisp.org>
44374
44375         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
44376         program_invocation_short_name.
44377         * modules/progname (configure.ac): Test for presence of
44378         program_invocation_short_name.
44379         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44380
44381 2009-10-04  Bruno Haible  <bruno@clisp.org>
44382
44383         * lib/progname.c (set_program_name): Fix comment.
44384         Reported by Jim Meyering.
44385
44386 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44387             Bruno Haible  <bruno@clisp.org>
44388
44389         * lib/uname.c: Include <string.h>.
44390         (uname): Do only one call to GetVersionEx in the common case.
44391
44392 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44393             Bruno Haible  <bruno@clisp.org>
44394
44395         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
44396         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
44397         (uname): Add support for Windows CE and various non-x86 CPU types.
44398
44399 2009-10-03  Bruno Haible  <bruno@clisp.org>
44400
44401         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
44402         invocation to tests/configure.ac.
44403         Reported by Ian Beckwith <ianb@erislabs.net>.
44404
44405 2009-10-02  Eric Blake  <ebb9@byu.net>
44406
44407         fchdir: avoid compiler warning
44408         * lib/fchdir.c (canonicalize_file_name)
44409         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
44410
44411         test-open: support mingw errno values
44412         * tests/test-open.h (test_open): Relax test.
44413         * tests/test-fopen.h (test_fopen): Likewise.
44414         * tests/test-openat-safer.c (main): Likewise.
44415
44416         open: fix opening directory on mingw
44417         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
44418
44419         test-open: on GNU/Hurd, /dev/null is a directory
44420         * tests/test-fopen.h (main): Rename...
44421         (test_fopen): ...to this.  Use a guaranteed non-directory when
44422         confirming open behavior on trailing slash.
44423         * tests/test-openat-safer.c (main): Likewise.
44424         * tests/test-open.h (main): Likewise....
44425         (test_open): ...to this.
44426         * tests/test-fopen.c (main): Adjust caller.
44427         * tests/test-fopen-safer.c (main): Likewise.
44428         * tests/test-open.c (main): Likewise.
44429         * tests/test-fcntl-safer.c (main): Likewise.
44430         Reported by Samuel Thibault.
44431
44432         rename, fchdir: don't ignore chdir failure
44433         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
44434         * lib/rename.c (rpl_rename) [W32]: Likewise.
44435         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
44436         an empty destination directory if source cannot be renamed,
44437         although there is still possibility for failure.
44438         * doc/posix-functions/rename.texi (rename): Document the race.
44439         Reported by Jim Meyering.
44440
44441         maint: cleanup whitespace in recent commits
44442         * lib/rename.c (rpl_rename): Remove tabs.
44443         * tests/test-link.h (test_link): Likewise.
44444         * lib/fchdir.c (get_name): Likewise.
44445         Reported by Jim Meyering.
44446
44447 2009-10-02  Ben Pfaff  <blp@gnu.org>
44448
44449         relocatable-prog-wrapper: Add missing dependency on
44450         double-slash-root.
44451         * modules/relocatable-prog-wrapper: Add dependency.
44452         Reported by Ian Beckwith <ianb@erislabs.net>.
44453
44454 2009-10-02  Eric Blake  <ebb9@byu.net>
44455
44456         renameat: fix Solaris bugs
44457         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
44458         needed fixing.
44459         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
44460         * modules/stdio (Makefile.am): Substitute it.
44461         * lib/stdio.in.h (renameat): Declare replacement.
44462         * lib/renameat.c (rpl_renameat): Implement fix.
44463
44464         renameat: new module
44465         * modules/renameat: New file.
44466         * lib/renameat.c (renameat): Likewise.
44467         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
44468         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44469         * modules/stdio (Makefile.am): Substitute them.
44470         * lib/stdio.in.h (renameat): Declare it.
44471         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44472         * doc/posix-functions/renameat.texi (renameat): Likewise.
44473         * modules/renameat-tests: New test.
44474         * tests/test-renameat.c: Likewise.
44475
44476         rename: fix mingw bugs
44477         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
44478         directory overwrite bugs.
44479
44480         rename: fix another cygwin 1.5 bug
44481         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
44482         checks.
44483         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
44484         unnecessary cygwin workarounds.  Also work around bug with moving
44485         full directory onto an empty one.
44486         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
44487
44488         rename-dest-slash: merge into rename module
44489         * modules/rename-dest-slash (Status): Mark obsolete.
44490         (Depends-on): Add rename.
44491         (Files): Let rename do it all.
44492         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
44493         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
44494         * m4/rename-dest-slash.m4: ...so this file can be deleted.
44495         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
44496         * lib/rename.c (rpl_rename): Update comments.
44497
44498         rename: fix cygwin 1.5.x bugs
44499         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
44500         * lib/rename.c (rpl_rename): Work around them.
44501         * modules/rename (Depends-on): Add same-inode.
44502
44503         rename: fix Solaris 10 bug
44504         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44505         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
44506         was the only bug.
44507
44508         rename: fix Solaris 9 bug
44509         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
44510         on non-directory.  Avoid calling exit.
44511         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
44512         strdup.
44513         * modules/rename-tests (Depends-on): Drop lstat.
44514         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44515         (gl_PREREQ_RENAME): Delete unused macro.
44516
44517         rename-dest-slash: fix NetBSD bug
44518         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
44519         links.
44520         * modules/rename-dest-slash (Depends-on): Add same-inode.
44521
44522         rename-tests: new test, exposes several platform bugs
44523         * modules/rename-tests: New file.
44524         * tests/test-rename.h: Likewise.
44525         * tests/test-rename.c: Likewise.
44526         * doc/posix-functions/rename.texi (rename): Improve documentation,
44527         including bugs that will eventually be fixed in gnulib.
44528
44529 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
44530
44531         * lib/uname.c: Include <stdlib.h>
44532         (uname): Assume version info is available.
44533
44534 2009-10-02  Jim Meyering  <meyering@redhat.com>
44535
44536         gnu-web-doc-update: correct --help output
44537         * build-aux/gnu-web-doc-update: Make --help output relevant.
44538
44539         gnu-web-doc-update: add standard options
44540         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
44541
44542         gnu-web-doc-update: New module.
44543         Use this script to automatically update the on-line web documentation
44544         for your GNU project at http://www.gnu.org/software/$pkg/manual/
44545         * modules/gnu-web-doc-update: New file, from coreutils.
44546         * build-aux/gnu-web-doc-update: New script.
44547
44548 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
44549
44550         link: LoadLibrary is not needed.
44551         * lib/link.c: Use GetModuleHandle.
44552
44553 2009-10-01  Eric Blake  <ebb9@byu.net>
44554
44555         getopt: bump serial number
44556         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
44557         change.
44558
44559         tests: tighten link, rmdir, and remove tests
44560         * tests/test-link.h (includes): No need to use <config.h> here.
44561         Clean up if directory hard link was created, otherwise test for
44562         trailing '.'.
44563         * tests/test-linkat.c (main): Simplify.
44564         * tests/test-remove.c (main): Enhance test for trailing '.'.
44565         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44566
44567 2009-10-01  Jim Meyering  <meyering@redhat.com>
44568
44569         maint.mk: requiring "make major" was annoying, for a "minor" release.
44570         What is intended is "stable", to contrast with alpha and beta,
44571         so require "make stable", not "make major".
44572         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
44573         (get_tool_versions): Likewise.
44574         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
44575
44576 2009-09-30  Ben Pfaff  <blp@gnu.org>
44577
44578         Fix broken build of replacement for Windows tmpfile().
44579         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
44580         flags argument added along with the 'mkostemp' module.
44581
44582 2009-09-28  Bruno Haible  <bruno@clisp.org>
44583
44584         Avoid identifier clash with POSIX function 'remove' defined as a macro.
44585         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
44586         to 'remove_elt'.
44587         (gl_list_remove): Update.
44588         * lib/gl_list.c (gl_list_remove): Update.
44589         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
44590         to 'remove_elt'.
44591         (gl_oset_remove): Update.
44592         * lib/gl_list.c (gl_oset_remove): Update.
44593         Reported by Eric Blake.
44594
44595 2009-09-28  Eric Blake  <ebb9@byu.net>
44596
44597         doc: mention yet more cygwin 1.7 status
44598         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
44599         cygwin.
44600         * doc/glibc-functions/execvpe.texi (execvpe): New file.
44601         * doc/gnulib.texi (Glibc unistd.h): Mention it.
44602
44603         argp: fix test failure
44604         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
44605         that are not upper-case.  Pass correct range to tolower.
44606
44607 2009-09-27  Jim Meyering  <meyering@redhat.com>
44608
44609         test-yesno: work around sparc-dash here-document infelicity
44610         Without this change, the literal \177 byte in a here document
44611         would make dash 0.5.5.1-3 access uninitialized memory.
44612         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
44613         Instead, use a marker, "@", and filter through tr to create the desired
44614         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
44615
44616 2009-09-27  Bruno Haible  <bruno@clisp.org>
44617
44618         Disable untested support for new flavours of ACLs on AIX.
44619         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
44620         progress.
44621         * lib/set-mode-acl.c (qset_acl): Likewise.
44622
44623 2008-12-07  Bruno Haible  <bruno@clisp.org>
44624
44625         Add support for new flavours of ACLs on AIX. (Untested.)
44626         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
44627         (file_has_acl): Add support for newer AIX.
44628         * lib/set-mode-acl.c (qset_acl): Likewise.
44629         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
44630         Rainer Tammer <tammer@tammer.net>.
44631
44632 2009-09-26  Eric Blake  <ebb9@byu.net>
44633
44634         argp: fix compilation of getopt
44635         * lib/getopt.in.h (includes): Use different guard than glibc.
44636         Reported by Sergey Poznyakoff.
44637
44638         doc: mention more cygwin 1.7 status
44639         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
44640         bug.
44641         * doc/posix-functions/execl.texi (execl): Likewise.
44642         * doc/posix-functions/execle.texi (execle): Likewise.
44643         * doc/posix-functions/execlp.texi (execlp): Likewise.
44644         * doc/posix-functions/execv.texi (execv): Likewise.
44645         * doc/posix-functions/execve.texi (execve): Likewise.
44646         * doc/posix-functions/execvp.texi (execvp): Likewise.
44647         * doc/glibc-functions/canonicalize_file_name.texi
44648         (canonicalize_file_name): Cygwin 1.7 now provides this.
44649         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
44650         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
44651         on AT_SYMLINK_NOFOLLOW.
44652
44653 2009-09-24  Eric Blake  <ebb9@byu.net>
44654
44655         test-linkat: make test more robust
44656         * tests/test-linkat.c (main): Avoid collision with EEXIST.
44657
44658         getopt: fix inclusion guards for cygwin
44659         * modules/getopt-posix (Depends-on): Add include-next.
44660         (Makefile.am): Substitute more items in replacement header.
44661         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
44662         <getopt.h>.
44663         * lib/getopt.in.h (includes): Use split inclusion guard, and
44664         prefer <getopt.h> over include <unistd.h> when one is present.
44665         (option): Also override name of 'struct option'.
44666
44667         same-inode: revert prior change; it is not yet ready
44668         * NEWS: Undo mention of this change.
44669         * lib/same-inode.h (same-inode.h): Undo tri-state change.
44670         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44671         * lib/cycle-check.c (cycle_check): Likewise.
44672         * lib/same.c (same_name): Likewise.
44673         * lib/at-func2.c (at_func2): Likewise.
44674
44675 2009-09-23  Eric Blake  <ebb9@byu.net>
44676
44677         linkat: new module
44678         * modules/linkat: New file.
44679         * lib/at-func2.c (at_func2): Likewise.
44680         * lib/linkat.c (linkat): Likewise.
44681         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
44682         * lib/openat-priv.h (at_func2): Add declaration.
44683         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44684         * modules/unistd (Makefile.am): Substitute them.
44685         * lib/unistd.in.h (linkat): Declare it.
44686         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44687         * doc/posix-functions/linkat.texi (linkat): Likewise.
44688         * doc/posix-functions/link.texi (link): Tweak wording.
44689         * tests/test-link.c (main): Move guts...
44690         * tests/test-link.h (test_link): ...into new file.
44691         * modules/linkat-tests: New test.
44692         * tests/test-linkat.c: Likewise.
44693         * modules/link-tests (Files): Ship new file.
44694         (Depends-on): Add stdbool.
44695
44696         dirname: add library-safe mdir_name
44697         * lib/dirname.h (mdir_name): New prototype.
44698         * lib/dirname.c (dir_name): Move guts...
44699         (mdir_name): ...to new function that avoids xalloc_die.
44700
44701         fchdir: another mingw fix
44702         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
44703         * lib/fchdir.c (get_name): New helper method; skips canonicalize
44704         on mingw (where it has not yet been ported), and make it optional
44705         elsewhere.
44706         (_gl_register_fd): Use it.
44707
44708         same-inode: make SAME_INODE tri-state, to port to mingw
44709         * NEWS: Mention this change.
44710         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
44711         st_ino always being 0.
44712         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44713         * lib/cycle-check.c (cycle_check): Likewise.
44714         * lib/same.c (same_name): Likewise.
44715
44716         lstat: avoid mingw compilation error
44717         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
44718         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
44719         lstat ourselves.
44720         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
44721         was adequate.
44722         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
44723         the checks for lstat.
44724         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
44725
44726         link: fix test failure on Solaris 9
44727         * lib/link.c (rpl_link): Don't assume link will catch bogus
44728         trailing slash on source.
44729
44730         test-symlinkat: enhance test
44731         * tests/test-readlink.c (main): Move guts...
44732         * tests/test-readlink.h (test_readlink): ...into new file.
44733         * tests/test-symlink.c (main): Move guts...
44734         * tests/test-symlink.h (test_symlink): ...into new file.
44735         * tests/test-symlinkat.c (main): Use new files for further
44736         coverage.
44737         (do_symlink, do_readlink): New helper functions.
44738         * modules/symlink-tests (Files): Ship new file.
44739         (Depends-on): Add stdbool.
44740         * modules/readlink-tests (Files): Ship new file.
44741         (Depends-on): Add stdbool.
44742         * modules/symlinkat-tests (Files): Use new files.
44743
44744 2009-09-23  Eric Blake  <ebb9@byu.net>
44745
44746         readlink: document portability issue with symlink length
44747         * doc/posix-functions/lstat.texi (lstat): Mention that some file
44748         systems have bogus st_size on symlinks, and mention the
44749         areadlink-with-size module.
44750         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44751         * doc/posix-functions/readlink.texi (readlink): Mention the
44752         areadlink module, and ERANGE failure.
44753         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44754         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
44755
44756         readlink: fix Solaris 9 bug with trailing slash
44757         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
44758         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
44759         * doc/posix-functions/readlink.texi (readlink): Document this.
44760         * modules/readlink-tests: New test.
44761         * tests/test-readlink.c: Likewise.
44762
44763         readlink: fix cygwin 1.5.x bug with return type
44764         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
44765         * lib/unistd.in.h (readlink): Use ssize_t.
44766         * lib/readlink.c (readlink): Likewise.
44767         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44768         * modules/unistd (Makefile.am): Substitute it.
44769         * lib/unistd.in.h (readlink): Declare replacement.
44770         * doc/posix-functions/readlink.texi (readlink): Document this.
44771
44772         symlink: use throughout gnulib
44773         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
44774         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
44775         symlink is not used.
44776         * modules/symlinkat (Depends-on): Add symlink.
44777         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44778         * modules/canonicalize-tests (Depends-on): Likewise.
44779         * modules/lstat-tests (Depends-on): Likewise.
44780         * modules/openat-tests (Depends-on): Likewise.
44781         * modules/remove-tests (Depends-on): Likewise.
44782         * modules/rmdir-tests (Depends-on): Likewise.
44783         * modules/unlink-tests (Depends-on): Likewise.
44784         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
44785         * tests/test-canonicalize.c (symlink): Likewise.
44786         * tests/test-fstatat.c (symlink): Likewise.
44787         * tests/test-lstat.c (symlink): Likewise.
44788         * tests/test-remove.c (symlink): Likewise.
44789         * tests/test-rmdir.c (symlink): Likewise.
44790         * tests/test-unlink.c (symlink): Likewise.
44791         * tests/test-unlinkat.c (symlink): Likewise.
44792
44793         symlink: new module, for Solaris 9 bug
44794         * modules/symlink: New file.
44795         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
44796         * lib/symlink.c: Likewise.
44797         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
44798         * modules/unistd (Makefile.am): Substitute them.
44799         * lib/unistd.in.h (symlink): Declare replacement.
44800         * MODULES.html.sh (File system functions): Mention it.
44801         * doc/posix-functions/symlink.texi (symlink): Likewise.
44802         * modules/symlink-tests: New test.
44803         * tests/test-symlink.c: Likewise.
44804
44805 2009-09-23  Bruno Haible  <bruno@clisp.org>
44806
44807         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
44808         when needed.
44809         Test case: gnulib-tool --import --with-tests atexit inttypes.
44810         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
44811
44812 2009-09-23  Bruno Haible  <bruno@clisp.org>
44813
44814         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
44815         subcommand, not in a subshell.
44816
44817 2009-09-22  Eric Blake  <ebb9@byu.net>
44818
44819         unistd: sort replacement declarations
44820         * lib/unistd.in.h: Sort declarations.
44821
44822         open, openat: minor optimization
44823         * lib/open.c (open): If open succeeded, len is non-zero.
44824         * lib/openat.c (rpl_openat): Likewise.
44825
44826         link-follow: ensure correct result
44827         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
44828         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
44829         distinguish between possible failures.
44830
44831 2009-09-21  Eric Blake  <ebb9@byu.net>
44832
44833         fts: avoid compiler warning
44834         * lib/fts.c (dirent_inode_sort_may_be_useful)
44835         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
44836
44837 2009-09-19  Bruno Haible  <bruno@clisp.org>
44838
44839         * lib/progreloc.c (canonicalize_file_name): New declaration.
44840
44841 2009-09-19  Eric Blake  <ebb9@byu.net>
44842
44843         link: fix quoting
44844         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
44845
44846         openat: fix openat bugs on Solaris 9
44847         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
44848         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
44849         * modules/openat (Depends-on): Add open.
44850         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
44851         * modules/fcntl-h (Makefile.am): Substitute it.
44852         * lib/fcntl.in.h (openat): Declare replacement.
44853         * doc/posix-functions/openat.texi (openat): Document this.
44854
44855         openat: move fstatat and unlinkat into correct files
44856         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
44857         compiled.
44858         * lib/openat.c (fstatat, unlinkat): Move...
44859         * lib/fstatat.c (fstatat): ...into correct files.
44860         * lib/unlinkat.c (unlinkat): Likewise.
44861
44862         openat: fix unlinkat bugs on Solaris 9
44863         * lib/unlinkat.c (unlinkat): New file.
44864         * modules/openat (Depends-on): Add unlink.
44865         (Files): Distribute it.
44866         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
44867         trailing slash behavior is broken.
44868         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44869         * modules/unistd (Makefile.am): Substitute it.
44870         * lib/unistd.in.h (unlinkat): Declare replacement.
44871         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
44872
44873         openat: fix fstatat bugs on Solaris 9
44874         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
44875         stat.
44876         * doc/posix-functions/fstatat.texi (fstatat): Document this.
44877
44878         test-unlinkat: enhance test, to expose Solaris 9 bug
44879         * tests/test-unlink.c (main): Factor guts...
44880         * tests/test-unlink.h (test_rmdir_func): ...into new file.
44881         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
44882         * tests/test-rmdir.c (main): Adjust caller.
44883         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
44884         (unlinker): New helper function.
44885         (rmdirat): Enhance check.
44886         * modules/rmdir-tests (Depends-on): Add stdbool.
44887         * modules/unlink-tests (Depends-on): Likewise.
44888         (Files): Add test-unlink.h.
44889         * modules/openat-tests (Files): Likewise.
44890         (Depends-on): Add unlinkdir.
44891
44892         test-fstatat: new test, to expose Solaris 9 bugs
44893         * tests/test-stat.c (main): Factor guts...
44894         * tests/test-stat.h (test_stat_func): ...into new file.
44895         * tests/test-lstat.c (main): Factor guts...
44896         * tests/test-lstat.h (test_lstat_func): ...into new file.
44897         * tests/test-fstatat.c: New file.
44898         * modules/stat-tests (Files): Add test-stat.h.
44899         * modules/lstat-tests (Files): Add test-lstat.h.
44900         (Depends-on): Add stdbool.
44901         * modules/openat-tests (Depends-on): Add pathmax.
44902         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
44903         (Makefile.am): Run new test.
44904
44905         remove: new module, for mingw and Solaris 9 bugs
44906         * modules/remove: New file.
44907         * lib/remove.c: Likewise.
44908         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
44909         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44910         * modules/stdio (Makefile.am): Use them.
44911         * lib/stdio.in.h (remove): Declare replacement.
44912         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44913         * doc/posix-functions/remove.texi (remove): Likewise.
44914         * modules/remove-tests: New test.
44915         * tests/test-remove.c: Likewise.
44916
44917         unlink: new module, for Solaris 9 bug
44918         * modules/unlink: New file.
44919         * lib/unlink.c: Likewise.
44920         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
44921         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44922         * modules/unistd (Makefile.am): Use them.
44923         * lib/unistd.in.h (stat): Declare replacement.
44924         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44925         * doc/posix-functions/unlink.texi (unlink): Likewise.
44926         * modules/unlink-tests: New test.
44927         * tests/test-unlink.c: Likewise.
44928
44929         lstat: fix Solaris 9 bug
44930         * lib/lstat.c (lstat): Also check for trailing slash on
44931         non-symlink, non-directories.  Use stat module to simplify logic.
44932         * doc/posix-functions/lstat.texi (lstat): Document it.
44933         * modules/lstat-tests (Depends-on): Add errno, same-inode.
44934         (configure.ac): Check for symlink.
44935         * tests/test-lstat.c (main): Add more tests.
44936
44937         stat: add as dependency to other modules
44938         * modules/chown (Depends-on): Add stat.
44939         * modules/euidaccess (Depends-on): Likewise.
44940         * modules/fchdir (Depends-on): Likewise.
44941         * modules/isdir (Depends-on): Likewise.
44942         * modules/link (Depends-on): Likewise.
44943         * modules/lstat (Depends-on): Likewise.
44944         * modules/mkdir-p (Depends-on): Likewise.
44945         * modules/modechange (Depends-on): Likewise.
44946         * modules/open (Depends-on): Likewise.
44947         * modules/readlink (Depends-on): Likewise.
44948         * modules/same (Depends-on): Likewise.
44949
44950         stat: fix Solaris 9 bug
44951         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
44952         slash.
44953         * lib/stat.c (rpl_stat): Work around it.
44954         * doc/posix-functions/stat.texi (stat): Update documentation.
44955
44956         stat: new module, for mingw bug
44957         * modules/stat: New file.
44958         * lib/stat.c: Likewise.
44959         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
44960         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44961         * modules/sys_stat (Makefile.am): Use them.
44962         * lib/sys_stat.in.h (stat): Declare replacement.
44963         * lib/openat.c (fstatat): Deal with lstat and stat being function
44964         macros.
44965         * modules/openat (Depends-on): Add inline.
44966         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44967         * doc/posix-functions/stat.texi (stat): Likewise.
44968         * modules/stat-tests: New test.
44969         * tests/test-stat.c: Likewise.
44970
44971 2009-09-19  Jim Meyering  <meyering@redhat.com>
44972
44973         syntax-check: detect unnecessary inclusion of canonicalize.h
44974         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
44975
44976 2009-09-19  Eric Blake  <ebb9@byu.net>
44977
44978         canonicalize-lgpl: adjust clients to use correct header
44979         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44980         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
44981         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
44982         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
44983         * lib/progreloc.c (includes): Likewise.
44984
44985 2009-09-19  Jim Meyering  <meyering@redhat.com>
44986
44987         test-posixtm.c: correct a comment
44988         * tests/test-posixtm.c: Correct first-line comment.
44989         Spotted by Eric Blake.
44990
44991 2009-09-16  Jim Meyering  <meyering@redhat.com>
44992
44993         posixtm-tests: make T const-correct; add a test case
44994         * tests/test-posixtm.c (T): Declare const.
44995         Add a test for -(2^31+1).
44996         Remove useless can-succeed-only-in-2002 test.
44997
44998         posixtm-tests: adjust the sole failing test
44999         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
45000         expected output matches what mktime now produces.  Cross-checked via
45001         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
45002
45003         posixtm: move #ifdef'd tests into a new module
45004         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
45005         * tests/test-posixtm.c: ... this new file.
45006         * modules/posixtm-tests: New module.
45007
45008 2009-09-19  Eric Blake  <ebb9@byu.net>
45009
45010         openat: simplify use of at-func.c
45011         * lib/at-func.c (includes): Include prerequisites here, to
45012         simplify requirements on client files.
45013         * lib/openat-priv.h: Add double-inclusion guard.
45014         * lib/faccessat.c (includes): Simplify.
45015         * lib/fchmodat.c (includes): Likewise.
45016         * lib/fchownat.c (includes): Likewise.
45017         * lib/mkdirat.c (includes): Likewise.
45018         * lib/mkfifoat.c (includes): Likewise.
45019         * lib/symlinkat.c (includes): Likewise.
45020
45021         openat: allow return of fd 0
45022         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
45023         * modules/save-cwd (Depends-on): Replace fcntl-safer with
45024         unistd-safer.
45025         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
45026         <fcntl.h>; this module does not leak fds.
45027         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
45028         must be allowed to return 0, leaving openat_safer to add the
45029         safety.
45030         (openat_permissive): Avoid writing to just-opened fd 2 if
45031         restoring the current directory fails.
45032         * lib/openat-die.c (openat_restore_fail): Add comment.
45033         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
45034         (save_cwd): Guarantee safe fd, but without use of open_safer.
45035         * tests/test-openat.c: New test.
45036         * modules/openat-tests (Files, Makefile.am): Distribute and build
45037         new file.
45038
45039         relocatable-prog-wrapper: fix build
45040         * modules/relocatable-prog-wrapper (Files): Update name of
45041         canonicalize m4 file, broken on 2009-09-17.
45042         Reported by emad hajjar <aleppos@hotmail.com>.
45043
45044 2009-09-19  Bruno Haible  <bruno@clisp.org>
45045
45046         * lib/safe-alloc.h: Use the standard header with GPL copyright.
45047         * lib/safe-alloc.c: Likewise.
45048         Reported by Ian Beckwith <ianb@erislabs.net>.
45049
45050 2009-09-18  Bruno Haible  <bruno@clisp.org>
45051
45052         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
45053         Reported by <erobles@sensacd.com.mx>.
45054
45055 2009-09-17  Eric Blake  <ebb9@byu.net>
45056
45057         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
45058         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
45059         slashes when checking if last component is missing.
45060         * tests/test-canonicalize.c (main): Test this.
45061
45062         canonicalize, canonicalize-lgpl: honor // if distinct from /
45063         * modules/canonicalize (Files): Add double-slash-root.m4.
45064         * modules/canonicalize-lgpl (Files): Likewise.
45065         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45066         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
45067         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
45068         fallback definition.
45069         (canonicalize_filename_mode): Use it to protect //.
45070         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
45071         (__realpath): Likewise.
45072         * tests/test-canonicalize.c (main): Test this.
45073         * tests/test-canonicalize-lgpl.c (main): Likewise.
45074         * modules/canonicalize-tests (Depends-on): Add same-inode.
45075         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45076
45077         canonicalize-lgpl: fix glibc bug with trailing slash
45078         * m4/canonicalize-lgpl.m4: Move contents...
45079         * m4/canonicalize.m4: ...here.
45080         (gl_CANONICALIZE_LGPL): Factor realpath check...
45081         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
45082         glibc 2.3.5 bug, fixed 2005-04-27.
45083         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
45084         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
45085         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
45086         * modules/canonicalize-lgpl (Files): Manage file rename.
45087         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45088         * modules/stdlib (Makefile.am): Substitute witness.
45089         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
45090         is needed.
45091         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
45092         replacement is required.
45093         * lib/canonicalize.c (canonicalize_file_name): Likewise.
45094         * doc/glibc-functions/canonicalize_file_name.texi
45095         (canonicalize_file_name): Document this.
45096         * doc/posix-functions/realpath.texi (realpath): Likewise.
45097
45098         canonicalize-lgpl: reject non-directory with trailing slash
45099         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
45100         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
45101         catches failures in glibc 2.3.5.
45102         * tests/test-canonicalize.c (main): Likewise.
45103
45104         canonicalize-lgpl: use native realpath if it works
45105         * lib/canonicalize-lgpl.c (realpath): Guard with
45106         FUNC_REALPATH_WORKS.
45107         * lib/stdlib.in.h (realpath): Make declaration optional based on
45108         HAVE_REALPATH.
45109         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
45110         native realpath works.
45111         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45112         * modules/stdlib (Makefile.am): Substitute witness.
45113
45114         canonicalize, canonicalize-lgpl: use <stdlib.h>
45115         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
45116         (Include): Mention <stdlib.h>.
45117         (configure.ac): Mention functions we provide.
45118         * modules/canonicalize (configure.ac): Likewise.
45119         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
45120         realpath if canonicalize_file_name is missing.
45121         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
45122         * modules/stdlib (Makefile.am): Substitute witnesses.
45123         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
45124         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
45125         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
45126         * NEWS: Document this.
45127         * doc/glibc-functions/canonicalize_file_name.texi
45128         (canonicalize_file_name): Likewise.
45129         * doc/posix-functions/realpath.texi (realpath): Likewise.
45130         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
45131
45132         test-canonicalize: consolidate into single C program
45133         * tests/test-canonicalize.sh: Delete; move setup into...
45134         * tests/test-canonicalize.c (main): ...the program, making it
45135         easier to run in debugger.  Add some tests.
45136         * modules/canonicalize-tests (Files): Remove unused file.
45137         (Depends-on): Add progname.
45138         (configure.ac, Makefile.am): Simplify.
45139
45140         test-canonicalize-lgpl: consolidate into single C program
45141         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
45142         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
45143         easier to run in debugger.  Add some tests.
45144         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
45145         (configure.ac, Makefile.am): Simplify.
45146
45147         canonicalize: avoid resolvepath
45148         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
45149         unnecessary checks.
45150         * lib/canonicalize.c (includes): Simplify.
45151         (canonicalize_file_name): Drop resolvepath implementation.
45152         * modules/canonicalize (Depends-on): Drop filenamecat.
45153
45154         canonicalize: don't lose errno
45155         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
45156         over calls to free.
45157
45158         canonicalize: simplify errno handling
45159         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
45160         assignment.
45161
45162         canonicalize, canonicalize-lgpl: update module dependencies
45163         * modules/canonicalize (Depends-on): Add extensions, lstat,
45164         pathmax, stdlib.
45165         (Files): Drop pathmax.h.
45166         (configure.ac): Adjust macro name.
45167         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
45168         lstat, stdlib, sys_stat.
45169         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
45170         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
45171         extensions.
45172         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
45173         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
45174         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
45175         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
45176         declaration, if available.
45177         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
45178         we can rely on the readlink module.
45179         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
45180         (includes): Use <unistd.h> unconditionally.
45181
45182 2009-09-17  Eric Blake  <ebb9@byu.net>
45183
45184         maint: make Include sections of modules consistent
45185         * modules/alloca: Use only header name; no need to list #include.
45186         * modules/alloca-opt: Likewise.
45187         * modules/arpa_inet: Likewise.
45188         * modules/canon-host: Likewise.
45189         * modules/configmake: Likewise.
45190         * modules/dirent: Likewise.
45191         * modules/eealloc: Likewise.
45192         * modules/environ: Likewise.
45193         * modules/fchdir: Likewise.
45194         * modules/fcntl: Likewise.
45195         * modules/fcntl-h: Likewise.
45196         * modules/gethrxtime: Likewise.
45197         * modules/gettime: Likewise.
45198         * modules/ignore-value: Likewise.
45199         * modules/inet_ntop: Likewise.
45200         * modules/inet_pton: Likewise.
45201         * modules/inttypes: Likewise.
45202         * modules/isnand-nolibm: Likewise.
45203         * modules/isnanf-nolibm: Likewise.
45204         * modules/mbchar: Likewise.
45205         * modules/mbfile: Likewise.
45206         * modules/mbiter: Likewise.
45207         * modules/mbuiter: Likewise.
45208         * modules/netdb: Likewise.
45209         * modules/netinet_in: Likewise.
45210         * modules/nproc: Likewise.
45211         * modules/pagealign_alloc: Likewise.
45212         * modules/poll: Likewise.
45213         * modules/printf-frexp: Likewise.
45214         * modules/pthread: Likewise.
45215         * modules/putenv: Likewise.
45216         * modules/random_r: Likewise.
45217         * modules/relocatable-prog: Likewise.
45218         * modules/search: Likewise.
45219         * modules/select: Likewise.
45220         * modules/selinux-h: Likewise.
45221         * modules/settime: Likewise.
45222         * modules/signal: Likewise.
45223         * modules/size_max: Likewise.
45224         * modules/socklen: Likewise.
45225         * modules/ssize_t: Likewise.
45226         * modules/stdarg: Likewise.
45227         * modules/stdbool: Likewise.
45228         * modules/stddef: Likewise.
45229         * modules/stdint: Likewise.
45230         * modules/stdio: Likewise.
45231         * modules/stdlib: Likewise.
45232         * modules/string: Likewise.
45233         * modules/strings: Likewise.
45234         * modules/sys_file: Likewise.
45235         * modules/sys_ioctl: Likewise.
45236         * modules/sys_select: Likewise.
45237         * modules/sys_socket: Likewise.
45238         * modules/sys_stat: Likewise.
45239         * modules/sys_time: Likewise.
45240         * modules/sys_times: Likewise.
45241         * modules/sys_utsname: Likewise.
45242         * modules/sys_wait: Likewise.
45243         * modules/sysexits: Likewise.
45244         * modules/time: Likewise.
45245         * modules/times: Likewise.
45246         * modules/tmpfile: Likewise.
45247         * modules/trim: Likewise.
45248         * modules/unistd: Likewise.
45249         * modules/wchar: Likewise.
45250         * modules/wctype: Likewise.
45251
45252 2009-09-17  Bruno Haible  <bruno@clisp.org>
45253
45254         Make getdate.y compile on QNX and NetBSD 5 / i386.
45255         * m4/getdate.m4 (gl_GETDATE): Conditionally define
45256         TIME_T_FITS_IN_LONG_INT.
45257         * lib/getdate.y (long_time_t): New type.
45258         (relative_time): Change type of 'seconds' field to long_time_t.
45259         (get_date): Update types of local variables. Check against overflow
45260         during conversion from long_time_t to time_t.
45261         Reported by Matt Kraai <kraai@ftbfs.org>
45262         and Hasso Tepper <hasso@netbsd.org>.
45263
45264 2009-09-17  Bruno Haible  <bruno@clisp.org>
45265
45266         * modules/COPYING: Update copyright years.
45267         * modules/README: Likeiwse.
45268         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
45269         Reported by Ian Beckwith <ianb@erislabs.net>.
45270
45271 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45272
45273         * users.txt: Update references for gnuit package.
45274
45275 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45276
45277         * m4/getdelim.m4: Fix typo in copyright line.
45278
45279 2009-09-17  Bruno Haible  <bruno@clisp.org>
45280
45281         * lib/atoll.c: Use the standard header with GPL copyright.
45282         * lib/argz.in.h: Likewise.
45283         * lib/glob.c: Likewise.
45284         * lib/glob-libc.h: Likewise.
45285         * lib/random_r.c: Likewise.
45286         * lib/siglist.h: Likewise.
45287         * lib/strsignal.c: Likewise.
45288         Reported by Ian Beckwith <ianb@erislabs.net>.
45289
45290 2009-09-17  Eric Blake  <ebb9@byu.net>
45291
45292         rmdir: ensure correct dependency order
45293         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
45294
45295 2009-09-17  Bruno Haible  <bruno@clisp.org>
45296
45297         Disable assertion that fails on NetBSD 5 / i386.
45298         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
45299         Reported by Sam Steingold <sds@gnu.org>
45300         and Hasso Tepper <hasso@netbsd.org>.
45301
45302 2009-09-16  Eric Blake  <ebb9@byu.net>
45303
45304         unlinkdir: port to mingw
45305         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
45306         on which no one can unlink a directory.
45307
45308         stdlib: sort witness names
45309         * modules/stdlib (Makefile.am): Sort replacements.
45310         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
45311         * lib/stdlib.in.h: Likewise.
45312
45313         parse-duration-tests: avoid link failure
45314         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
45315         LIBINTL.
45316         Reported by Tom G. Christensen.
45317
45318         openat-tests: ensure unlinkat behaves like rmdir
45319         * tests/test-rmdir.c (main): Factor guts...
45320         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
45321         * modules/rmdir-tests (Files): Ship new file.
45322         * modules/openat-tests: New test.
45323         * tests/test-unlinkat.c: Likewise.
45324
45325         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
45326         * modules/rmdir-errno (Status, Notice): Now obsolete.
45327
45328         rmdir: work around cygwin 1.5.x and mingw bugs
45329         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
45330         * lib/rmdir.c (rmdir): Work around it.
45331         * modules/rmdir (Status, Notice): No longer obsolete.
45332         (Files): Add dos.m4.
45333         (Depends-on): Add unistd.
45334         (configure.ac): Set witnesses.
45335         (License): Relax to LGPLv2+.
45336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
45337         * modules/unistd (Makefile.am): Substitute witnesses.
45338         * lib/unistd.in.h (rmdir): Declare replacement.
45339         * doc/posix-functions/rmdir.texi (rmdir): Document this.
45340         * modules/rmdir-tests: New tests.
45341         * tests/test-rmdir.c: Likewise.
45342
45343 2009-09-15  Eric Blake  <ebb9@byu.net>
45344
45345         fchdir: improve use of replacement functions
45346         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
45347         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
45348         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
45349         REPLACE_CLOSEDIR.
45350         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
45351         * modules/sys_stat (Makefile.am): Substitute correct witness.
45352         * modules/dirent (Makefile.am): Likewise.
45353         * modules/unistd (Makefile.am): Likewise.
45354         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
45355         * lib/unistd.in.h (dup): Likewise.
45356         * lib/sys_stat.in.h (fstat): Likewise.
45357
45358         maint: ignore gnulib-tool temp files
45359         * .gitignore: Ignore files created during gnulib-tool --test.
45360
45361 2009-09-13  Jim Meyering  <meyering@redhat.com>
45362
45363         posixtm: don't reject a time that specify "60" as the number of seconds
45364         * lib/posixtm.c (posixtime): The code to reject invalid dates
45365         would also reject a time specified with the .60 suffix.
45366         But POSIX allows that, in order to accommodate leap seconds.
45367         So don't reject it.
45368         (main): Adjust tests accordingly.
45369         * modules/posixtm (Depends-on): Add stpcpy.
45370
45371 2009-09-11  Jim Meyering  <meyering@redhat.com>
45372
45373         announce-gen: include [$release_type] in emitted Subject:
45374         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
45375         e.g., [stable] in the emitted Subject: line.
45376
45377 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45378
45379         Remove obsolete macros from several modules.
45380         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
45381         obsolete Autoconf macros with their modern counterparts.
45382         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
45383         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
45384         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
45385         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45386         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
45387         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45388         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45389         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45390         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45391         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
45392         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45393         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45394         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
45395         * m4/sockets.m4 (gl_SOCKETS): Likewise.
45396         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
45397         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
45398         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45399         * m4/time_r.m4 (gl_TIME_R): Likewise.
45400         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45401         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
45402         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45403
45404         Fix copyright header in build-aux scripts.
45405         * build-aux/git-version-gen: Fix copyright header to match GPLv3
45406         recommendation.
45407         * build-aux/ncftpput-ftp: Likewise.
45408         * build-aux/update-copyright: Likewise.
45409
45410 2009-09-09  Eric Blake  <ebb9@byu.net>
45411
45412         test-link: allow Linux choice of errno
45413         * tests/test-link.c (main): Relax test for alternate error.
45414
45415         strndup: fix improper m4 caching
45416         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
45417         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
45418         (gl_PREREQ_STRNDUP): Delete.
45419         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
45420         * modules/string (Makefile.am): Substitute it.
45421         * lib/string.in.h (strndup): Modernize prototype.
45422
45423         getcwd: port to mingw
45424         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
45425         different from the POSIX assumptions made throughout the getcwd
45426         module; fortunately, the mingw getcwd does not need replacement.
45427         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
45428         * modules/getcwd-tests: New test.
45429         * tests/test-getcwd.c: Likewise.
45430
45431         link: fix platform bugs
45432         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
45433         * lib/link.c (link): Work around them.  Fix related mingw bug.
45434         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
45435         * modules/unistd (Makefile.am): Substitute it.
45436         * lib/unistd.in.h (link): Declare replacement.
45437         * doc/posix-functions/link.texi (link): Document this.
45438         * modules/link (Depends-on): Add strdup-posix, sys_stat.
45439
45440         test-link: consolidate into single C program, test more cases
45441         * tests/test-link.sh: Delete.
45442         * tests/test-link.c: Test more error conditions.  Exposes bugs on
45443         at least Cygwin and Solaris.
45444         * modules/link-tests (Files): Remove unused file.
45445         (Depends-on): Add errno, sys_stat.
45446         (Makefile.am): Simplify.
45447
45448 2009-09-08  Bruno Haible  <bruno@clisp.org>
45449
45450         Work around towlower, towupper bug on mingw.
45451         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
45452         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
45453         * doc/posix-functions/towlower.texi: Mention the mingw bug.
45454         * doc/posix-functions/towupper.texi: Likewise.
45455         Reported by Eric Blake.
45456
45457 2009-09-08  Jim Meyering  <meyering@redhat.com>
45458
45459         build: don't try to run autoheader if we don't use it
45460         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
45461         is not used in configure.ac.
45462
45463 2009-09-08  Eric Blake  <ebb9@byu.net>
45464
45465         euidaccess: fix compilation error
45466         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
45467
45468         rawmemchr: relax license
45469         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
45470         okay.
45471         Reported by Jim Meyering.
45472
45473         mkfifoat: new module
45474         * modules/mkfifoat: New file.
45475         * lib/mkfifoat.c: Likewise.
45476         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
45477         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45478         * modules/sys_stat (Makefile.am): Use them.
45479         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
45480         * MODULES.html.sh (File system functions): Mention module.
45481         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45482         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45483         * modules/mkfifoat-tests: New test.
45484         * tests/test-mkfifoat.c: Likewise.
45485
45486         strchrnul: relax license
45487         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
45488         okay.
45489         Reported by Jim Meyering.
45490
45491 2009-09-08  Eric Blake  <ebb9@byu.net>
45492
45493         fstatat: fix compilation on Solaris
45494         * lib/fstatat.c (includes): Add fcntl.h.
45495         Reported by Pádraig Brady.
45496
45497 2009-09-07  Eric Blake  <ebb9@byu.net>
45498
45499         rename: modernize replacement
45500         * modules/rename (Depends-on): Add stdio.
45501         (configure.ac): Declare witness.
45502         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
45503         stdio take care of replacement.
45504         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45505         * modules/stdio (Makefile.am): Substitute them.
45506         * lib/stdio.in.h (rename): Declare replacement.
45507         * lib/rename.c (includes): Allow cross-compilation to non-windows
45508         machines.
45509         * doc/posix-functions/rename.texi (rename): Improve
45510         documentation.
45511
45512         stdio: sort witness names
45513         * modules/stdio (Makefile.am): Sort replacements.
45514         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45515         * lib/stdio.in.h: Likewise.
45516
45517         getcwd: minor cleanups
45518         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
45519         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
45520
45521         openat: provide more convenience names
45522         * modules/faccessat (configure.ac): Add C witness.
45523         * lib/unistd.in.h (readlinkat): Fix typo.
45524         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
45525         convenience wrappers.
45526         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
45527         wrappers in syntax checks.
45528
45529 2009-09-06  Eric Blake  <ebb9@byu.net>
45530
45531         doc: fix comments in recent patches
45532         * lib/faccessat.c: Mention correct function.
45533         * lib/fchmodat.c: Likewise.
45534         * lib/fchownat.c: Likewise.
45535         * lib/symlinkat.c: Likewise.
45536         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
45537         constants.
45538
45539         faccessat, symlinkat: continue cleanup of previous patch
45540         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
45541         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45542         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
45543         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
45544         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
45545         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
45546         set.
45547
45548 2009-09-06  Bruno Haible  <bruno@clisp.org>
45549
45550         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
45551         (fstatat): Declare if GNULIB_FSTATAT is set.
45552         (mkdirat): Declare if GNULIB_MKDIRAT is set.
45553         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
45554         (unlinkat): Declare if GNULIB_UNLINKAT is set.
45555         * modules/fcntl-h (Files): Remove m4/openat.m4.
45556         * modules/sys_stat (Files): Remove m4/openat.m4.
45557         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
45558         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
45559         * modules/unistd (Files): Remove m4/openat.m4.
45560         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
45561         GNULIB_OPENAT.
45562         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
45563         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
45564         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
45565         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
45566         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
45567         gl_OPENAT_DEFAULTS.
45568         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
45569         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
45570         Don't require gl_OPENAT_DEFAULTS.
45571         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
45572         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
45573         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
45574         (gl_OPENAT_DEFAULTS): Remove macro.
45575
45576 2009-09-06  Bruno Haible  <bruno@clisp.org>
45577
45578         * modules/openat (configure.ac): Remove unneeded witness.
45579
45580 2009-09-06  Bruno Haible  <bruno@clisp.org>
45581
45582         Set errno to ENOSYS when a function is entirely unsupported.
45583         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
45584         EOPNOTSUPP.
45585         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45586         * modules/chown (Depends-on): Remove errno.
45587
45588 2009-09-06  Bruno Haible  <bruno@clisp.org>
45589
45590         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
45591
45592 2009-09-06  Bruno Haible  <bruno@clisp.org>
45593
45594         * lib/sys_stat.in.h: Fix preprocessor command indentation.
45595
45596 2009-09-06  Ben Pfaff  <blp@gnu.org>
45597             Bruno Haible  <bruno@clisp.org>
45598
45599         Work around a glibc bug in strtok_r.
45600         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
45601         Undefine if UNDEFINE_STRTOK_R is set.
45602         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
45603         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45604         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
45605         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
45606         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
45607         UNDEFINE_STRTOK_R.
45608         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
45609
45610 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
45611
45612         exclude: minor fix
45613         * lib/exclude.c: Include wctype.h
45614
45615 2009-09-06  Akim Demaille  <demaille@gostai.com>
45616
45617         bootstrap: improve error message
45618         * build-aux/bootstrap (find_tool): Upon failure, report the list
45619         of candidates.
45620         Honor the initial value of the envvar.
45621
45622 2009-09-05  Eric Blake  <ebb9@byu.net>
45623
45624         symlinkat: new module
45625         * modules/symlinkat: New file.
45626         * lib/symlinkat.c: Likewise.
45627         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
45628         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45629         * modules/unistd (Makefile.am): Use them.
45630         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
45631         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
45632         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
45633         * MODULES.html.sh (File system functions): Mention module.
45634         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
45635         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45636         * modules/symlinkat-tests: New test.
45637         * tests/test-symlinkat.c: Likewise.
45638
45639         test-openat-safer: add more checks
45640         * tests/test-openat-safer.c (main): Check more code paths.
45641
45642 2009-09-05  Jim Meyering  <meyering@redhat.com>
45643
45644         syntax-check: detect unnecessary inclusion of openat.h
45645         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
45646
45647 2009-09-05  Bruno Haible  <bruno@clisp.org>
45648
45649         Support towlower, towupper.
45650         * doc/posix-functions/towlower.texi: Mention module wctype.
45651         * doc/posix-functions/towupper.texi: Likewise.
45652         * lib/wctype.in.h (towlower, towupper): New functions.
45653         * tests/test-wctype.c: Include stdio.h, stdlib.h.
45654         (ASSERT): New macro.
45655         (e): New variable.
45656         (main): Test also towlower, towupper. Test WEOF argument.
45657         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45658
45659 2009-09-05  Bruno Haible  <bruno@clisp.org>
45660
45661         Fix conversion behaviour when the input is invalid.
45662         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
45663         mark occurring in first pass of indirect conversion.
45664         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
45665         input.
45666         Found by clang's static analyzer.
45667
45668 2009-09-05  Bruno Haible  <bruno@clisp.org>
45669
45670         * tests/test-striconveh.c (main): Test indirect conversion on platforms
45671         where direct conversion is possible.
45672
45673 2009-09-04  Eric Blake  <ebb9@byu.net>
45674
45675         openat: fail with ENOENT on empty name
45676         * lib/openat-proc.c (openat_proc_name): Special-case the empty
45677         buffer.
45678
45679         link-follow: fix logic bug in prior patch
45680         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
45681         reversed sense of yes and no in prior patch.  Avoid confusing
45682         compilation failure with desired semantics.
45683
45684         link-follow: accommodate mingw and cross-compilation
45685         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
45686         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
45687         cross-compilation results to -1, to make linkat easier to
45688         implement when cross-compiling.  Trivially support mingw.
45689         * modules/link-follow (configure.ac): Call new name.
45690         * NEWS: Mention this.
45691
45692 2009-09-03  Eric Blake  <ebb9@byu.net>
45693
45694         faccessat: compile replacement
45695         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
45696         needed.
45697
45698         fts: fix compilation error
45699         * lib/fts.c (includes): Re-add "openat.h", for
45700         openat_needs_fchdir.
45701
45702         faccessat: new module
45703         * modules/faccessat: New file.
45704         * lib/faccessat.c: Likewise.
45705         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45706         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45707         * modules/unistd (Makefile.am): Use it.
45708         * lib/unistd.in.h (faccessat): Declare it.
45709         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
45710         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
45711         * MODULES.html.sh (File system functions): Mention it.
45712         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
45713         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
45714
45715         euidaccess: prefer POSIX over non-standard implementation
45716         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
45717         * lib/euidaccess.c (euidaccess): Use it if available.
45718
45719         openat: make template easier to use
45720         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
45721         AT_FUNC_F2 to be undefined.
45722         (VALIDATE_FLAG): New macro; use it to reject bad flags.
45723         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
45724         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
45725         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
45726         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
45727         Likewise.
45728         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
45729         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
45730         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
45731         Likewise.
45732
45733         openat: declare in POSIX headers
45734         * NEWS: Mention this.
45735         * modules/openat (configure.ac): Declare witnesses.
45736         (Depends-on): Add fcntl-h, sys_stat, unistd.
45737         (Include): Mention correct headers.
45738         * modules/fcntl-h (Depends-on): Add link-warning.
45739         (Files): Add openat.m4.
45740         (Makefile.am): Substitute witnesses.
45741         * modules/sys_stat (Files, Makefile.am): Likewise.
45742         * modules/unistd (Files, Makefile.am): Likewise.
45743         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
45744         (gl_OPENAT_DEFAULTS): New macro.
45745         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
45746         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
45747         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
45748         (SYS_STAT_H): Remove unused variable.
45749         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
45750         * lib/fcntl--.h (includes): Remove unneeded header.
45751         * lib/openat-safer.c (includes): Likewise.
45752         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
45753         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
45754         appropriate headers.
45755         (__OPENAT_PREFIX): Delete.
45756         * lib/fcntl.in.h (openat): Provide declaration.
45757         (AT_FDCWD): Fix Solaris bug.
45758         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
45759         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
45760         * lib/fchmodat.c (includes):  Adjust to find declaration.
45761         * lib/fchownat.c (includes): Likewise.
45762         * lib/mkdirat.c (includes): Likewise.
45763         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
45764         still visible.
45765
45766 2009-09-02  Eric Blake  <ebb9@byu.net>
45767
45768         errno: use consistently
45769         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
45770         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
45771         * lib/canonicalize.c (ELOOP): Likewise.
45772         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
45773         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
45774         * lib/lchown.c (EOPNOTSUPP): Likewise.
45775         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
45776         * lib/savewd.c (ESTALE): Likewise.
45777         * lib/settime.c (ENOSYS): Likewise.
45778         * lib/utimens.c (ENOSYS): Likewise.
45779         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
45780         * lib/chdir-safer.c (ELOOP): Likewise.
45781         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
45782         * modules/c-stack (Depends-on): Add errno.
45783         * modules/canonicalize (Depends-on): Likewise.
45784         * modules/chdir-safer (Depends-on): Likewise.
45785         * modules/fdopendir (Depends-on): Likewise.
45786         * modules/inet_ntop (Depends-on): Likewise.
45787         * modules/inet_pton (Depends-on): Likewise.
45788         * modules/lchown (Depends-on): Likewise.
45789         * modules/openat (Depends-on): Likewise.
45790         * modules/savewd (Depends-on): Likewise.
45791         * modules/settime (Depends-on): Likewise.
45792         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
45793
45794         fts: avoid leaking fds
45795         * modules/fts (Depends-on): Add cloexec.
45796         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
45797         flag.
45798
45799         fts: make directory fds more robust
45800         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
45801         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
45802
45803         backupfile, chdir-long, fts, savedir: make safer
45804         * lib/backupfile.c (includes): Use "dirent--.h", since
45805         numbered_backup can write to stderr during readdir.
45806         * lib/savedir.c (includes): Likewise.
45807         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
45808         emulation can write to stderr on failure.
45809         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
45810         * lib/getcwd.c: Document why opendir_safer is unused.
45811         * lib/glob.c: Likewise.
45812         * lib/scandir.c: Likewise.
45813         * lib/openat-proc.c: Likewise, for open_safer.
45814         * modules/backupfile (Depends-on): Add dirent-safer.
45815         * modules/savedir (Depends-on): Likewise.
45816         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
45817         * modules/chdir-long (Depends-on): Add openat-safer.
45818
45819         openat-safer: new module
45820         * modules/openat-safer: New file.
45821         * lib/openat-safer.c: Likewise.
45822         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
45823         * lib/fcntl-safer.h (openat_safer): Declare.
45824         * lib/fcntl--.h (openat): Override.
45825         * MODULES.html.sh (File descriptor based I/O): Mention it.
45826         * lib/openat.h: Add double-inclusion guards.
45827         * lib/openat.c (includes): Only include "fcntl-safer.h", not
45828         "fcntl--.h", so we can implement openat.
45829         * modules/openat-safer-tests: New test.
45830         * tests/test-openat-safer.c: New file.
45831
45832         dirent-safer: new module
45833         * modules/dirent-safer: New file.
45834         * lib/dirent--.h: Likewise.
45835         * lib/dirent-safer.h: Likewise.
45836         * lib/opendir-safer.c: Likewise.
45837         * m4/dirent-safer.m4: Likewise.
45838         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
45839         * modules/dirent-safer-tests: New test.
45840         * tests/test-dirent-safer.c: New file.
45841         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
45842
45843         fdopendir: optimize on mingw
45844         * lib/unistd.in.h (_gl_directory_name): New prototype.
45845         * lib/fchdir.c (_gl_directory_name): Implement it.
45846         (fchdir): Use it to simplify implementation.
45847         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
45848         fchdir, when available, to avoid calling [f]chdir().
45849
45850         fdopendir: split into its own module
45851         * lib/openat.c (fdopendir): Move...
45852         * lib/fdopendir.c: ...into new file.
45853         * modules/fdopendir: New module.
45854         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
45855         * modules/openat (Depends-on): Add fdopendir.
45856         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
45857         fdopendir here.
45858         * modules/savedir (Depends-on): Only need fdopendir, not full
45859         openat.
45860         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
45861         * lib/openat.h (fdopendir): Drop prototype.
45862         * lib/dirent.in.h (fdopendir): Provide prototype.
45863         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
45864         * modules/dirent (Makefile.am): Substitute them.
45865         * MODULES.html.sh (File system functions): Mention it.
45866         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
45867         * modules/fdopendir-tests: New file.
45868         * tests/test-fdopendir.c: Likewise.
45869
45870         fchdir: use more consistent macro convention
45871         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
45872         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
45873         REPLACE_FCHDIR, rather than relying on config.h macros.
45874         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
45875         inside a single make-time REPLACE_FCHDIR block, rather than using
45876         the config.h FCHDIR_REPLACEMENT.
45877         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
45878         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
45879         Manage fstat replacement.
45880         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
45881         REPLACE_FCHDIR.
45882         * modules/sys_stat (Files): Add m4/unistd_h.m4.
45883         (Makefile.am): Substitute REPLACE_FCHDIR.
45884         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
45885         FCHDIR_REPLACEMENT.
45886         * lib/dup-safer.c (dup_safer): Likewise.
45887         * lib/dup2.c (rpl_dup2): Likewise.
45888         * lib/dup3.c (rpl_dup3): Likewise.
45889         * lib/open.c (rpl_open): Likewise.
45890
45891         fchdir: simplify error handling, and support dup3
45892         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
45893         stdbool, malloc-posix, realloc-posix.
45894         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
45895         (ensure_dirs_slot): Return false on allocation failure.
45896         (rpl_dup2): Delete.
45897         (_gl_register_dup): New function.
45898         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
45899         (_gl_register_fd): Close fd on allocation failure.
45900         * lib/fcntl.in.h (_gl_register_fd): Update signature.
45901         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
45902         prototype.
45903         (rpl_dup2_fchdir): Delete prototype.
45904         * lib/open.c (open): Update caller.
45905         * lib/dup2.c (dup2): Track fchdir metadata.
45906         * lib/dup3.c (dup3): Likewise.
45907         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
45908         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
45909
45910 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45911
45912         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
45913         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
45914         don't pass arguments to AC_OUTPUT.
45915
45916 2009-09-02  Bruno Haible  <bruno@clisp.org>
45917
45918         * modules/mkdtemp (License): Relicense under LGPLv2+.
45919         Reported by Paolo Bonzini.
45920
45921 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45922
45923         Replace uses of obsolete autoconf macros in Jim's modules.
45924         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
45925         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
45926         can evoke a warning from autoconf when run with -Wobsolete
45927         enabled.  They were declared obsolete for good reasons (see
45928         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
45929         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
45930         should not continue using the deprecated macros.
45931         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
45932         obsolete Autoconf macros with modern counterparts.
45933         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
45934         * m4/dos.m4 (gl_AC_DOS): Likewise.
45935         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
45936         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
45937         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
45938         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
45939         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
45940         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
45941         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
45942         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
45943         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
45944         Likewise.
45945         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
45946         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
45947         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
45948         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
45949         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
45950         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
45951
45952 2009-09-01  Eric Blake  <ebb9@byu.net>
45953
45954         fchdir: fix off-by-one bug in previous patch
45955         * lib/fchdir.c (rpl_fstat): Use correct bounds.
45956         (_gl_unregister_fd): Delete useless if.
45957
45958 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
45959
45960         maint.mk: sort the list of syntax-check rules
45961         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
45962         easier to get a sense of progress when the rules are run sequentially
45963         and take a long time.
45964
45965 2009-09-01  Simon Josefsson  <simon@josefsson.org>
45966
45967         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
45968         * modules/netinet_in: Likewise.
45969         * modules/sys_file: Likewise.
45970         * modules/sys_ioctl: Likewise.
45971         * modules/sys_select: Likewise.
45972         * modules/sys_socket: Likewise.
45973         * modules/sys_stat: Likewise.
45974         * modules/sys_time: Likewise.
45975         * modules/sys_times: Likewise.
45976         * modules/sys_utsname: Likewise.
45977         * modules/sys_wait: Likewise.
45978
45979 2009-09-01  Jim Meyering  <meyering@redhat.com>
45980
45981         fts: help ensure that return values are not ignored
45982         * lib/fts_.h (__GNUC_PREREQ): Define.
45983         (__attribute_warn_unused_result__): Define.
45984         (fts_children, fts_close, fts_open, fts_read): Declare with
45985         __attribute_warn_unused_result__.
45986
45987         fts: fts_close now fails also when closing a dir file descriptor fails
45988         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
45989         and propagate to caller, along with errno.
45990
45991         announce-gen: correct formatting in --help output
45992         * build-aux/announce-gen (usage): Move the one-line description in
45993         --help output "up", to where it belongs, just after Usage:.
45994
45995 2009-08-31  Eric Blake  <ebb9@byu.net>
45996
45997         fchdir: port to mingw
45998         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
45999         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
46000         opened, then use a substitute.
46001         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
46002         replacement.
46003         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
46004         (_gl_register_fd): No need to check stat if open already filters
46005         all directories.
46006         (fchdir): Fix error condition to match POSIX.
46007         * modules/fchdir (Depends-on): Add sys_stat.
46008         * doc/posix-functions/open.texi (open): Document the limitation.
46009         * modules/fchdir-tests: New file.
46010         * tests/test-fchdir.c: Likewise.
46011
46012         canonicalize: allow cross-testing from cygwin to mingw
46013         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
46014         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
46015         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
46016         Likewise.
46017         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
46018         target does not support symlinks.
46019         * tests/test-canonicalize-lgpl.sh: Likewise.
46020
46021         chown: avoid compilation warning on mingw
46022         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
46023         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
46024         mingw.
46025         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
46026         * modules/chown (Depends-on): Add errno.
46027
46028 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
46029
46030         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
46031         command.
46032
46033 2009-08-31  Jim Meyering  <meyering@redhat.com>
46034
46035         canonicalize: remove useless initialization
46036         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
46037         initialization of local, "end".
46038
46039 2009-08-30  Bruno Haible  <bruno@clisp.org>
46040
46041         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
46042         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
46043         ENOSYS.
46044
46045 2009-08-30  Bruno Haible  <bruno@clisp.org>
46046
46047         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
46048         /usr/xpg4/bin/tr when it exists.
46049         * tests/test-pipe-filter-gi1.sh: Likewise.
46050
46051 2009-08-30  Bruno Haible  <bruno@clisp.org>
46052
46053         Work around deficient /usr/bin/id program on Solaris.
46054         * tests/test-file-has-acl.sh (ID): New variable.
46055         * tests/test-set-mode-acl.sh (ID): Likewise.
46056         * tests/test-copy-acl.sh (ID): Likewise.
46057         * tests/test-copy-file.sh (ID): Likewise.
46058
46059 2009-08-30  Bruno Haible  <bruno@clisp.org>
46060
46061         New module 'xstriconveh'.
46062         * lib/xstriconveh.h: New file.
46063         * lib/xstriconveh.c: New file.
46064         * modules/xstriconveh: New file.
46065
46066 2009-08-30  Bruno Haible  <bruno@clisp.org>
46067
46068         Make it easier to use mem_cd_iconveh.
46069         * lib/striconveh.h (iconveh_t): New type.
46070         (iconveh_open, iconveh_close): New declarations.
46071         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46072         with a single 'const iconveh_t *' argument.
46073         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
46074         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46075         with a single 'const iconveh_t *' argument.
46076         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
46077         * tests/test-striconveh.c (main): Update.
46078         * NEWS: Mention the change.
46079
46080 2009-08-30  Bruno Haible  <bruno@clisp.org>
46081
46082         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
46083         problem.
46084
46085 2009-08-30  Bruno Haible  <bruno@clisp.org>
46086
46087         Work around iconv_open problem on Solaris.
46088         * lib/iconv_open-solaris.gperf: New file.
46089         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
46090         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
46091         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
46092         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
46093         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
46094         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
46095
46096 2009-08-29  Jim Meyering  <meyering@redhat.com>
46097
46098         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
46099         * top/maint.mk (cvs-check): Remove target; it was just an alias
46100         to the better-named vc-diff-check.
46101         (maintainer-distcheck): Remove rule.  It was used only from
46102         the (alpha/beta/major) target, and all of its commands but one
46103         were coreutils-specific.
46104         (vc-dist): Remove rule.
46105         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
46106         Run vc-diff-check, not vc-dist.
46107         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
46108
46109 2009-08-27  Bruno Haible  <bruno@clisp.org>
46110
46111         * tests/test-bitrotate.c (main): Remove test that uses a shift count
46112         of 0.
46113
46114 2009-08-27  Bruno Haible  <bruno@clisp.org>
46115
46116         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
46117         compilers.
46118         * doc/func.texi: Document the SunPRO C bug.
46119
46120 2009-08-27  Bruno Haible  <bruno@clisp.org>
46121
46122         Fix link error on Solaris.
46123         * tests/test-parse-duration.c (xstrdup): Remove function.
46124
46125 2009-08-26  Pádraig Brady  <P@draigbrady.com>
46126
46127         ignore-value: handle pointer types, too
46128         * lib/ignore-value.h (__attribute__): Remove definition.
46129         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
46130         of a more concise and more-often effective "(void) i" statement.
46131         (ignore_ptr): New function to suppress warnings from functions that
46132         return pointers, and to make it explicit that one function doesn't
46133         handle all cases.
46134
46135 2009-08-25  Bruno Haible  <bruno@clisp.org>
46136
46137         dup2: work around a Linux bug.
46138         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
46139         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
46140         * doc/posix-functions/dup2.texi: Mention the Linux bug.
46141         Reported by Simon Josefsson.
46142
46143 2009-08-25  Jim Meyering  <meyering@redhat.com>
46144
46145         libguestfs uses gnulib
46146         * users.txt: Add libguestfs.
46147
46148 2009-08-24  Eric Blake  <ebb9@byu.net>
46149
46150         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
46151         * lib/pipe2.c (includes): Add binary-io.h.
46152         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
46153
46154 2009-08-24  Bruno Haible  <bruno@clisp.org>
46155
46156         Tolerate declared but missing accept4 syscall.
46157         * lib/accept4.c (accept4): Invoke original accept4 function first, if
46158         available.
46159         * lib/sys_socket.in.h (accept4): If the function is already present,
46160         override it.
46161         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
46162         * modules/accept4 (Makefile.am): Compile accept4.c always.
46163         Reported by Paolo Bonzini and Eric Blake.
46164
46165 2009-08-23  Bruno Haible  <bruno@clisp.org>
46166
46167         New module 'accept4'.
46168         * lib/sys_socket.in.h (accept4): New declaration.
46169         * lib/accept4.c: New file.
46170         * m4/accept4.m4: New file.
46171         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46172         GNULIB_ACCEPT4, HAVE_ACCEPT4.
46173         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
46174         HAVE_ACCEPT4.
46175         * modules/accept4: New file.
46176         * doc/glibc-functions/accept4.texi: Mention the new module.
46177
46178 2009-08-24  Jim Meyering  <meyering@redhat.com>
46179
46180         progname: also set global program_invocation_name, when possible
46181         Before this change, a libtool-enabled program that calls glibc's
46182         error function would report the program name as
46183         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
46184         * modules/progname (configure.ac): Check for a declaration of
46185         program_invocation_name.
46186         * lib/progname.c:  Include <errno.h>.
46187         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
46188         Set program_invocation_name.
46189
46190 2009-08-23  Bruno Haible  <bruno@clisp.org>
46191
46192         * lib/dup3.c: Include <string.h>.
46193
46194 2009-08-23  Bruno Haible  <bruno@clisp.org>
46195
46196         * lib/dup3.c (dup3): Test only once whether the system actually exists.
46197         * lib/pipe2.c (pipe2): Likewise.
46198         Suggested by Eric Blake.
46199
46200 2009-08-23  Bruno Haible  <bruno@clisp.org>
46201
46202         Tolerate declared but missing dup3 syscall.
46203         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
46204         * lib/unistd.in.h (dup3): If the function is already present,
46205         override it.
46206         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
46207         * modules/dup3 (Makefile.am): Compile dup3.c always.
46208         Reported by Paolo Bonzini.
46209
46210 2009-08-23  Bruno Haible  <bruno@clisp.org>
46211
46212         Tolerate declared but missing pipe2 syscall.
46213         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
46214         available.
46215         * lib/unistd.in.h (pipe2): If the function is already present,
46216         override it.
46217         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
46218         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
46219         Reported by Paolo Bonzini.
46220
46221 2009-08-23  Bruno Haible  <bruno@clisp.org>
46222
46223         * lib/pipe2.c (pipe2): Move #ifs inside function.
46224
46225 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46226
46227         quotearg: document limitations of quote_these_too
46228         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
46229         those limitations are created.
46230         * lib/quotearg.h (set_char_quoting): Document that digits and
46231         letters that are special after backslash are not permitted.
46232         (quotearg_char): Cross-reference set_char_quoting documentation.
46233
46234 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
46235
46236         quotearg: implement custom_quoting_style
46237         * lib/quotearg.c: (struct quoting_options): Add left_quote and
46238         right_quote fields.
46239         (set_custom_quoting): New public function.
46240         (quotearg_buffer_restyled): Add left_quote and right_quote
46241         arguments, handle them very much like locale quoting, and update
46242         all uses.
46243         (quotearg_n_custom): New public function.
46244         (quotearg_n_custom_mem): New public function.
46245         (quotearg_custom): New public function.
46246         (quotearg_custom_mem): New public function.
46247         * lib/quotearg.h: Prototype and document new public functions.
46248         (enum quoting_style): For escape_quoting_style and
46249         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
46250         ignored even though they're otherwise like c_quoting_style.
46251         Add custom_quoting_style member and document with comparison to
46252         clocale_quoting_style.
46253         * tests/test-quotearg.c (custom_quotes): New array.
46254         (custom_results): New array.
46255         (main): Extend to test custom quoting.
46256
46257 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46258
46259         quotearg: fix right quote escaping when it's in quote_these_too
46260         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
46261         quote, be sure to prepend only one backslash.
46262         * tests/test-quotearg.c (use_quote_double_quotes): New function.
46263         (main): Test it.
46264
46265 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46266
46267         quotearg-tests: test escaping of embedded locale quotes
46268         * tests/test-quotearg.c (struct result_strings): Add member for
46269         new input.
46270         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
46271         (inputs): Add new input.
46272         (results_g): Add expected results.
46273         (flag_results): Likewise.
46274         (locale_results): Likewise.
46275         (compare_strings): Check those.
46276
46277 2009-08-23  Bruno Haible  <bruno@clisp.org>
46278
46279         Tests for module 'dup3'.
46280         * modules/dup3-tests: New file.
46281         * tests/test-dup3.c: New file.
46282
46283         New module 'dup3'.
46284         * lib/unistd.in.h (dup3): New declaration.
46285         * lib/dup3.c: New file.
46286         * m4/dup3.m4: New file.
46287         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
46288         HAVE_DUP3.
46289         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
46290         * modules/dup3: New file.
46291         * doc/glibc-functions/dup3.texi: Mention the new module.
46292
46293 2009-08-23  Bruno Haible  <bruno@clisp.org>
46294
46295         Tweak the dup2 test.
46296         * tests/test-dup2.c (main): Create the test file empty. Verify that an
46297         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
46298         the test file is still empty. Fix argument order of lseek.
46299
46300 2009-08-23  Bruno Haible  <bruno@clisp.org>
46301
46302         Avoid test link errors when the modules getopt-gnu, gettext are used.
46303         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
46304         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46305
46306 2009-08-23  Bruno Haible  <bruno@clisp.org>
46307
46308         Fix getdtablesize() on mingw.
46309         * lib/getdtablesize.c (getdtablesize): Implement differently.
46310         * lib/unistd.in.h (getdtablesize): Improve comment.
46311
46312 2009-08-23  Bruno Haible  <bruno@clisp.org>
46313
46314         New module 'mkostemp'.
46315         Based on Ulrich Drepper's 2007-08-10 change in glibc.
46316         * lib/stdlib.in.h (mksotemp): New declaration.
46317         * lib/mkostemp.c: New file, from glibc with modifications.
46318         * lib/tempname.h (GT_FILE): Remove outdated comment.
46319         (gen_tempname): Add flags argument.
46320         * lib/tempname.c (__GT_BIGFILE): Remove macro.
46321         (__GT_FILE): Map to 1.
46322         (small_open, large_open): Remove macros.
46323         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
46324         * lib/mkstemp.c (mkstemp): Update.
46325         * lib/mkdtemp.c (mkdtemp): Likewise.
46326         * m4/mkostemp.m4: New file.
46327         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
46328         HAVE_MKOSTEMP.
46329         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
46330         HAVE_MKOSTEMP.
46331         * modules/mkostemp: New file, based on modules/mkstemp.
46332         * doc/glibc-functions/mkostemp.texi: Mention the new module.
46333         * NEWS: Mention the change.
46334
46335 2009-08-23  Bruno Haible  <bruno@clisp.org>
46336
46337         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
46338         Reported by Eric Blake.
46339
46340 2009-08-23  Bruno Haible  <bruno@clisp.org>
46341
46342         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
46343         Reported by Eric Blake.
46344
46345 2009-08-23  Bruno Haible  <bruno@clisp.org>
46346
46347         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
46348         * modules/pipe2 (Depends-on): Likewise.
46349
46350 2009-08-23  Eric Blake  <ebb9@byu.net>
46351
46352         fcntl-h: add O_TTY_INIT support
46353         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
46354         * tests/test-fcntl-h.c (o): Test it.
46355         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46356
46357         fcntl-h: rename from fcntl, in preparation for fcntl(2)
46358         * modules/fcntl: Move <fcntl.h> header replacement...
46359         * modules/fcntl-h: ...to new name, so as not to collide with
46360         like-named function.
46361         * tests/test-fcntl.c: Rename...
46362         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
46363         * modules/fcntl-tests: Rename...
46364         * modules/fcntl-h-tests: ...to this.  Update test file name.
46365         * modules/chdir-long (Depends-on): Update clients.
46366         * modules/chdir-safer (Depends-on): Likewise.
46367         * modules/fcntl-safer (Depends-on): Likewise.
46368         * modules/fts (Depends-on): Likewise.
46369         * modules/mkancesdirs (Depends-on): Likewise.
46370         * modules/mkdir-p (Depends-on): Likewise.
46371         * modules/open (Depends-on): Likewise.
46372         * modules/savewd (Depends-on): Likewise.
46373         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
46374         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46375
46376 2009-08-22  Bruno Haible  <bruno@clisp.org>
46377
46378         * modules/binary-io (License): Relicense under LGPL.
46379         * modules/pipe2 (License): Likewise.
46380
46381 2009-08-22  Bruno Haible  <bruno@clisp.org>
46382
46383         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
46384         return value.
46385         * lib/pipe-filter-gi.c (filter_init): Likewise.
46386         Reported by Eric Blake.
46387
46388 2009-08-22  Bruno Haible  <bruno@clisp.org>
46389
46390         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
46391         * modules/pipe (Depends-on): Add pipe2.
46392
46393 2009-08-22  Bruno Haible  <bruno@clisp.org>
46394
46395         Tests for module 'pipe2'.
46396         * modules/pipe2-tests: New file.
46397         * tests/test-pipe2.c: New file.
46398
46399         New module 'pipe2'.
46400         * lib/unistd.in.h (pipe2): New declaration.
46401         * lib/pipe2.c: New file.
46402         * m4/pipe2.m4: New file.
46403         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
46404         HAVE_PIPE2.
46405         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
46406         * modules/pipe2: New file.
46407         * doc/glibc-functions/pipe2.texi: Mention the new module.
46408
46409 2009-08-22  Bruno Haible  <bruno@clisp.org>
46410
46411         Reference some new glibc functions.
46412         * doc/glibc-functions/accept4.texi: New file.
46413         * doc/glibc-functions/dup3.texi: New file.
46414         * doc/glibc-functions/mkostemp.texi: New file.
46415         * doc/glibc-functions/pipe2.texi: New file.
46416         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
46417         (Glibc sys/socket.h): Refer to accept4.
46418         (Glibc unistd.h): Refer to dup3, pipe2.
46419         Reported by Eric Blake.
46420
46421 2009-08-22  Jim Meyering  <meyering@redhat.com>
46422             Bruno Haible  <bruno@clisp.org>
46423
46424         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
46425         This makes it so packages using automake-1.11's silent-rules option
46426         can print e.g., a single "GEN    configmake.h" line, rather than
46427         the 30+ statements that perform the job.  If you want to see the
46428         actual commands, you can still run "make V=1".
46429         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
46430         so that make output is abbreviated when those variables are defined
46431         appropriately.
46432         * modules/argz: Likewise.
46433         * modules/arpa_inet: Likewise.
46434         * modules/byteswap: Likewise.
46435         * modules/configmake: Likewise.
46436         * modules/dirent: Likewise.
46437         * modules/errno: Likewise.
46438         * modules/fcntl: Likewise.
46439         * modules/float: Likewise.
46440         * modules/fnmatch: Likewise.
46441         * modules/getopt-posix: Likewise.
46442         * modules/glob: Likewise.
46443         * modules/iconv_open: Likewise.
46444         * modules/inttypes: Likewise.
46445         * modules/localcharset: Likewise.
46446         * modules/locale: Likewise.
46447         * modules/math: Likewise.
46448         * modules/netdb: Likewise.
46449         * modules/netinet_in: Likewise.
46450         * modules/poll: Likewise.
46451         * modules/posix_spawnp-tests: Likewise.
46452         * modules/sched: Likewise.
46453         * modules/search: Likewise.
46454         * modules/selinux-h: Likewise.
46455         * modules/signal: Likewise.
46456         * modules/spawn: Likewise.
46457         * modules/stdarg: Likewise.
46458         * modules/stdbool: Likewise.
46459         * modules/stddef: Likewise.
46460         * modules/stdint: Likewise.
46461         * modules/stdio: Likewise.
46462         * modules/stdlib: Likewise.
46463         * modules/string: Likewise.
46464         * modules/strings: Likewise.
46465         * modules/sys_file: Likewise.
46466         * modules/sys_ioctl: Likewise.
46467         * modules/sys_select: Likewise.
46468         * modules/sys_socket: Likewise.
46469         * modules/sys_stat: Likewise.
46470         * modules/sys_time: Likewise.
46471         * modules/sys_times: Likewise.
46472         * modules/sys_utsname: Likewise.
46473         * modules/sys_wait: Likewise.
46474         * modules/sysexits: Likewise.
46475         * modules/time: Likewise.
46476         * modules/unistd: Likewise.
46477         * modules/wchar: Likewise.
46478         * modules/wctype: Likewise.
46479
46480 2009-08-22  Jim Meyering  <meyering@redhat.com>
46481
46482         announce-gen: detect write failure
46483         * build-aux/announce-gen: Add Coda at end.
46484         Remove equivalent-but-more-verbose block at top.
46485
46486 2009-08-19  Akim Demaille  <demaille@gostai.com>
46487
46488         bootstrap: --help to stdout.
46489         * bootstrap (usage): Don't send --help to stderr.
46490         Use a here doc instead of a long string.
46491
46492 2009-08-21  Eric Blake  <ebb9@byu.net>
46493
46494         test-popen-safer: split from test-popen
46495         * tests/test-popen.c (main): Move...
46496         * tests/test-popen.h: ...into new file.
46497         * tests/test-popen-safer2.c: New file.
46498         * modules/popen-tests (Files): Add test-popen.h.
46499         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
46500         Suggested by Bruno Haible.
46501
46502         test-fcntl-safer: split from test-open
46503         * tests/test-open.c (main): Move...
46504         * tests/test-open.h: ...into new file.
46505         * tests/test-fcntl-safer.c: New file.
46506         * modules/open-tests (Files): Add test-open.h.
46507         * modules/fcntl-safer-tests: New file.
46508         Suggested by Bruno Haible.
46509
46510         test-fopen-safer: split from test-fopen
46511         * tests/test-fopen.c (main): Move...
46512         * tests/test-fopen.h: ...into new file.
46513         * tests/test-fopen-safer.c: New file.
46514         * modules/fopen-tests (Files): Add test-fopen.h.
46515         * modules/fopen-safer-tests: New file.
46516         Suggested by Bruno Haible.
46517
46518 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46519
46520         popen-safer: test O_CLOEXEC at run-time.
46521         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
46522
46523 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46524
46525         fcntl: move more flags to the header
46526         * lib/cloexec.c: Do not define FD_CLOEXEC here.
46527         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
46528         * lib/fcntl.in.h: Do both things here.
46529
46530 2009-08-21  Jim Meyering  <meyering@redhat.com>
46531
46532         consistently remove $@-t before redirecting to it
46533         * modules/argz: Remove $@-t and $@ before redirecting to the former.
46534         * modules/alloca-opt: Likewise.
46535         * modules/byteswap: Likewise.
46536         * modules/fnmatch: Likewise.
46537         * modules/getopt-posix: Likewise.
46538         * modules/glob: Likewise.
46539         * modules/poll: Likewise.
46540         * modules/posix_spawnp-tests: Likewise.
46541         * modules/sys_socket: Likewise.
46542         * modules/sysexits: Likewise.
46543
46544 2009-08-21  Eric Blake  <ebb9@byu.net>
46545
46546         popen: simplify access to original popen
46547         * lib/popen.c (rpl_popen): No need to worry about popen being a
46548         macro.
46549         Reported by Bruno Haible.
46550
46551 2009-08-20  Eric Blake  <ebb9@byu.net>
46552
46553         build: avoid some compiler warnings
46554         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
46555         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
46556         type.
46557         (new_exclude_segment, excluded_file_pattern_p)
46558         (excluded_file_name_p): Reduce scope.
46559         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
46560         old-style declaration.
46561
46562 2009-08-20  Simon Josefsson  <simon@josefsson.org>
46563
46564         * tests/test-exclude1.sh: Handle Windows EOL.
46565         * tests/test-exclude2.sh: Likewise.
46566         * tests/test-exclude3.sh: Likewise.
46567         * tests/test-exclude4.sh: Likewise.
46568         * tests/test-exclude5.sh: Likewise.
46569         * tests/test-exclude6.sh: Likewise.
46570         * tests/test-exclude7.sh: Likewise.
46571
46572 2009-08-19  Akim Demaille  <demaille@gostai.com>
46573
46574         bootstrap: find sha1sum when named gsha1sum.
46575         * bootstrap (find_tool): New.
46576         ($SHA1SUM): New.
46577         Use it.
46578
46579 2009-08-20  Jim Meyering  <meyering@redhat.com>
46580
46581         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
46582         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
46583         expression that converts "." in a file name to "\." in the resulting
46584         regexp.  Start with a dummy statement, so that prior shell variable
46585         definitions are expanded portably.  Reported by Simon Josefsson.
46586
46587 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
46588
46589         Fix polling for writeability of a screen buffer.
46590         * lib/poll.c: Distinguish input and screen buffers for the
46591         Win32 implementation.
46592         * lib/select.c: Likewise.
46593
46594 2009-08-19  Eric Blake  <ebb9@byu.net>
46595
46596         popen-safer: prevent popen from clobbering std descriptors
46597         * modules/popen-safer: New file.
46598         * lib/popen-safer.c: Likewise.
46599         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
46600         * lib/stdio--.h (popen): Provide override.
46601         * lib/stdio-safer.h (popen_safer): Provide declaration.
46602         * tests/test-popen.c (includes): Partially test this.
46603         * modules/popen-safer-tests: New file, for more tests.
46604         * tests/test-popen-safer.c: Likewise.
46605         * MODULES.html.sh (file stream based Input/Output): Mention it.
46606
46607         tests: test some of the *-safer modules
46608         * modules/fopen-safer (Depends-on): Add fopen.
46609         * modules/fcntl-safer (Depends-on): Add fcntl.
46610         * modules/stdlib-safer (Depends-on): Add stdlib.
46611         (configure.ac): Set indicator.
46612         * modules/unistd-safer (configure.ac): Likewise.
46613         * modules/tmpfile-safer (configure.ac): Likewise.
46614         (Depends-on): Add tmpfile.
46615         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
46616         active.
46617         * tests/test-fopen.c (includes): Test safer versions when they are
46618         in use.
46619         * tests/test-open.c (includes): Likewise.
46620
46621         popen: fix cygwin 1.5 bug when stdin closed
46622         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
46623         * modules/popen: New file.
46624         * modules/popen-tests: Likewise.
46625         * tests/test-popen.c: Likewise.
46626         * m4/popen.m4: Likewise.
46627         * lib/popen.c: Likewise.
46628         * lib/stdio.in.h (popen): New declaration.
46629         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
46630         * modules/stdio (Makefile.am): Likewise.
46631         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
46632
46633 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
46634
46635         maint.mk: give full control over update-copyright exclusions
46636         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
46637         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
46638         (update-copyright): Don't force inclusion of top-level
46639         ChangeLog.  Don't force exclusion of all COPYING files, but make
46640         them the default exclusion instead.
46641
46642 2009-08-16  Bruno Haible  <bruno@clisp.org>
46643
46644         Fix test failures on Solaris 10.
46645         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
46646         tests when Solaris iconv() is used.
46647         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46648         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46649         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46650         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46651         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46652
46653 2009-08-16  Bruno Haible  <bruno@clisp.org>
46654
46655         Fix test failures on Solaris 10.
46656         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
46657         'tr' program and pass it as first argument.
46658         * tests/test-pipe-filter-gi1.sh: Likewise.
46659         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
46660         program as first argument.
46661         * tests/test-pipe-filter-gi1.c (main): Likewise.
46662
46663 2009-08-16  Eric Blake  <ebb9@byu.net>
46664
46665         fpurge: fix previous commits
46666         * modules/fpurge (Makefile.am): Make replacement conditional,
46667         partially reverting 2007-04-29 change; missed in previous
46668         attempt.
46669         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
46670         is missing.
46671
46672 2009-08-16  Bruno Haible  <bruno@clisp.org>
46673
46674         Clarify fpurge's effect on the file position.
46675         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
46676         * tests/test-fpurge.c (main): Make a second pass for checking the file
46677         position.
46678
46679 2009-08-16  Bruno Haible  <bruno@clisp.org>
46680
46681         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
46682         declaration of fpurge is missing.
46683         * tests/test-fpurge.c (main): Check that the file has not more contents
46684         than expected. Close the file before removing it.
46685
46686 2009-08-15  Eric Blake  <ebb9@byu.net>
46687
46688         fpurge: don't wrap working cygwin implementation
46689         * lib/fpurge.c (fpurge): Fix comment typo.
46690         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
46691         1.7 to avoid replacement.
46692         * tests/test-fpurge.c (main): Enhance test.
46693
46694 2009-08-15  Eric Blake  <ebb9@byu.net>
46695         and Jim Meyering  <meyering@redhat.com>
46696
46697         test-update-copyright: skip if perl is insufficient
46698         * tests/test-update-copyright.sh: Failure to run maintainer tool
46699         should not cause testsuite failure on cygwin 1.5.
46700
46701 2009-08-14  Eric Blake  <ebb9@byu.net>
46702
46703         doc: mention more functions added in cygwin 1.7.0
46704         * doc/posix-headers/limits.texi (limits.h): Update for recent
46705         cygwin additions.
46706         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
46707         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
46708         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
46709         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
46710         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
46711
46712 2009-08-14  Eric Blake  <ebb9@byu.net>
46713
46714         maint.mk: simplify update-copyright rule
46715         * top/maint.mk (update-copyright-local): Delete, and document how
46716         to do it in cfg.mk instead.
46717         (update-copyright-exclude-regexp): Delete, and document how to do
46718         it in .x-update-copyright instead.
46719         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
46720         exclude ChangeLog.
46721
46722 2009-08-14  Bruno Haible  <bruno@clisp.org>
46723
46724         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
46725
46726 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46727
46728         maint.mk: support update-copyright-env
46729         * top/maint.mk (update-copyright-env): Define place-holder.
46730         (update-copyright): Expand $(update-copyright-env) before
46731         invoking update-copyright.
46732
46733 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46734
46735         update-copyright: implement forced reformatting
46736         * build-aux/update-copyright: Implement and document
46737         UPDATE_COPYRIGHT_FORCE.
46738         * tests/test-update-copyright.sh: Test it.
46739
46740 2009-08-14  Eric Blake  <ebb9@byu.net>
46741         and Bruno Haible  <bruno@clisp.org>
46742
46743         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
46744         * tests/test-locale.c: Revert previous patch related to NULL.
46745         * tests/test-stdio.c: Likewise.
46746         * tests/test-stdlib.c: Likewise.
46747         * tests/test-string.c: Likewise.
46748         * tests/test-unistd.c: Likewise.
46749         * modules/time-tests (Depends-on): Add verify.
46750         * modules/wchar-tests (Depends-on): Likewise.
46751         * tests/test-time.c: Test for NULL compliance.
46752         * tests/test-wchar.c: Likewise.
46753         * modules/locale (Depends-on): Add stddef.
46754         * modules/stdio (Depends-on): Likewise.
46755         * modules/stdlib (Depends-on): Likewise.
46756         * modules/string (Depends-on): Likewise.
46757         * modules/time (Depends-on): Likewise.
46758         * modules/unistd (Depends-on): Likewise.
46759         * modules/wchar (Depends-on): Likewise.
46760         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
46761         * lib/stdlib.in.h (includes): Likewise.
46762         * lib/string.in.h (includes): Likewise.
46763         * lib/time.in.h (includes): Likewise.
46764         * lib/unistd.in.h (includes): Likewise.
46765         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
46766         replaced.
46767         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46768         * m4/stddef_h.m4: New file.
46769         * modules/stddef: Likewise.
46770         * lib/stddef.in.h: Likewise.
46771         * modules/stddef-tests: Likewise.
46772         * tests/test-stddef.c: Likewise.
46773         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
46774         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
46775         * doc/posix-headers/locale.texi (locale.h): Likewise.
46776         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
46777         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
46778         * doc/posix-headers/string.texi (string.h): Likewise.
46779         * doc/posix-headers/time.texi (time.h): Likewise.
46780         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
46781         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
46782
46783 2009-08-14  Eric Blake  <ebb9@byu.net>
46784
46785         doc: improve git diff of texinfo files
46786         * .gitattributes: Add rule for *.texi files, with hint on how to
46787         use it.
46788         Copied from m4, and based on a report by Bruno Haible.
46789
46790 2009-08-14  Bruno Haible  <bruno@clisp.org>
46791
46792         Disable multithread support by default on Cygwin 1.5.x for real.
46793         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
46794
46795 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46796
46797         update-copyright: much ado about intervals
46798         * build-aux/update-copyright: Implement and document
46799         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
46800         of copyright year intervals.
46801         Also, document UPDATE_COPYRIGHT_YEAR.
46802         * tests/test-update-copyright.sh: Test it.
46803
46804         update-copyright: convert 2-digit to 4-digit years
46805         * build-aux/update-copyright: Implement and document.
46806         * tests/test-update-copyright.sh: Update.
46807
46808 2009-08-14  Jim Meyering  <meyering@redhat.com>
46809
46810         test-exclude: avoid coreutils "make check" failure
46811         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
46812         just as in test-argmatch.c.
46813
46814 2009-08-13  Eric Blake  <ebb9@byu.net>
46815
46816         test-dup2: fix bad assumption
46817         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
46818         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
46819
46820         test-version-etc: fix CRLF portability issue
46821         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
46822         recognize \r.
46823         * tests/test-argp-version-etc-1.sh: Likewise.
46824
46825         getopt: update client modules
46826         * modules/argp (Depends-on): Use getopt-gnu.
46827         * modules/git-merge-changelog (Depends-on): Likewise.
46828         * modules/long-options (Depends-on): Likewise.
46829         * modules/xstrtol (Depends-on): Likewise.
46830
46831 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46832
46833         * tests/test-version-etc.sh: Don't fail on different
46834         project/version.  Don't fail on CRLF differences.  Rewrite to use
46835         multiple -e instead of multiple sed forks, suggested by Eric Blake
46836         <ebb9@byu.net>.
46837         * tests/test-argp-version-etc-1.sh: Likewise.
46838
46839 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46840
46841         * tests/test-version-etc.sh: Don't fail on different
46842         project/version.
46843
46844 2009-08-12  Bruno Haible  <bruno@clisp.org>
46845
46846         Tests for modules 'getopt-posix', 'getopt-gnu'.
46847         * modules/getopt-posix-tests: New file.
46848         * tests/test-getopt.c: New file.
46849         * tests/test-getopt.h: New file.
46850         * tests/test-getopt_long.h: New file.
46851
46852         New modules 'getopt-posix', 'getopt-gnu'.
46853         * modules/getopt-gnu: New file, renamed from modules/getopt.
46854         * modules/getopt-posix: New file.
46855         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
46856         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
46857         (gl_GETOPT): Remove macro.
46858         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
46859         Disable the test against BSD systems that declare optreset. Test
46860         against mingw bug. Test against lack of support of optional arguments
46861         on many platforms.
46862         * doc/glibc-headers/getopt.texi: Update module name and list of
46863         relevant platforms.
46864         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
46865         'getopt-gnu' and more portability problems.
46866         * NEWS: Mention the changes.
46867
46868 2009-08-12  Bruno Haible  <bruno@clisp.org>
46869
46870         Ensure that optarg etc. get declared by <unistd.h>.
46871         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
46872         AC_USE_SYSTEM_EXTENSIONS.
46873         * modules/getopt (Depends-on): Add 'extensions'.
46874
46875 2009-08-12  Bruno Haible  <bruno@clisp.org>
46876
46877         Avoid test link errors.
46878         * modules/pipe-filter-ii-tests (Makefile.am): Define
46879         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
46880         * modules/pipe-filter-gi-tests (Makefile.am): Define
46881         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
46882         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46883
46884 2009-08-12  Bruno Haible  <bruno@clisp.org>
46885
46886         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
46887         gl_GETOPT_SUBSTITUTE before.
46888         (gl_GETOPT): Use it.
46889         * m4/argp.m4 (gl_ARGP): Update.
46890         Reported by Sergey Poznyakoff.
46891
46892         * m4/getopt.m4: Reorder macros.
46893         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
46894         (gl_GETOPT_SUBSTITUTE): Remove macro.
46895
46896 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46897
46898         Minor improvement in gitlog-to-changelog
46899
46900         * build-aux/gitlog-to-changelog: New option `--format' makes
46901         output format string configurable.
46902
46903 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46904
46905         Optimize exclude: use hash tables for non-wildcard patterns.
46906
46907         * lib/exclude.c: Include hash.h and mbuiter.h
46908         (struct exclude_pattern, exclude_segment): New data types.
46909         (struct exclude): Rewrite.
46910         (fnmatch_pattern_has_wildcards): New function.
46911         (new_exclude_segment, free_exclude_segment): New functions.
46912         (excluded_file_pattern_p, excluded_file_name_p): New functions.
46913         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
46914         * lib/exclude.h (is_fnmatch_pattern): New prototype.
46915         * modules/exclude: Depend on hash and mbuiter.
46916
46917         * modules/exclude-tests: New file.
46918         * tests/test-exclude.c: New file.
46919         * tests/test-exclude1.sh: New file.
46920         * tests/test-exclude2.sh: New file.
46921         * tests/test-exclude3.sh: New file.
46922         * tests/test-exclude4.sh: New file.
46923         * tests/test-exclude5.sh: New file.
46924         * tests/test-exclude6.sh: New file.
46925         * tests/test-exclude7.sh: New file.
46926
46927 2009-08-12  Bruno Haible  <bruno@clisp.org>
46928
46929         Ensure that getopt() gets declared by <unistd.h>.
46930         * lib/unistd.in.h: Conditionally include getopt.h.
46931         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
46932         Set GNULIB_UNISTD_H_GETOPT.
46933         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46934         GNULIB_UNISTD_H_GETOPT.
46935         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
46936
46937 2009-08-12  Bruno Haible  <bruno@clisp.org>
46938
46939         Clarify logic.
46940         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
46941         gl_replace_getopt instead of GETOPT_H.
46942
46943 2009-08-12  Bruno Haible  <bruno@clisp.org>
46944
46945         * m4/getopt.m4: Add comments.
46946
46947 2009-08-12  Bruno Haible  <bruno@clisp.org>
46948
46949         Disable multithread support by default on Cygwin 1.5.x.
46950         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
46951         set gl_use_threads=no if not specified otherwise.
46952
46953 2009-08-11  Bruno Haible  <bruno@clisp.org>
46954
46955         Avoid compilation error on NetBSD 5.0.
46956         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
46957         * tests/test-stdio.c: Likewise.
46958         * tests/test-stdlib.c: Likewise.
46959         * tests/test-string.c: Likewise.
46960         * tests/test-unistd.c: Likewise.
46961         Reported by Greg Troxel <gdt@ir.bbn.com>
46962         at <https://savannah.gnu.org/support/?106973>.
46963
46964 2009-08-11  Bruno Haible  <bruno@clisp.org>
46965
46966         * modules/dup2-tests (Depends-on): Remove close.
46967
46968         Undo 2009-07-19 commit.
46969         * modules/acl-tests (Depends-on): Remove close.
46970         * modules/binary-io-tests (Depends-on): Likewise.
46971         * modules/closein-tests (Depends-on): Likewise.
46972         * modules/flock-tests (Depends-on): Likewise.
46973         * modules/fsync-tests (Depends-on): Likewise.
46974         * modules/lseek-tests (Depends-on): Likewise.
46975         * modules/pipe-tests (Depends-on): Likewise.
46976         * modules/posix_spawn-tests (Depends-on): Likewise.
46977         * modules/posix_spawnp-tests (Depends-on): Likewise.
46978         * modules/stat-time-tests (Depends-on): Likewise.
46979         * modules/yesno-tests (Depends-on): Likewise.
46980
46981 2009-08-10  Bruno Haible  <bruno@clisp.org>
46982
46983         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
46984
46985 2009-08-10  Bruno Haible  <bruno@clisp.org>
46986
46987         Fix a gcc warning.
46988         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
46989
46990 2009-08-10  Bruno Haible  <bruno@clisp.org>
46991
46992         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
46993         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
46994         not only the first time.
46995         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
46996         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
46997         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
46998         is 1, not only the the first time.
46999
47000 2009-08-10  Bruno Haible  <bruno@clisp.org>
47001
47002         Make it possible to use module 'gethostname' without module 'close'.
47003         * lib/unistd.in.h (close): Evoke a link error only if
47004         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47005         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47006         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47007         * modules/unistd (Makefile.am): Substitute
47008         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47009         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
47010         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47011         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
47012         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47013         * modules/sys_ioctl (Makefile.am): Substitute
47014         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47015         * modules/socket (configure.ac): On native Windows, set
47016         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
47017         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47018         Reported by Sam Steingold <sds@gnu.org>.
47019
47020 2009-08-10  Bruno Haible  <bruno@clisp.org>
47021
47022         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
47023         * modules/ioctl (configure.ac): Likewise.
47024
47025 2009-08-10  Bruno Haible  <bruno@clisp.org>
47026
47027         Avoid collision between gnulib wrapper and libintl wrapper.
47028         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
47029         already defined in intl/printf.c.
47030         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
47031         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
47032
47033 2009-08-09  Bruno Haible  <bruno@clisp.org>
47034
47035         Make <sys/select.h> really self-contained, also on Solaris 10.
47036         * lib/sys_select.in.h: Include <string.h>.
47037         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
47038         Solaris 10 problem.
47039         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
47040         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
47041         Reported by Jim Meyering.
47042
47043 2009-08-09  Bruno Haible  <bruno@clisp.org>
47044
47045         Avoid warnings from 'aclocal' that are due to a use of macro name
47046         AM_XGETTEXT_OPTION that is not defined in automake.
47047         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
47048         automake.
47049         * modules/error (configure.ac): Likewise.
47050         * modules/propername (configure.ac): Likewise.
47051         * modules/vasprintf (configure.ac): Likewise.
47052         * modules/verror (configure.ac): Likewise.
47053         * modules/xprintf (configure.ac): Likewise.
47054         * modules/xvasprintf (configure.ac): Likewise.
47055
47056 2009-08-08  Bruno Haible  <bruno@clisp.org>
47057
47058         Avoid compilation error in C++ mode.
47059         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
47060         Reported by Sam Steingold <sds@gnu.org>.
47061
47062 2009-08-08  Bruno Haible  <bruno@clisp.org>
47063
47064         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
47065         for the various Unix platforms.
47066         * doc/posix-headers/limits.texi: Update platforms list regarding
47067         HOST_NAME_MAX.
47068         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47069
47070 2009-08-07  Jim Meyering  <meyering@redhat.com>
47071
47072         selinux-at: fix typo in a comment
47073         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
47074         Spotted by Paolo Bonzini.
47075
47076         selinux-at: remove redundant m4 code, add documentation
47077         * modules/selinux-at (configure.ac): Remove redundant code.
47078         LIB_SELINUX is already set via the dependent module, selinux-h.
47079         (Include): Add quotes around selinux-at.h.
47080         * lib/selinux-at.h: Add documentation.
47081         Reported by Bruno Haible in
47082         http://marc.info/?l=gnulib-bug&m=124958988300749
47083
47084 2009-08-07  Bruno Haible  <bruno@clisp.org>
47085
47086         Avoid link error on MacOS X 10.3 and 10.4.
47087         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
47088         on non-ELF systems.
47089         * lib/argp-pv.c (argp_program_version): Likewise.
47090         Reported by Simon Josefsson.
47091
47092 2009-08-07  Simon Josefsson  <simon@josefsson.org>
47093
47094         * tests/test-version-etc.sh: Use $EXEEXT.
47095
47096 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
47097
47098         update-copyright: update documentation to point to maint.mk
47099         * build-aux/update-copyright: Here.
47100
47101 2009-08-06  Jim Meyering  <meyering@redhat.com>
47102
47103         maint.mk: support update-copyright-local
47104         * top/maint.mk (update-copyright-local): Define place-holder.
47105         (update-copyright): Depend on $(update-copyright-local).
47106
47107 2009-08-06  Jim Meyering  <meyering@redhat.com>
47108
47109         selinux-at: new module
47110         Initially written for coreutils, this module will soon be
47111         used by findutils, too.
47112         * MODULES.html.sh [Misc]: Add selinux-at.
47113         * lib/selinux-at.h: New file, from coreutils.
47114         * lib/selinux-at.c: Likewise.
47115         * modules/selinux-at: Likewise.
47116         (License): Change from LGPL to GPL, since it depends
47117         on the GPL'd openat module.
47118
47119         doc: update README
47120         * README: Remove references to cogito.
47121         Remove cvs-repo-updating instructions from 2007.
47122         Don't imply that CVS is better if you have limited disk space.
47123
47124 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47125
47126         update-copyright: support C-style comments
47127         * build-aux/update-copyright: Implement and document.
47128         * tests/test-update-copyright.sh: Test.
47129
47130 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47131
47132         update-copyright: support omitted "(C)"
47133         * build-aux/update-copyright: Implement and document.  Also,
47134         allow variable whitespace before "(C)".
47135         * tests/test-update-copyright.sh: Test.
47136
47137 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47138
47139         update-copyright: don't trip on non-FSF copyright statements
47140         * build-aux/update-copyright: Fix so that the first correctly
47141         formatted FSF copyright statement is recognized no matter what
47142         appears before it.  Update documentation.
47143         * tests/test-update-copyright.sh: Test that.
47144
47145 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47146
47147         update-copyright: clean up code a little
47148         * build-aux/update-copyright: Append "_re" to the name of any
47149         variable holding a regular expression.
47150         Replace "old" and "new" with "stmt" in variable names.
47151         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
47152         handled correctly.
47153         Format code more consistently.
47154
47155 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47156
47157         update-copyright-tests: improve portability
47158         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
47159         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
47160
47161 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47162
47163         update-copyright: support @copyright{} and &copy;
47164         * build-aux/update-copyright: Implement and document.
47165         * tests/test-update-copyright.sh: Test.
47166
47167 2009-08-04  Jim Meyering  <meyering@redhat.com>
47168
47169         update-copyright-tests: correctly test EOL=\r\n handling
47170         * tests/test-update-copyright.sh: Put \r at the end of some lines
47171         for the dos-eol tests.  Based on a patch by Joel E. Denny.
47172
47173         maint.mk: make update-copyright exclusion list more configurable
47174         * top/maint.mk (update-copyright): Default to excluding COPYING,
47175         but allow an override, in case someone does want to update that file.
47176
47177         maint.mk: don't update copyright date in COPYING
47178         * top/maint.mk (update-copyright): Exclude COPYING.
47179
47180         maint.mk: add a copyright-updating rule
47181         * top/maint.mk (update-copyright): New rule.
47182         Derived from coreutils/Makefile.am.
47183
47184         update-copyright: rename some variables
47185         * build-aux/update-copyright: Rename a few variables for clarity.
47186         Tweak syntax.  List Joel E. Denny as coauthor.
47187
47188 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47189
47190         update-copyright: fix bug for 2-digit last year and add tests
47191         * build-aux/update-copyright: Fix bug.
47192         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
47193         specified.
47194         * modules/update-copyright-tests: New
47195         * tests/test-update-copyright.sh: New.
47196
47197 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47198
47199         update-copyright: handle leading tabs in line prefix
47200         * build-aux/update-copyright: Count leading tabs as 8 spaces
47201         when computing margin.  This helps with the formatting of
47202         ChangeLogs, for example.
47203         Fix documentation a little.
47204
47205 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47206
47207         update-copyright: support EOL=\r\n
47208         * build-aux/update-copyright: Implement that.
47209
47210 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47211
47212         update-copyright: automatically format copyright statements
47213         * build-aux/update-copyright: Implement that.
47214         Also, be a little more predictable and safer by always failing
47215         when the full copyright format is not perfectly recognized as an
47216         unbroken whole.  Discussed at
47217         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
47218         Rewrite documentation.
47219
47220 2009-08-03  Bruno Haible  <bruno@clisp.org>
47221
47222         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
47223
47224 2009-08-02  Bruno Haible  <bruno@clisp.org>
47225
47226         Tests for module 'uname'.
47227         * modules/uname-tests: New file.
47228         * tests/test-uname.c: New file.
47229
47230         New module 'uname'.
47231         * lib/uname.c: New file.
47232         * m4/uname.m4: New file.
47233         * modules/uname: New file.
47234         * doc/posix-functions/uname.texi: Mention the new module.
47235
47236 2009-08-02  Bruno Haible  <bruno@clisp.org>
47237
47238         Tests for module 'sys_utsname'.
47239         * modules/sys_utsname-tests: New file.
47240         * tests/test-sys_utsname.c: New file.
47241
47242         New module 'sys_utsname'.
47243         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
47244         * m4/sys_utsname_h.m4: New file.
47245         * modules/sys_utsname: New file.
47246         * doc/posix-headers/sys_utsname.texi: Mention the new module.
47247
47248 2009-08-02  Bruno Haible  <bruno@clisp.org>
47249
47250         Implicitly initialize the sockets library.
47251         * lib/gethostname.c: Include sockets.h.
47252         (rpl_gethostname): Invoke gl_sockets_startup.
47253         * lib/socket.c: Include sockets.h.
47254         (rpl_socket): Invoke gl_sockets_startup.
47255         * modules/gethostname (Depends-on): Add sockets.
47256         * modules/socket (Depends-on): Likewise.
47257         * tests/test-poll.c: Don't include sockets.h.
47258         (main): Don't invoke gl_sockets_startup.
47259         * tests/test-select.c: Don't include sockets.h.
47260         (main): Don't invoke gl_sockets_startup.
47261
47262 2009-08-02  Bruno Haible  <bruno@clisp.org>
47263
47264         Allow multiple calls to gl_sockets_startup.
47265         * lib/sockets.c (initialized_sockets_version): New variable.
47266         (gl_sockets_startup): Do nothing if already called for this or a higher
47267         version.
47268         (gl_sockets_cleanup): Reset initialized_sockets_version.
47269
47270 2009-08-03  Simon Josefsson  <simon@josefsson.org>
47271
47272         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
47273         different project/version.
47274
47275 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
47276             Bruno Haible  <bruno@clisp.org>
47277
47278         Tests for module 'pipe-filter-gi'.
47279         * modules/pipe-filter-gi-tests: New file.
47280         * tests/test-pipe-filter-gi1.sh: New file.
47281         * tests/test-pipe-filter-gi1.c: New file.
47282         * tests/test-pipe-filter-gi2.sh: New file.
47283         * tests/test-pipe-filter-gi2-main.c: New file.
47284         * tests/test-pipe-filter-gi2-child.c: New file.
47285
47286         New module 'pipe-filter-gi'.
47287         * lib/pipe-filter-gi.c: New file.
47288         * modules/pipe-filter-gi: New file.
47289
47290 2009-08-02  Bruno Haible  <bruno@clisp.org>
47291             Paolo Bonzini  <bonzini@gnu.org>
47292
47293         Tests for module 'pipe-filter-ii'.
47294         * modules/pipe-filter-ii-tests: New file.
47295         * tests/test-pipe-filter-ii1.sh: New file.
47296         * tests/test-pipe-filter-ii1.c: New file.
47297         * tests/test-pipe-filter-ii2.sh: New file.
47298         * tests/test-pipe-filter-ii2-main.c: New file.
47299         * tests/test-pipe-filter-ii2-child.c: New file.
47300
47301         New module 'pipe-filter-ii'.
47302         * lib/pipe-filter.h: New file.
47303         * lib/pipe-filter-ii.c: New file.
47304         * lib/pipe-filter-aux.h: New file.
47305         * modules/pipe-filter-ii: New file.
47306
47307 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47308
47309         * lib/gc-libgcrypt.c: Change copyright to FSF.
47310         * lib/gc-gnulib.c: Likewise.
47311
47312 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
47313
47314         * lib/gethostname.c: Include limits.h.
47315
47316 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47317             Bruno Haible  <bruno@clisp.org>
47318
47319         Ensure HOST_NAME_MAX as part of the gethostname module.
47320         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
47321         define also HOST_NAME_MAX.
47322         * tests/test-gethostname.c: Include <limits.h>.
47323         (main): Check also HOST_NAME_MAX.
47324         * doc/posix-headers/limits.texi: Document the mingw problem.
47325
47326 2009-08-02  Bruno Haible  <bruno@clisp.org>
47327
47328         * lib/gethostname.c (gethostname): Fix handling of large len argument.
47329         Add comments.
47330
47331 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47332
47333         * lib/gethostname.c: Add Windows wrapper.
47334         * m4/gethostname.m4: Look for gethostname in -lws2_32.
47335         * modules/gethostname: Depend on sys_socket & errno, for also
47336         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
47337         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
47338
47339 2009-07-31  Jim Meyering  <meyering@redhat.com>
47340
47341         getloadavg: fix symbol name in comment
47342         * lib/getloadavg.c: Correct a typo I introduced when adding
47343         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
47344         Matt Kraai spotted the problem.
47345
47346 2009-07-29  Matt Kraai  <mkraai@beckman.com>
47347
47348         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
47349         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
47350         code also if ! defined N_NAME_POINTER.
47351         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
47352         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
47353         but the n_name member is a 12-byte array.
47354
47355 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
47356
47357         update-copyright: generalize comment handling
47358         * build-aux/update-copyright: Handle copyright statements
47359         within more comment styles.
47360         Document usage.
47361         Report any file with an external copyright holder or parse failure.
47362
47363 2009-07-29  Jim Meyering  <meyering@redhat.com>
47364
47365         mktime: correct setting of REPLACE_MKTIME
47366         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
47367
47368         update-copyright: new module
47369         * modules/update-copyright: New file.
47370         * build-aux/update-copyright: New file.
47371         * MODULES.html.sh (maint+release support): Add update-copyright.
47372
47373 2009-07-27  Bruno Haible  <bruno@clisp.org>
47374
47375         Fix compilation error when <ctime> is used and mktime is replaced.
47376         * lib/time.in.h (mktime): New declaration.
47377         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
47378         REPLACE_MKTIME instead of defining mktime in config.h.
47379         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
47380         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
47381         Reported by Ross McFarland <rwmcfa1@neces.com>.
47382
47383 2009-07-27  Bruno Haible  <bruno@clisp.org>
47384
47385         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
47386         Reported by Matt Kraai <mkraai@beckman.com>.
47387
47388 2009-07-25  Jim Meyering  <meyering@redhat.com>
47389
47390         maint.mk: avoid warnings about missing files
47391         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
47392         diagnostic when .prev-version does not exist.
47393         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
47394         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
47395         nonexistent cfg.mk.
47396         Suggestions from Simon Josefsson.
47397
47398 2009-07-25  Bruno Haible  <bruno@clisp.org>
47399
47400         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
47401         defined as macros. Needed on QNX 6.4.1.
47402         Reported by Matt Kraai <mkraai@beckman.com>.
47403
47404 2009-07-23  Jim Meyering  <meyering@redhat.com>
47405
47406         maint.mk: invoke "make dist" with a working value of XZ_OPT
47407         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
47408
47409 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
47410
47411         Make fseeko.c compile on QNX.
47412         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
47413
47414 2009-07-22  Peter Simons  <simons@cryp.to>
47415
47416         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
47417         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
47418         * lib/md4.h: Likewise.
47419         * lib/md5.h: Likewise.
47420         * lib/sha1.h: Likewise.
47421         * lib/sha256.h: Likewise.
47422         * lib/sha512.h: Likewise.
47423
47424         tests-sha1: don't assign literal string to 'char *' variable
47425         * tests/test-sha1.c (main): Declare locals with "const" to match
47426         attributes of the right hand side.
47427
47428 2009-07-21  Eric Blake  <ebb9@byu.net>
47429
47430         dup2: fix more mingw problems
47431         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
47432         fd to itself.
47433         * doc/posix-functions/dup2.texi (dup2): Document the bug.
47434         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
47435         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
47436         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
47437         care of mingw bugs.
47438
47439 2009-07-21  Jim Meyering  <meyering@redhat.com>
47440
47441         vc-list-files: avoid failure when /bin/sh is dash
47442         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
47443         On some Debian based systems, /bin/sh is a symlink to dash, and running
47444         this command would omit the "/" following each 'tests' prefix:
47445           dash -x build-aux/vc-list-files -C . tests
47446         That is because bash and dash work differently:
47447           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
47448           bash ok
47449           dash odd
47450
47451 2009-07-21  Eric Blake  <ebb9@byu.net>
47452
47453         dup2-tests: test previous patch
47454         * modules/dup2-tests: New file.
47455         * tests/test-dup2.c: Likewise.
47456         * tests/test-open.c (main): Avoid unspecified behavior.
47457         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
47458         test.
47459
47460         dup2: work around mingw and cygwin 1.5 bug
47461         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
47462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
47463         * modules/unistd (Makefile.am): Substitute it.
47464         * lib/unistd.in.h (dup2): Declare the replacement.
47465         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
47466         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
47467         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
47468         * modules/execute (Depends-on): Add dup2.
47469         * modules/fseterr (Depends-on): Likewise.
47470         * modules/pipe (Depends-on): Likewise.
47471         * modules/posix_spawn-internal (Depends-on): Likewise.
47472
47473 2009-07-21  Bruno Haible  <bruno@clisp.org>
47474
47475         * modules/.gitattributes: New file.
47476
47477 2009-07-20  Bruno Haible  <bruno@clisp.org>
47478
47479         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
47480         (main): Use it.
47481
47482 2009-07-20  Eric Blake  <ebb9@byu.net>
47483
47484         test-pipe: make a bit more robust.
47485         * tests/test-pipe.c (myerr): Allow error messages regardless of
47486         what we do to stderr.
47487         (test_pipe): Rearrange to avoid deadlock.
47488         (child_main): Try a larger read, to ensure we avoided deadlock.
47489         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
47490         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
47491         if misused.
47492
47493 2009-07-19  Jim Meyering  <meyering@redhat.com>
47494
47495         fts: avoid false-positive cycle-detection
47496         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
47497         for each new command line argument.
47498
47499 2009-07-19  Bruno Haible  <bruno@clisp.org>
47500
47501         Fix build error on mingw with the modules sys_select and unistd.
47502         * modules/acl-tests (Depends-on): Add close.
47503         * modules/binary-io-tests (Depends-on): Likewise.
47504         * modules/closein-tests (Depends-on): Likewise.
47505         * modules/flock-tests (Depends-on): Likewise.
47506         * modules/fsync-tests (Depends-on): Likewise.
47507         * modules/lseek-tests (Depends-on): Likewise.
47508         * modules/pipe-tests (Depends-on): Likewise.
47509         * modules/posix_spawn-tests (Depends-on): Likewise.
47510         * modules/posix_spawnp-tests (Depends-on): Likewise.
47511         * modules/stat-time-tests (Depends-on): Likewise.
47512         * modules/yesno-tests (Depends-on): Likewise.
47513
47514 2009-07-19  Bruno Haible  <bruno@clisp.org>
47515
47516         Unify conditionals.
47517         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
47518         macros, not at the compiler macros.
47519         * lib/pipe.c: Likewise.
47520         * lib/execute.c: Likewise.
47521         * lib/spawni.c: Likewise.
47522
47523 2009-07-19  Bruno Haible  <bruno@clisp.org>
47524
47525         Fix handling of closed stdin/stdout/stderr on mingw.
47526         * lib/w32spawn.h: Include unistd.h.
47527         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
47528         file descriptor with O_NOINHERIT flag.
47529         (fd_safer_noinherit): New function, based on fd-safer.c.
47530         (dup_safer_noinherit): New function, based on dup-safer.c.
47531         (undup_safer_noinherit): New function.
47532         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
47533         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
47534         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
47535         instead of fd_safer.
47536         * tests/test-pipe.c: Include <windows.h>.
47537         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
47538         result.
47539
47540         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
47541         from main.
47542         (test_pipe): Pass an extra argument for disambiguation.
47543         (main): Invoke parent_main or child_main.
47544
47545         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
47546         consistently.
47547
47548 2009-07-18  Eric Blake  <ebb9@byu.net>
47549
47550         test-pipe: fix mingw build
47551         * tests/test-pipe.c (main): Avoid fcntl on mingw.
47552
47553 2009-07-18  Bruno Haible  <bruno@clisp.org>
47554
47555         * modules/pipe-tests (Makefile.am): Fix typo.
47556
47557 2009-07-18  Eric Blake  <ebb9@byu.net>
47558
47559         error: fix mingw build
47560         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
47561         Reported by Bruno Haible.
47562
47563         error: avoid undefined use of stdout
47564         * lib/error.c (error, error_at_line): Check that fd 1 is open
47565         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
47566         is handling faults and the close_stdout module wants to report the
47567         detection of closed stdout as an error.
47568
47569 2009-07-17  Eric Blake  <ebb9@byu.net>
47570
47571         pipe: be robust in face of closed fds
47572         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
47573         should cause child to misbehave.
47574         * modules/pipe-tests: New module.
47575         * tests/test-pipe.c: New file.
47576         * tests/test-pipe.sh: New file.
47577         Reported by Akim Demaille.
47578
47579 2009-07-14  Bruno Haible  <bruno@clisp.org>
47580
47581         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
47582         Reported by anonymous kc.
47583
47584 2009-07-07  Jim Meyering  <meyering@redhat.com>
47585
47586         maint.mk: don't look for translatable strings in *.m4 or *.mk
47587         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
47588         when searching for translatable strings.
47589
47590 2009-07-05  Jim Meyering  <meyering@redhat.com>
47591
47592         remove superfluous parentheses in STREQ definition
47593         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
47594         * lib/getugroups.c (STREQ): Likewise.
47595         * lib/fnmatch.c (STREQ): Likewise.
47596         Spotted by Bruno Haible.
47597
47598 2009-07-04  Jim Meyering  <meyering@redhat.com>
47599
47600         argv-iter: new module
47601         * MODULES.html.sh: Add argv-iter.
47602         * lib/argv-iter.c, lib/argv-iter.h: New files.
47603         * modules/argv-iter: New file.
47604         * modules/argv-iter-tests: New file.
47605         * tests/test-argv-iter.c: Test it.
47606
47607 2009-07-04  Bruno Haible  <bruno@clisp.org>
47608
47609         Fix assertion.
47610         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
47611         contains more exact copies of a given entry than file2, leave the extra
47612         copies unpaired rather than aborting.
47613         Reported by Eric Blake.
47614
47615 2009-07-02  Bruno Haible  <bruno@clisp.org>
47616
47617         Speedup git-merge-changelog for git cherry-pick.
47618         * lib/git-merge-changelog.c (struct entries_mapping): New type.
47619         (entries_mapping_get): New function, extracted from compute_mapping.
47620         (entries_mapping_reverse_get): New function.
47621         (compute_mapping): Add a 'full' argument. Return the result in a
47622         'struct entries_mapping'.
47623         (main): Update. Access the mappings through entries_mapping_get.
47624         Reported by Eric Blake.
47625
47626 2009-07-02  Bruno Haible  <bruno@clisp.org>
47627
47628         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
47629         best_i.
47630
47631 2009-07-02  Bruno Haible  <bruno@clisp.org>
47632
47633         Speed up approximate search for matching ChangeLog entries.
47634         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
47635         argument. Call fstrcmp_bounded instead of fstrcmp.
47636         (compute_mapping, try_split_merged_entry, main): Update callers.
47637
47638 2009-07-02  Bruno Haible  <bruno@clisp.org>
47639
47640         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
47641
47642 2009-06-30  Bruno Haible  <bruno@clisp.org>
47643
47644         Reduce the number of uc_is_cased calls.
47645         * lib/unicase.h (casing_suffix_context_t): Add
47646         'first_char_except_ignorable' field.
47647         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
47648         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
47649         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
47650         Update initializer.
47651         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
47652         case-ignorable characters.
47653         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
47654         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
47655         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
47656         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
47657         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
47658
47659 2009-06-30  Bruno Haible  <bruno@clisp.org>
47660
47661         Tests for module 'unicase/ignorable'.
47662         * modules/unicase/ignorable-tests: New file.
47663         * tests/unicase/test-ignorable.c: New file, generated by
47664         gen-uni-tables.
47665
47666         Tests for module 'unicase/cased'.
47667         * modules/unicase/cased-tests: New file.
47668         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
47669         * tests/unicase/test-predicate-part1.h: New file, derived from
47670         tests/unictype/test-predicate-part1.h.
47671         * tests/unicase/test-predicate-part2.h: New file, same as
47672         tests/unictype/test-predicate-part2.h.
47673
47674         Fix evaluation of "Before C" condition of FINAL_SIGMA.
47675         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
47676         (output_casing_properties): New function.
47677         (main): Call it.
47678         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
47679         * lib/unicase/cased.c: Include unictype/bitmap.h.
47680         (uc_is_cased): Define through a bitmap lookup.
47681         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
47682         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
47683         (uc_is_case_ignorable): Define through a bitmap lookup.
47684         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
47685         lib/unictype/bitmap.h.
47686         (Depends-on): Add inline. Clean up.
47687         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
47688         lib/unictype/bitmap.h.
47689         (Depends-on): Add inline. Clean up.
47690         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
47691         recognition.
47692         * tests/unicase/test-u16-tolower.c (main): Likewise.
47693         * tests/unicase/test-u32-tolower.c (main): Likewise.
47694
47695 2009-06-30  Bruno Haible  <bruno@clisp.org>
47696
47697         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
47698         * lib/unicase/u16-casemap.c: Likewise.
47699         * lib/unicase/u32-casemap.c: Likewise.
47700
47701 2009-06-29  Bruno Haible  <bruno@clisp.org>
47702
47703         Define u32_casefold as a wrapper around u32_ct_casefold.
47704         * lib/unicase/u32-casefold.c: Update.
47705         * modules/unicase/u32-casefold (Depends-on): Add
47706         unicase/u32-ct-casefold, unicase/empty-prefix-context,
47707         unicase/empty-suffix-context. Clean up.
47708
47709         Define u16_casefold as a wrapper around u16_ct_casefold.
47710         * lib/unicase/u16-casefold.c: Update.
47711         * modules/unicase/u16-casefold (Depends-on): Add
47712         unicase/u16-ct-casefold, unicase/empty-prefix-context,
47713         unicase/empty-suffix-context. Clean up.
47714
47715         Define u8_casefold as a wrapper around u8_ct_casefold.
47716         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
47717         * lib/unicase/u8-casefold.c: Update.
47718         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
47719         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47720
47721         Define u32_totitle as a wrapper around u32_ct_totitle.
47722         * lib/unicase/u32-totitle.c: Update.
47723         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
47724         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47725
47726         Define u16_totitle as a wrapper around u16_ct_totitle.
47727         * lib/unicase/u16-totitle.c: Update.
47728         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
47729         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47730
47731         Define u8_totitle as a wrapper around u8_ct_totitle.
47732         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
47733         functions.
47734         (FUNC): Delegate to U_CT_TOTITLE.
47735         * lib/unicase/u8-totitle.c: Update.
47736         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
47737         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47738
47739         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
47740         invocation.
47741         * modules/unicase/u32-tolower (Depends-on): Add
47742         unicase/empty-prefix-context, unicase/empty-suffix-context.
47743
47744         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
47745         invocation.
47746         * modules/unicase/u16-tolower (Depends-on): Add
47747         unicase/empty-prefix-context, unicase/empty-suffix-context.
47748
47749         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
47750         * modules/unicase/u8-tolower (Depends-on): Add
47751         unicase/empty-prefix-context, unicase/empty-suffix-context.
47752
47753         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
47754         invocation.
47755         * modules/unicase/u32-toupper (Depends-on): Add
47756         unicase/empty-prefix-context, unicase/empty-suffix-context.
47757
47758         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
47759         invocation.
47760         * modules/unicase/u16-toupper (Depends-on): Add
47761         unicase/empty-prefix-context, unicase/empty-suffix-context.
47762
47763         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
47764         * modules/unicase/u8-toupper (Depends-on): Add
47765         unicase/empty-prefix-context, unicase/empty-suffix-context.
47766
47767         New module 'unicase/u32-ct-casefold'.
47768         * lib/unicase/u32-ct-casefold.c: New file.
47769         * modules/unicase/u32-ct-casefold: New file.
47770
47771         New module 'unicase/u16-ct-casefold'.
47772         * lib/unicase/u16-ct-casefold.c: New file.
47773         * modules/unicase/u16-ct-casefold: New file.
47774
47775         New module 'unicase/u8-ct-casefold'.
47776         * lib/unicase/u8-ct-casefold.c: New file.
47777         * lib/unicase/u-ct-casefold.h: New file, derived from
47778         lib/unicase/u-casefold.h.
47779         * modules/unicase/u8-ct-casefold: New file.
47780
47781         New module 'unicase/u32-ct-totitle'.
47782         * lib/unicase/u32-ct-totitle.c: New file.
47783         * modules/unicase/u32-ct-totitle: New file.
47784
47785         New module 'unicase/u16-ct-totitle'.
47786         * lib/unicase/u16-ct-totitle.c: New file.
47787         * modules/unicase/u16-ct-totitle: New file.
47788
47789         New module 'unicase/u8-ct-totitle'.
47790         * lib/unicase/u8-ct-totitle.c: New file.
47791         * lib/unicase/u-ct-totitle.h: New file, derived from
47792         lib/unicase/u-totitle.h.
47793         * modules/unicase/u8-ct-totitle: New file.
47794
47795         New module 'unicase/u32-ct-tolower'.
47796         * lib/unicase/u32-ct-tolower.c: New file.
47797         * modules/unicase/u32-ct-tolower: New file.
47798
47799         New module 'unicase/u16-ct-tolower'.
47800         * lib/unicase/u16-ct-tolower.c: New file.
47801         * modules/unicase/u16-ct-tolower: New file.
47802
47803         New module 'unicase/u8-ct-tolower'.
47804         * lib/unicase/u8-ct-tolower.c: New file.
47805         * modules/unicase/u8-ct-tolower: New file.
47806
47807         New module 'unicase/u32-ct-toupper'.
47808         * lib/unicase/u32-ct-toupper.c: New file.
47809         * modules/unicase/u32-ct-toupper: New file.
47810
47811         New module 'unicase/u16-ct-toupper'.
47812         * lib/unicase/u16-ct-toupper.c: New file.
47813         * modules/unicase/u16-ct-toupper: New file.
47814
47815         New module 'unicase/u8-ct-toupper'.
47816         * lib/unicase/u8-ct-toupper.c: New file.
47817         * modules/unicase/u8-ct-toupper: New file.
47818
47819         Add context arguments to u*_casemap functions.
47820         * lib/unicase/unicasemap.h: Include unicase.h.
47821         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
47822         suffix_context arguments.
47823         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
47824         functions.
47825         (FUNC): Add prefix_context and suffix_context arguments. Use
47826         uc_is_cased and uc_is_case_ignorable.
47827         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
47828         * lib/unicase/u16-casemap.c: Likewise.
47829         * lib/unicase/u32-casemap.c: Likewise.
47830         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
47831         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47832         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
47833         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47834         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
47835         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47836
47837         New module 'unicase/u32-suffix-context'.
47838         * lib/unicase/u32-suffix-context.c: New file.
47839         * modules/unicase/u32-suffix-context: New file.
47840
47841         New module 'unicase/u16-suffix-context'.
47842         * lib/unicase/u16-suffix-context.c: New file.
47843         * modules/unicase/u16-suffix-context: New file.
47844
47845         New module 'unicase/u8-suffix-context'.
47846         * lib/unicase/u8-suffix-context.c: New file.
47847         * lib/unicase/u-suffix-context.h: New file.
47848         * modules/unicase/u8-suffix-context: New file.
47849
47850         New module 'unicase/empty-suffix-context'.
47851         * lib/unicase/empty-suffix-context.c: New file.
47852         * modules/unicase/empty-suffix-context: New file.
47853
47854         New module 'unicase/u32-prefix-context'.
47855         * lib/unicase/u32-prefix-context.c: New file.
47856         * modules/unicase/u32-prefix-context: New file.
47857
47858         New module 'unicase/u16-prefix-context'.
47859         * lib/unicase/u16-prefix-context.c: New file.
47860         * modules/unicase/u16-prefix-context: New file.
47861
47862         New module 'unicase/u8-prefix-context'.
47863         * lib/unicase/u8-prefix-context.c: New file.
47864         * lib/unicase/u-prefix-context.h: New file.
47865         * lib/unicase/context.h: New file.
47866         * modules/unicase/u8-prefix-context: New file.
47867
47868         New module 'unicase/empty-prefix-context'.
47869         * lib/unicase/empty-prefix-context.c: New file.
47870         * modules/unicase/empty-prefix-context: New file.
47871
47872         New module 'unicase/ignorable'.
47873         * lib/unicase/ignorable.c: New file.
47874         * modules/unicase/ignorable: New file.
47875
47876         New module 'unicase/cased'.
47877         * lib/unicase/caseprop.h: New file.
47878         * lib/unicase/cased.c: New file.
47879         * modules/unicase/cased: New file.
47880
47881         New functions for case mapping of substrings.
47882         * lib/unicase.h (casing_prefix_context_t): New type.
47883         (unicase_empty_prefix_context): New variable.
47884         (u8_casing_prefix_context, u16_casing_prefix_context,
47885         u32_casing_prefix_context, u8_casing_prefixes_context,
47886         u16_casing_prefixes_context, u32_casing_prefixes_context): New
47887         declarations.
47888         (casing_suffix_context_t): New type.
47889         (unicase_empty_suffix_context): New variable.
47890         (u8_casing_suffix_context, u16_casing_suffix_context,
47891         u32_casing_suffix_context, u8_casing_suffixes_context,
47892         u16_casing_suffixes_context, u32_casing_suffixes_context,
47893         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
47894         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
47895         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
47896         declarations.
47897
47898 2009-06-28  Jim Meyering  <meyering@redhat.com>
47899
47900         boostrap: indent only with spaces
47901         * build-aux/bootstrap: Indent only with spaces, never TABs.
47902
47903         bootstrap: split long lines
47904         * build-aux/bootstrap: Keep line length < 80.
47905
47906         bootstrap: sync from coreutils
47907         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
47908         just as autoreconf does.  Verify a list of prerequisite
47909         package-name,version-number pairs if defined in bootstrap.conf.
47910         Refer to README-prereq, if prerequisites are not satisfied.
47911
47912 2009-06-27  Eric Blake  <ebb9@byu.net>
47913
47914         tests: add test for bogus NULL definition
47915         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
47916         * tests/test-stdlib.c: Likewise.
47917         * tests/test-string.c: Likewise.
47918         * tests/test-locale.c: Likewise.
47919         * tests/test-unistd.c: Likewise.
47920         * modules/stdio-tests (Depends-on): Add verify.
47921         * modules/stdlib-tests (Depends-on): Likewise.
47922         * modules/string-tests (Depends-on): Likewise.
47923         * modules/locale-tests (Depends-on): Likewise.
47924         * modules/unistd-tests (Depends-on): Likewise.
47925
47926 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
47927
47928         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
47929         self-explaining comment.
47930         * m4/selinux-selinux-h: Update serial.
47931         (gl_LIBSELINUX): New macro, adding a warning for missing development
47932         packages to code extracted from...
47933         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
47934         Add warning for missing development packages here, too.
47935
47936 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
47937
47938         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
47939
47940 2009-06-25  Eric Blake  <ebb9@byu.net>
47941
47942         version-etc: fix regression
47943         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
47944         gcc.
47945         (version_etc): Use it, to catch bugs with trailing NULL.
47946         * lib/version-etc.c (version_etc_arn): Delete unused argument.
47947         (version_etc_va): Fix logic bug.
47948         * modules/version-etc-tests: Add test.
47949         * tests/test-version-etc.c: New file.
47950         * tests/test-version-etc.sh: Likewise.
47951
47952 2009-06-25  Sam Steingold  <sds@gnu.org>
47953
47954         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
47955         mbtowc declaration.
47956
47957 2009-06-25  Eric Blake  <ebb9@byu.net>
47958
47959         fpurge: migrate into <stdio.h>
47960         * lib/fpurge.h: Delete...
47961         * lib/stdio.in.h (fpurge): ...and declare here, instead.
47962         * lib/fpurge.c (fpurge): Change declaring header.
47963         * modules/fpurge (Files): Drop deleted file.
47964         (Depends-on): Add stdio.
47965         (configure.ac): Set witness.
47966         * modules/stdio (Makefile.am): Support fpurge macros.
47967         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47968         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
47969         * lib/fflush.c: Update client.
47970         * tests/test-fpurge.c: Likewise.
47971         * NEWS: Mention the change.
47972
47973 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47974
47975         * lib/argp-version-etc.c (program_authors): Add const
47976         qualifier.
47977         * lib/version-etc.c: Fix typos in the comments.
47978         * modules/argp-version-etc: Depends on version-etc.
47979
47980 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47981
47982         argp-version-etc: new module.
47983
47984         * lib/argp-version-etc.c: New file.
47985         * lib/argp-version-etc.h: New file.
47986         * modules/argp-version-etc: New file.
47987         * modules/argp-version-etc-tests: New file.
47988         * tests/test-argp-version-etc.c: New test.
47989         * tests/test-argp-version-etc-1.sh: New test.
47990
47991 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47992
47993         Provide additional interfaces and documentation for version-etc
47994         module.
47995
47996         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
47997         interfaces.
47998         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
47999         prototypes.
48000
48001 2009-06-24  Bruno Haible  <bruno@clisp.org>
48002
48003         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
48004         HAVE_LIB${NAME} macro.
48005         Reported by Sam Steingold <sds@gnu.org>.
48006
48007 2009-06-23  Simon Josefsson  <simon@josefsson.org>
48008
48009         * modules/hash-tests (test_hash_LDADD): Link to libintl when
48010         needed.
48011
48012 2009-06-21  Bruno Haible  <bruno@clisp.org>
48013
48014         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
48015         work.
48016         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
48017         together with LIB${NAME}, LTLIB${NAME}.
48018         Reported by Sam Steingold <sds@gnu.org>.
48019
48020 2009-06-20  Jim Meyering  <meyering@redhat.com>
48021
48022         tests: make sc_require_test_exit_idiom more generic
48023         * top/maint.mk (Exit_witness_file): New overridable variable.
48024         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
48025         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
48026
48027 2009-06-19  Jim Meyering  <meyering@redhat.com>
48028
48029         hash: reverse order of src/dst parameters in an internal interface
48030         * lib/hash.c (transfer_entries): Reverse order of parameters to
48031         put DST before SRC.  Adjust callers.
48032
48033         tests: test-hash: avoid wholesale duplication
48034         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
48035         Instead, use a loop and add a single conditional.
48036
48037         tests: test-hash: allow seed selection via a command line argument
48038         * tests/test-hash.c (get_seed): New function.
48039         (main): Use it.
48040
48041 2009-06-19  Eric Blake  <ebb9@byu.net>
48042
48043         hash: avoid memory leak on allocation failure
48044         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
48045         failure.  Factor repeated algorithm...
48046         (transfer_entries): ...into new helper routine.
48047         (hash_delete): React to hash_rehash return value.
48048
48049         hash: reduce memory pressure in hash_rehash no-op case
48050         * lib/hash.c (next_prime): Avoid overflow.
48051         (hash_initialize): Factor bucket size computation...
48052         (compute_bucket_size): ...into new helper function.
48053         (hash_rehash): Use new function and open coding to reduce memory
48054         pressure, and avoid a memory leak in USE_OBSTACK code.
48055         Reported by Jim Meyering.
48056
48057 2009-06-18  Eric Blake  <ebb9@byu.net>
48058
48059         hash: make rotation more obvious
48060         * modules/hash (Depends-on): Add bitrotate and stdint.
48061         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
48062         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
48063         (SIZE_MAX): Rely on headers for definition.
48064         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
48065         (raw_hasher): Use rotr_sz.
48066         Suggested by Jim Meyering.
48067
48068         hash: fix memory leak in last patch
48069         * lib/hash.c (hash_rehash): Avoid memory leak.
48070
48071         hash: avoid no-op rehashing
48072         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
48073
48074         hash: provide default callback functions
48075         * lib/hash.c (raw_hasher, raw_comparator): New functions.
48076         (hash_initialize): Use them as defaults.
48077         * tests/test-hash.c (main): Test this.
48078
48079         hash: minor optimization
48080         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
48081         when possible.
48082         (hash_initialize): Document this promise.
48083         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
48084         * tests/test-hash.c (hash_compare_strings): Test this.
48085
48086 2009-06-18  Bruno Haible  <bruno@clisp.org>
48087
48088         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
48089         going to be replaced anyway.
48090
48091 2009-06-18  Bruno Haible  <bruno@clisp.org>
48092
48093         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
48094         in one place.
48095         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
48096         be replaced anyway.
48097
48098 2009-06-18  Eric Blake  <ebb9@byu.net>
48099
48100         hash: check for resize before insertion
48101         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
48102         threshold before insertion, so that a pathological hash_rehash
48103         that fills every bucket can still trigger another rehash.
48104
48105 2009-06-18  Jim Meyering  <meyering@redhat.com>
48106
48107         hash-tests: add a loop around the small tests
48108         * tests/test-hash.c (main): Repeat small tests with selected
48109         small initial table sizes.
48110
48111 2009-06-17  Eric Blake  <ebb9@byu.net>
48112
48113         hash: minor cleanups
48114         * lib/hash.h (hash_entry): Make opaque, by moving...
48115         * lib/hash.c (hash_entry): ...here.
48116         (hash_insert): Clarify restrictions on what can be inserted.
48117         (hash_get_next): Clarify when it is safe to remove an element
48118         during traversal.
48119         (check_tuning): Skip verification when tuning is known safe.
48120         (hash_initialize): Clarify restrictions on tuning.
48121
48122 2009-06-17  Jim Meyering  <jim@meyering.net>
48123         and Eric Blake  <ebb9@byu.net>
48124
48125         hash-tests: new module
48126         * modules/hash-tests: New file.
48127         * tests/test-hash.c: New file.
48128
48129 2009-06-17  Eric Blake  <ebb9@byu.net>
48130
48131         strstr-simple: document new module
48132         * MODULES.html.sh: Document new module.
48133
48134         strstr, strcasestr: replace on platforms with broken memchr
48135         * modules/strstr: Split into...
48136         * modules/strstr-simple: ...new module that does not care about
48137         performance, but does care about glibc bug.
48138         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
48139         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
48140         if platform memchr is broken, per Debian bug 521737.
48141         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
48142         memchr.
48143         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
48144         * doc/posix-functions/strstr.texi (strstr): Document the fix.
48145         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48146         * modules/mountlist (Depends-on): Add strstr-simple.
48147         * modules/gen-uni-tables (Depends-on): Likewise.
48148         * modules/argz (Depends-on): Add strstr.
48149
48150 2009-06-17  Bruno Haible  <bruno@clisp.org>
48151
48152         * modules/posix_spawn-internal (Depends-on): Add errno.
48153
48154 2009-06-17  Bruno Haible  <bruno@clisp.org>
48155
48156         Define missing ESTALE on Interix 3.5.
48157         * lib/errno.in.h (ESTALE): Assign a value if missing.
48158         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
48159         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
48160         missing.
48161         * doc/posix-headers/errno.texi: Mention the Interix bug.
48162         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
48163
48164 2009-06-15  Eric Blake  <ebb9@byu.net>
48165
48166         memchr, memchr2: add valgrind exception
48167         * lib/memchr.valgrind: New file.
48168         * lib/memchr2.valgrind: New file.
48169         * modules/memchr (Files): Distribute valgrind file.
48170         * modules/memchr2 (Files): Likewise.
48171
48172         docs: memchr is no longer obsolete
48173         * MODULES.html.sh: Move memchr from obsolete to string.h section.
48174         * lib/string.in.h (memchr): Simplify logic.
48175
48176 2009-06-14  Jim Meyering  <meyering@redhat.com>
48177
48178         link-follow: fix the "checking..." message to not mention trailing slash
48179         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
48180         never considered trailing slashes.
48181
48182 2009-06-14  Bruno Haible  <bruno@clisp.org>
48183
48184         * m4/memchr.m4: Mention also the bug on IA-64.
48185         * doc/posix-functions/memchr.texi: Likewise.
48186
48187 2009-06-12  Eric Blake  <ebb9@byu.net>
48188
48189         memchr: detect broken x86_64 and alpha implementations
48190         * modules/memchr-tests (Depends-on): Move mmap detection...
48191         * modules/memchr (Depends-on): ...here.
48192         (configure.ac): Set indicator.
48193         * lib/string.in.h (memchr): Declare replacement.
48194         * modules/string (Makefile.am): Trigger replacement.
48195         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
48196         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
48197         bugs.
48198         * doc/posix-functions/memchr.texi (memchr): Document the bug.
48199         * modules/getpagesize (License): Relax license.
48200
48201 2009-06-11  Bruno Haible  <bruno@clisp.org>
48202
48203         * lib/idpriv.h: Add more references.
48204
48205 2009-06-08  Bruno Haible  <bruno@clisp.org>
48206
48207         Tests for module 'idpriv-droptemp'.
48208         * modules/idpriv-droptemp-tests: New file.
48209         * tests/test-idpriv-droptemp.sh: New file.
48210         * tests/test-idpriv-droptemp.su.sh: New file.
48211         * tests/test-idpriv-droptemp.c: New file.
48212
48213         New module 'idpriv-droptemp'.
48214         * lib/idpriv-droptemp.c: New file.
48215         * modules/idpriv-droptemp: New file.
48216
48217 2009-06-08  Bruno Haible  <bruno@clisp.org>
48218
48219         Tests for module 'idpriv-drop'.
48220         * modules/idpriv-drop-tests: New file.
48221         * tests/test-idpriv-drop.sh: New file.
48222         * tests/test-idpriv-drop.su.sh: New file.
48223         * tests/test-idpriv-drop.c: New file.
48224
48225         New module 'idpriv-drop'.
48226         * lib/idpriv.h: New file.
48227         * lib-idpriv-drop.c: New file.
48228         * m4/idpriv.m4: New file.
48229         * modules/idpriv-drop: New file.
48230
48231 2009-06-08  Bruno Haible  <bruno@clisp.org>
48232
48233         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
48234         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48235         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48236         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48237         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48238         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48239         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48240
48241 2009-06-08  Eric Blake  <ebb9@byu.net>
48242
48243         test-strstr: use memory fence, when possible
48244         * tests/test-strstr.c (main): Use memory fence, in order to be
48245         more likely to trigger Debian bug 521737.
48246         * modules/strstr-tests (Files): Pull in additional files.
48247
48248         memchr: no longer obsolete, for wider field testing
48249         * modules/memchr (Status, Notice): Delete, this module is no
48250         longer obsolete.
48251         * modules/vasnprintf (Depends-on): Add memchr.
48252
48253 2009-06-07  Jim Meyering  <meyering@redhat.com>
48254
48255         hash: declare some functions with the warn_unused_result attribute
48256         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
48257
48258 2009-06-07  Bruno Haible  <bruno@clisp.org>
48259
48260         * tests/test-alignof.c: Don't test int64_t if it does not exist.
48261         Reported by Eric Blake.
48262
48263 2009-06-06  Eric Blake  <ebb9@byu.net>
48264
48265         test-alignof: fix typo with long double
48266         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
48267         compiler error.
48268
48269 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
48270
48271         Escape non-texinfo { and }s.
48272         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
48273         markup error.
48274
48275 2009-06-04  Jim Meyering  <meyering@redhat.com>
48276
48277         gitlog-to-changelog: don't infloop on an empty commit log
48278         * build-aux/gitlog-to-changelog: Warn about an empty log message.
48279         Reported by Boris Petersen <transacid@centerim.org>.
48280
48281 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
48282
48283         version-etc: extend for packagers
48284         Add three new configure options, intended for packagers:
48285           --with-packager="packager name"
48286           --with-packager-version="packager-specific version"
48287           --with-packager-bug-reports="packager bug reporting"
48288         An example with coreutils:
48289           $ ./configure \
48290             --with-packager=Gentoo \
48291             --with-packager-bug-report=http://bugs.gentoo.org/ \
48292             --with-packager-version="patchset 1.6"
48293           $ ./src/ls --version | head -n2
48294           ls (GNU coreutils) 7.1-dirty
48295           Packaged by Gentoo (patchset 1.6)
48296         Note that the bug reporting info via --help doesn't show up because
48297         coreutils uses its own custom emit_bug_reporting_address() implementation
48298         in src/system.h.  If it didn't, it'd look like:
48299           $ ./src/ls --help | tail -n4
48300           Report bugs to <bug-coreutils@gnu.org>.
48301           Report Gentoo bugs to <http://bugs.gentoo.org/>.
48302           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
48303           General help using GNU software: <http://www.gnu.org/gethelp/>.
48304         * lib/version-etc.c: Print new information, if provided.
48305         * m4/version-etc.m4: New file.
48306         * modules/version-etc (Files): Add m4/version-etc.m4.
48307         (configure.ac): Add gl_VERSION_ETC.
48308
48309 2009-05-31  Bruno Haible  <bruno@clisp.org>
48310
48311         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
48312         and 'int64_t'.
48313         * modules/alignof-tests (Dependencies): Add stdint.
48314         Reported by Eric Blake.
48315
48316 2009-05-31  Bruno Haible  <bruno@clisp.org>
48317
48318         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
48319         restriction due to compiler bugs.
48320         Reported by Eric Blake.
48321
48322 2009-05-31  Simon Josefsson  <simon@josefsson.org>
48323             Bruno Haible  <bruno@clisp.org>
48324
48325         Fix test-alignof failure.
48326         * lib/alignof.h (alignof_slot): New macro.
48327         (alignof_type): New macro, with the same semantics as the previous
48328         'alignof'.
48329         (alignof): Alias to alignof_slot.
48330         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
48331         check that the results are usable as constant expressions.
48332
48333 2009-05-31  Bruno Haible  <bruno@clisp.org>
48334
48335         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
48336         * tests/test-memchr.c (main): Check that memchr does not read past the
48337         first occurrence of the byte.
48338         * tests/test-strstr.c (main): Update comment.
48339         Suggested by Eric Blake.
48340
48341 2009-05-30  Bruno Haible  <bruno@clisp.org>
48342
48343         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
48344         detail how to use dumpbin.
48345         Reported by David Byron <dbyron@dbyron.com>.
48346
48347 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48348
48349         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
48350
48351 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48352
48353         * m4/manywarnings.m4: Add GCC 4.4 warnings.
48354
48355 2009-05-28  Bruno Haible  <bruno@clisp.org>
48356
48357         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
48358         build-aux/ files.
48359
48360 2009-05-28  Simon Josefsson  <simon@josefsson.org>
48361
48362         * gnulib-tool (func_import): Transform license on build-aux/ files too.
48363
48364 2009-05-27  Simon Josefsson  <simon@josefsson.org>
48365
48366         * gnulib-tool (sed_transform_main_lib_file)
48367         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
48368         regexps.
48369
48370 2009-05-26  Simon Josefsson  <simon@josefsson.org>
48371
48372         * tests/test-strstr.c: Add another self-test.
48373         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
48374         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
48375
48376 2009-05-23  Bruno Haible  <bruno@clisp.org>
48377
48378         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
48379         change.
48380
48381 2009-05-21  Bruno Haible  <bruno@clisp.org>
48382
48383         Simplify use of mode_t varargs.
48384         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
48385         uses 'mode_t' or 'int'.
48386         * lib/openat.c (openat): Likewise.
48387         * lib/open-safer.c (open_safer): Likewise.
48388         * m4/mode_t.m4: New file.
48389         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
48390         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
48391         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
48392         * modules/open (Files): Add m4/mode_t.m4.
48393         * modules/openat (Files): Likewise.
48394         * modules/fcntl-safer (Files): Likewise.
48395         Suggested by Eric Blake.
48396
48397 2009-05-21  Pádraig Brady  <P@draigbrady.com>
48398
48399         * doc/glibc-functions/fallocate.texi: New file.
48400         * doc/gnulib.texi: Include it.
48401
48402 2009-05-21  Eric Blake  <ebb9@byu.net>
48403             Bruno Haible  <bruno@clisp.org>
48404
48405         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
48406         invocations.
48407         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48408
48409 2009-05-21  Eric Blake  <ebb9@byu.net>
48410             Bruno Haible  <bruno@clisp.org>
48411
48412         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
48413         include_next. Fix of 2008-11-20 commit.
48414         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
48415         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
48416         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
48417         NEXT_MATH_H.
48418         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
48419         instead of NEXT_MATH_H.
48420
48421 2009-05-21  Bruno Haible  <bruno@clisp.org>
48422
48423         Avoid redefinition warnings for SIZE_MAX.
48424         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
48425         Reported by Simon Josefsson.
48426
48427 2009-05-21  Bruno Haible  <bruno@clisp.org>
48428
48429         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
48430         AC_CACHE_VAL.
48431
48432 2009-05-20  Bruno Haible  <bruno@clisp.org>
48433
48434         Make zeroptr.h work on mingw.
48435         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
48436         mprotect.
48437         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
48438         * modules/memchr2-tests (configure.ac): Likewise.
48439         * modules/memcmp-tests (configure.ac): Likewise.
48440         * modules/memmem-tests (configure.ac): Likewise.
48441         * modules/memrchr-tests (configure.ac): Likewise.
48442         Reported by Simon Josefsson.
48443
48444 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48445
48446         * tests/test-glob.c: Include string.h for strcmp prototype.
48447
48448 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48449
48450         * modules/getdelim (Depends-on): Add explicit stdint, although it
48451         was implicitly already pulled in via realloc-posix.
48452         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
48453
48454 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48455
48456         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
48457         G. Christensen" <tgc@jupiterrise.com>.
48458         * m4/sys_socket_h.m4: Check for sa_family_t.
48459         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
48460         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
48461         * tests/test-sys_socket.c: Check that sa_family_t works.
48462
48463 2009-05-18  Eric Blake  <ebb9@byu.net>
48464
48465         maint.mk: allow gnulib_dir in VPATH build
48466         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
48467
48468 2009-05-15  Jim Meyering  <meyering@redhat.com>
48469
48470         maint.mk: Give gnulib_dir a default definition.
48471         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
48472         Thus, most packages no longer need to specify this variable in cfg.mk
48473
48474 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
48475
48476         rename.m4: fix typos that would make non-mingw cross-configure fail
48477         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
48478
48479 2009-05-13  Eric Blake  <ebb9@byu.net>
48480
48481         mmap-anon: avoid out-of-order autoconf expansion
48482         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
48483         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
48484         * modules/memchr-tests (Depends-on): Add extensions.
48485         * modules/memchr2-tests (Depends-on): Add extensions.
48486         * modules/memcmp-tests (Depends-on): Add extensions.
48487         * modules/memmem-tests (Depends-on): Add extensions.
48488         * modules/memrchr-tests (Depends-on): Add extensions.
48489
48490 2009-05-13  Bruno Haible  <bruno@clisp.org>
48491
48492         Make some tests ISO C 99 compliant.
48493         * tests/zerosize-ptr.h: New file.
48494         * tests/test-memchr.c: Include zerosize-ptr.h.
48495         (main): Use a zero-size object pointer instead of NULL.
48496         * tests/test-memchr2.c: Include zerosize-ptr.h.
48497         (main): Use a zero-size object pointer instead of NULL.
48498         * tests/test-memcmp.c: Include zerosize-ptr.h.
48499         (main): Use a zero-size object pointer instead of NULL.
48500         * tests/test-memmem.c: Include zerosize-ptr.h.
48501         (main): Use a zero-size object pointer instead of NULL.
48502         * tests/test-memrchr.c: Include zerosize-ptr.h.
48503         (main): Use a zero-size object pointer instead of NULL.
48504         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
48505         m4/mmap-anon.m4.
48506         (Depends-on): Add getpagesize.
48507         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48508         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
48509         m4/mmap-anon.m4.
48510         (Depends-on): Add getpagesize.
48511         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48512         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
48513         m4/mmap-anon.m4.
48514         (Depends-on): Add getpagesize.
48515         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48516         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
48517         m4/mmap-anon.m4.
48518         (Depends-on): Add getpagesize.
48519         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48520         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
48521         m4/mmap-anon.m4.
48522         (Depends-on): Add getpagesize.
48523         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48524
48525 2009-05-12  Bruno Haible  <bruno@clisp.org>
48526
48527         Tests for module 'alignof'.
48528         * modules/alignof-tests: New file.
48529         * tests/test-alignof.c: New file.
48530
48531 2009-05-12  Bruno Haible  <bruno@clisp.org>
48532
48533         Fix alignof macro.
48534         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
48535         vendor compilers that are always correct.
48536
48537 2009-05-12  Bruno Haible  <bruno@clisp.org>
48538
48539         Make the MAP_ANONYMOUS detection work on HP-UX 11.
48540         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
48541         not whether its fully works.
48542
48543 2009-05-12  Bruno Haible  <bruno@clisp.org>
48544
48545         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
48546
48547 2009-05-12  Jim Meyering  <meyering@redhat.com>
48548
48549         * top/maint.mk: Adjust backslash alignment.
48550
48551 2009-05-11  Simon Josefsson  <simon@josefsson.org>
48552
48553         * top/maint.mk: Make $(srcdir)/build-aux configurable.
48554
48555 2009-05-11  Eric Blake  <ebb9@byu.net>
48556
48557         argp: avoid undefined behavior
48558         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
48559         macros.
48560
48561 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48562
48563         * tests/test-vc-list-files-git.sh: Do git config of user.email and
48564         user.name to prevent git commit from complaining.
48565
48566 2009-05-10  Bruno Haible  <bruno@clisp.org>
48567
48568         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
48569         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
48570         it rewrites every file name only once.
48571         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
48572
48573 2009-05-08  Bruno Haible  <bruno@clisp.org>
48574
48575         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
48576         instead of 'max'.
48577
48578 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48579
48580         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
48581         sockaddr_storage test.
48582
48583 2009-05-07  Simon Josefsson  <simon@josefsson.org>
48584
48585         * modules/sys_socket (Makefile.am): Substitute
48586         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
48587         * m4/sys_socket_h.m4: Check for sockaddr_storage.
48588         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
48589         * tests/test-sys_socket.c: Check sockaddr_storage.
48590
48591 2009-05-08  Bruno Haible  <bruno@clisp.org>
48592
48593         New module 'alignof'.
48594         * lib/alignof.h: New file.
48595         * modules/alignof: New file.
48596
48597 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48598             Bruno Haible  <bruno@clisp.org>
48599
48600         Fix test-file-has-acl on FreeBSD.
48601         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
48602         mask is implicitly added.
48603         * tests/test-file-has-acl.c: Include <signal.h>.
48604         (main): Terminate the test after 5 seconds.
48605         * modules/acl-tests (configure.ac): Check for alarm function.
48606
48607 2009-05-04  Bruno Haible  <bruno@clisp.org>
48608
48609         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
48610         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
48611         * modules/errno (configure.ac): Drop AC_REQUIRE.
48612         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
48613         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
48614
48615 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48616
48617         * modules/glob-tests: New module.
48618         * tests/test-glob.c: Add.
48619
48620 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48621
48622         * modules/fnmatch-tests: New module.
48623         * tests/test-fnmatch.c: Add.
48624
48625 2009-05-04  Eric Blake  <ebb9@byu.net>
48626
48627         maint: make the new no-submodule-changes rule VPATH-safe
48628         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
48629
48630 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48631             Bruno Haible  <bruno@clisp.org>
48632
48633         acl: Fix infinite loop on FreeBSD.
48634         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
48635         of return value from acl_get_entry.
48636         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
48637         Likewise.
48638
48639 2009-05-03  Bruno Haible  <bruno@clisp.org>
48640
48641         * lib/acl-internal.h (acl_entries): Clarify return value.
48642         * lib/acl_entries.c (acl_entries): Likewise.
48643
48644 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48645
48646         Bug fix in acl module.
48647         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
48648
48649 2009-05-03  Bruno Haible  <bruno@clisp.org>
48650
48651         Create gperf-generated file in the source dir, not in the build dir.
48652         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
48653         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
48654         * modules/unicase/locale-language (unicase/locale-languages.h):
48655         Likewise.
48656         * modules/unicase/special-casing (unicase/special-casing-table.h):
48657         Likewise.
48658         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
48659         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
48660         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
48661         Reported by Ralf Wildenhues.
48662
48663 2009-05-03  Bruno Haible  <bruno@clisp.org>
48664
48665         * modules/fnmatch (Description, configure.ac): Taken from
48666         fnmatch-posix.
48667         * modules/fnmatch-posix: Turn into a symbolic reference to the
48668         'fnmatch' module, and deprecate.
48669         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
48670
48671 2009-05-03  Bruno Haible  <bruno@clisp.org>
48672
48673         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
48674         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
48675         Reported by Ralf Wildenhues.
48676
48677 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48678
48679         * m4/fnmatch.m4: Fix fnmatch re-define.
48680
48681 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48682
48683         priv-set: new module and tests; adapt write-any-file
48684         * lib/priv-set.c: New file.
48685         * lib/priv-set.h: New file.
48686         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
48687         * lib/write-any-file.c: Simplify by using priv-set module.
48688         * m4/priv-set.m4: New file.
48689         * modules/priv-set: New file.
48690         * modules/unlinkdir: Add dependency on priv-set module.
48691         * modules/write-any-file: Likewise.
48692
48693         Tests for module 'priv-set'.
48694         * modules/priv-set-tests: New file.
48695         * tests/test-priv-set.c: New file.
48696
48697 2009-05-03  Jim Meyering  <meyering@redhat.com>
48698             Bruno Haible  <bruno@clisp.org>
48699
48700         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
48701         use the converted UTF-8 variant of the name instead.
48702
48703 2009-05-03  Jim Meyering  <meyering@redhat.com>
48704
48705         tests: tighten some getdate tests
48706         * tests/test-getdate.c (main): Tighten tests: require equality,
48707         not just greater than.  Set TZ envvar to UTC0.
48708
48709 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
48710
48711         getdate: correctly interpret "next monday" when run on a Monday
48712         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
48713         that e.g., "next tues" (when run on a tuesday) results in a date
48714         that is one week in the future, and not today's date.
48715         I.e., add a week when the wday is the same as the current one.
48716         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
48717         and earlier by Martin Bernreuther and Jan Minář.
48718         * tests/test-getdate.c (main): Check that "next DAY" is always in
48719         the future and that "last DAY" is always in the past.
48720
48721 2009-05-02  Jim Meyering  <meyering@redhat.com>
48722
48723         build: ensure that a release build fails when a submodule is unclean
48724         * top/maint.mk (no-submodule-changes): New rule.
48725         (alpha beta major): Depend on it.
48726
48727 2009-05-02  Bruno Haible  <bruno@clisp.org>
48728
48729         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
48730         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
48731         shell variable gl_fnmatch_required to detect which variant is
48732         requested.
48733         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
48734         gl_FUNC_FNMATCH_POSIX.
48735         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
48736         exclude fnmatch-posix.
48737
48738 2009-05-02  Bruno Haible  <bruno@clisp.org>
48739
48740         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
48741         * modules/mbsrtowcs (License): Change to LGPLv2+.
48742         * modules/strnlen1 (License): Likewise.
48743         Reported by Simon Josefsson.
48744
48745 2009-05-02  Bruno Haible  <bruno@clisp.org>
48746
48747         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
48748         "cross".
48749         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
48750         gnulib-tool was called with option --source-base=lib.
48751
48752 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48753
48754         Use automake *-local hooks without commands, for extensibility.
48755         * modules/localcharset (Makefile.am): Rename install-exec-local
48756         rule to install-exec-localcharset, and make it a prerequisite of
48757         install-exec-local.  Likewise, rename the uninstall-local rule to
48758         uninstall-localcharset, and make it a prerequisite of the former.
48759
48760 2009-05-01  Bruno Haible  <bruno@clisp.org>
48761
48762         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
48763         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48764         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
48765         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
48766         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
48767         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48768         m4/locale-zh.m4, m4/codeset.m4.
48769
48770         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48771         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
48772         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48773         m4/locale-zh.m4.
48774
48775         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
48776         REPLACE_WCRTOMB if mbstate_t must be replaced.
48777         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
48778         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
48779
48780 2009-05-01  Bruno Haible  <bruno@clisp.org>
48781
48782         Avoid compiler warnings when redefining macros defined by <libintl.h>.
48783         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
48784         dngettext, dcngettext, textdomain, bindtextdomain,
48785         bind_textdomain_codeset): Undefine before redefining.
48786
48787 2009-04-30  Bruno Haible  <bruno@clisp.org>
48788
48789         Fix bug introduced on 2009-04-25.
48790         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
48791         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
48792         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
48793         is defined.
48794         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
48795         is defined.
48796         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
48797         is defined.
48798         Reported by Elbert_Pol <elbert.pol@gmail.com>.
48799
48800 2009-04-28  Bruno Haible  <bruno@clisp.org>
48801
48802         Comment tweaks.
48803         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
48804         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
48805         * lib/unicase.h (u*_casexfrm): Likewise.
48806         Reported by Paolo Bonzini.
48807
48808 2009-04-28  Bruno Haible  <bruno@clisp.org>
48809
48810         Fix a compilation error.
48811         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
48812         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48813         Reported by Jim Meyering.
48814
48815 2009-04-27  Bruno Haible  <bruno@clisp.org>
48816
48817         New module 'libunistring'.
48818         * modules/libunistring: New file.
48819         * m4/libunistring.m4: New file.
48820         * MODULES.html.sh (Unicode string functions): Add it.
48821
48822 2009-04-27  Eric Blake  <ebb9@byu.net>
48823
48824         maint.mk: allow package-specific header to provide <config.h>
48825         * top/maint.mk (sc_require_config_h): New variable.
48826         (sc_require_config_h, sc_require_config_h_first): Use it.
48827
48828 2009-04-27  Simon Josefsson  <simon@josefsson.org>
48829
48830         * top/maint.mk (sc_avoid_if_before_free): Except
48831         useless-if-before-free script.
48832
48833 2009-04-27  Eric Blake  <ebb9@byu.net>
48834
48835         maintainer-makefile: depend on all required helper scripts
48836         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
48837         useless-if-before-free.
48838         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
48839         version, rather than assuming gnulib checkout is available.
48840         Reported by Simen Josefsson.
48841
48842 2009-04-26  Bruno Haible  <bruno@clisp.org>
48843
48844         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
48845         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
48846         "../" or "..".
48847
48848 2009-04-26  Bruno Haible  <bruno@clisp.org>
48849
48850         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
48851         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
48852         AC_LIB_HAVE_LINKFLAGS.
48853
48854 2009-04-26  Bruno Haible  <bruno@clisp.org>
48855
48856         Simplify calling convention of u*_conv_from_encoding.
48857         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
48858         u32_conv_from_encoding): Expect a resultbuf argument and return the
48859         result directly as a pointer.
48860         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
48861         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
48862         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
48863         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
48864         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
48865         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48866         Update.
48867         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
48868         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
48869         * lib/vasnprintf.c (VASNPRINTF): Update.
48870         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
48871         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
48872         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
48873         * NEWS: Mention the change.
48874
48875 2009-04-26  Bruno Haible  <bruno@clisp.org>
48876
48877         Simplify calling convention of u*_conv_to_encoding.
48878         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48879         u32_conv_to_encoding): Expect a resultbuf argument and return the
48880         result directly as a pointer.
48881         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48882         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
48883         freeing scaled_offsets if mem_iconveha failed.
48884         * lib/unicase/u-casexfrm.h (FUNC): Update.
48885         * lib/uninorm/u-normxfrm.h (FUNC): Update.
48886         * lib/vasnprintf.c (VASNPRINTF): Update.
48887         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
48888         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
48889         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
48890         * NEWS: Mention the change.
48891
48892 2009-04-26  Bruno Haible  <bruno@clisp.org>
48893
48894         Avoid test failures on AIX and OSF/1.
48895         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
48896         malloc(0).
48897         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48898         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48899         Likewise.
48900         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
48901         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
48902         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
48903         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
48904         * doc/posix-functions/malloc.texi: Document the portability problem
48905         related to malloc(0).
48906
48907 2009-04-26  Bruno Haible  <bruno@clisp.org>
48908
48909         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
48910         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
48911         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
48912
48913 2009-04-25  Bruno Haible  <bruno@clisp.org>
48914
48915         Avoid link error when creating a namespace clean library.
48916         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
48917         as macro with arguments if already defined as an alias.
48918         * lib/signbitf.c (gl_signbitf): Don't undefine.
48919         * lib/signbitd.c (gl_signbitd): Don't undefine.
48920         * lib/signbitl.c (gl_signbitl): Don't undefine.
48921
48922 2009-04-25  Jim Meyering  <meyering@redhat.com>
48923
48924         vc-list-files: fix another quoting bug
48925         * build-aux/vc-list-files: Avoid sed backslash expansion
48926         of pathological directory names.
48927
48928 2009-04-25  Eric Blake  <ebb9@byu.net>
48929
48930         vc-list-files: fix shell quoting error
48931         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
48932         timestamp.
48933
48934 2009-04-25  Jim Meyering  <meyering@redhat.com>
48935
48936         vc-list-files: restore lost functionality with subdir argument
48937         * build-aux/vc-list-files: When given a non-"." sub-directory
48938         argument, substitute the $dir/ prefix back onto each resulting name.
48939         Otherwise, coreutils' root_tests check would fail.
48940
48941 2009-04-24  Eric Blake  <ebb9@byu.net>
48942
48943         vc-list-files: ignore git symlinks
48944         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
48945         than ls-files, to ignore git symlinks.
48946
48947         maint.mk: import improvements from m4
48948         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
48949         (move_if_change): Delete unused macro.
48950         (news-date-check, vc-diff-check): Support VPATH builds.
48951         (announcement): Likewise.  Split --bootstrap-tools list...
48952         (boostrap-tools): ...into separate list, which can be overridden
48953         in cfg.mk.
48954         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
48955         requiring dependency on useless-if-before-free module.
48956         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
48957         Support VPATH builds.
48958
48959 2009-04-24  Jim Meyering  <meyering@redhat.com>
48960
48961         maint.mk: remove coreutils-specific rules and variables
48962         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
48963         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
48964         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
48965
48966         maint.mk: remove obsolete rule
48967         * top/maint.mk (rel-check): Remove rule.
48968         (WGET, WGETFLAGS): Remove now-unused variables.
48969
48970 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48971
48972         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
48973         consistency.
48974
48975         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
48976         '$(PATH_SEPARATOR)' instead of ':'.
48977
48978 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48979
48980         * lib/getopt1.c (main): Use 'const' for static array.
48981
48982 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48983
48984         * top/maint.mk: Sync with coreutils.
48985         * NEWS: Explain incompatibilities.
48986
48987 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48988             Bruno Haible  <bruno@clisp.org>
48989
48990         Fix cross-compilation results.
48991         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
48992         statement, as third argument of AC_TRY_RUN.
48993         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48994         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48995         Likewise.
48996         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
48997         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
48998         Likewise.
48999         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49000         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
49001         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
49002
49003 2009-04-20  Bruno Haible  <bruno@clisp.org>
49004
49005         Avoid test failure on mingw.
49006         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
49007
49008 2009-04-20  Bruno Haible  <bruno@clisp.org>
49009
49010         Avoid compilation error on mingw.
49011         * modules/localename-tests (Depends-on): Add locale.
49012
49013 2009-04-19  Bruno Haible  <bruno@clisp.org>
49014
49015         Support for building a shared library on Windows platforms.
49016         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
49017         (main): Test the presence of UNINORM_NFC here.
49018         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
49019         (main): Test the presence of UNINORM_NFD here.
49020         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
49021         (main): Test the presence of UNINORM_NFKC here.
49022         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
49023         (main): Test the presence of UNINORM_NFKD here.
49024
49025 2009-04-19  Bruno Haible  <bruno@clisp.org>
49026
49027         Avoid a compiler warning.
49028         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
49029         Change type of variable 'sequence'.
49030
49031 2009-04-19  Bruno Haible  <bruno@clisp.org>
49032
49033         * modules/configmake (Makefile.am): When the contents of configmake.h
49034         does not change, arrange to preserve its modification time.
49035
49036 2009-04-17  Simon Josefsson  <simon@josefsson.org>
49037
49038         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
49039         gettext domain.
49040
49041 2009-04-16  Jim Meyering  <meyering@redhat.com>
49042
49043         useless-if-before-free: improve conversion code
49044         * build-aux/useless-if-before-free: Adjust code-in-comment to match
49045         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
49046
49047 2009-04-14  Bruno Haible  <bruno@clisp.org>
49048
49049         * modules/fcntl (Depends-on): Add extensions.
49050         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
49051
49052 2009-04-12  Ben Pfaff  <blp@gnu.org>
49053
49054         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
49055         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
49056
49057 2009-03-20  Ben Pfaff  <blp@gnu.org>
49058
49059         Make rename replace existing destinations on Windows.
49060         * m4/rename.m4: Add test for Mingw.
49061         * lib/rename.c: Add rename replacement that uses MoveFileEx with
49062         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
49063         * doc/posix-functions/rename.texi: Document.
49064
49065 2009-04-10  Bruno Haible  <bruno@clisp.org>
49066
49067         New include file "iconveh.h".
49068         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
49069         * lib/striconveh.h: Include it.
49070         (enum iconv_ilseq_handler): Remove definition.
49071         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
49072         striconveh.h.
49073         * lib/striconveha.c: Include striconveh.h.
49074         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
49075         * modules/striconveh (Files): Add lib/iconveh.h.
49076         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
49077         lib/striconveh.h.
49078
49079 2009-04-10  Bruno Haible  <bruno@clisp.org>
49080
49081         * lib/uniconv.h: Update comment.
49082
49083 2009-04-10  Bruno Haible  <bruno@clisp.org>
49084
49085         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
49086         always.
49087         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49088         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49089         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49090         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
49091         "unistring-notinline.h", so that the function gets defined always.
49092         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49093         * lib/unistr/u8-uctomb.c: Likewise.
49094         * lib/unistr/u16-mbtouc.c: Likewise.
49095         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49096         * lib/unistr/u16-uctomb.c: Likewise.
49097         * lib/unistr/u32-mbtouc.c: Likewise.
49098         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49099         * lib/unistr/u32-uctomb.c: Likewise.
49100
49101 2009-04-10  Bruno Haible  <bruno@clisp.org>
49102
49103         Mark 'utime' obsolete.
49104         * modules/utime (Status, Notice): New sections.
49105         Suggested by Jim Meyering.
49106
49107         Fix cross-compile guess for utime test.
49108         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
49109         autoconf.
49110         * doc/posix-functions/utime.texi: Give more precisions.
49111         Reported by Jan <ipif@ymail.com>.
49112
49113 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
49114
49115         filevercmp: correct today's change
49116         * lib/filevercmp.c: Also handle coreutils' test inputs.
49117         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
49118
49119         Fix regression in 'filevercmp' module. Thanks Sven Joachim
49120         for reporting it.
49121         * lib/filevercmp.c: Special handle for "", "." and "..".
49122         * tests/test-filevercmp.c: Enlarge the set suite.
49123
49124 2009-04-07  Jim Meyering  <meyering@redhat.com>
49125
49126         useless-if-before-free: show how to remove braced useless free, too
49127         * build-aux/useless-if-before-free: still only in a comment, though.
49128
49129 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
49130
49131         maint.mk: import changes to syntax-check macros from coreutils
49132         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
49133         Use them in the relevant macros.
49134
49135 2009-04-06  Bruno Haible  <bruno@clisp.org>
49136
49137         Fix unportable use of bit-fields.
49138         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
49139         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
49140         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
49141
49142 2009-04-06  Bruno Haible  <bruno@clisp.org>
49143
49144         Avoid test failures on AIX and OSF/1.
49145         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
49146         that malloc(0) = NULL.
49147         * tests/unicase/test-u8-tolower.c (check): Likewise.
49148         * tests/unicase/test-u8-totitle.c (check): Likewise.
49149         * tests/unicase/test-u8-toupper.c (check): Likewise.
49150         * tests/unicase/test-u16-casefold.c (check): Likewise.
49151         * tests/unicase/test-u16-tolower.c (check): Likewise.
49152         * tests/unicase/test-u16-totitle.c (check): Likewise.
49153         * tests/unicase/test-u16-toupper.c (check): Likewise.
49154         * tests/unicase/test-u32-casefold.c (check): Likewise.
49155         * tests/unicase/test-u32-tolower.c (check): Likewise.
49156         * tests/unicase/test-u32-totitle.c (check): Likewise.
49157         * tests/unicase/test-u32-toupper.c (check): Likewise.
49158         * tests/uninorm/test-u8-nfc.c (check): Likewise.
49159         * tests/uninorm/test-u8-nfd.c (check): Likewise.
49160         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
49161         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
49162         * tests/uninorm/test-u16-nfc.c (check): Likewise.
49163         * tests/uninorm/test-u16-nfd.c (check): Likewise.
49164         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
49165         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
49166         * tests/uninorm/test-u32-nfc.c (check): Likewise.
49167         * tests/uninorm/test-u32-nfd.c (check): Likewise.
49168         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
49169         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
49170
49171 2009-04-05  Bruno Haible  <bruno@clisp.org>
49172
49173         Work around an autoconf limitation.
49174         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
49175         comment line if it would be longer than 3 KB.
49176
49177 2009-04-05  Bruno Haible  <bruno@clisp.org>
49178
49179         Avoid test failure with libiconv-1.13.
49180         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
49181         of the expected test results.
49182
49183 2009-04-05  Bruno Haible  <bruno@clisp.org>
49184
49185         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
49186         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
49187         that it should be installed.
49188
49189 2009-04-05  Bruno Haible  <bruno@clisp.org>
49190
49191         * gnulib-tool: New option --copy-file.
49192         (func_usage): Document it.
49193         (func_dest_tmpfilename): Moved out of func_import.
49194         (func_add_file, func_update_file): New functions, extracted from
49195         func_import.
49196         (func_import): Update.
49197
49198 2009-04-05  Karl Berry  <karl@gnu.org>
49199
49200         * README: prominently mention gnulib-tool.
49201         Rearrange sections so getting the code is near the top.
49202
49203 2009-04-05  Bruno Haible  <bruno@clisp.org>
49204
49205         * lib/unicase.h: Mention u*_cmp2.
49206         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49207         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
49208         * lib/unicase/ulc-casecmp.c: Likewise.
49209         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
49210         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
49211         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
49212         unistr/u8-cmp.
49213         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
49214         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
49215         unistr/u16-cmp.
49216         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
49217         unistr/u32-cmp.
49218
49219         * lib/uninorm.h: Mention u*_cmp2.
49220         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49221         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
49222         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
49223         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
49224         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
49225         unistr/u8-cmp.
49226         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
49227         unistr/u16-cmp.
49228         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
49229         unistr/u32-cmp.
49230
49231         New module 'unistr/u32-cmp2'.
49232         * lib/unistr/u32-cmp2.c: New file.
49233         * modules/unistr/u32-cmp2: New file.
49234
49235         New module 'unistr/u16-cmp2'.
49236         * lib/unistr/u16-cmp2.c: New file.
49237         * modules/unistr/u16-cmp2: New file.
49238
49239         New module 'unistr/u8-cmp2'.
49240         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
49241         * lib/unistr/u8-cmp2.c: New file.
49242         * lib/unistr/u-cmp2.h: New file.
49243         * modules/unistr/u8-cmp2: New file.
49244
49245 2009-04-05  Bruno Haible  <bruno@clisp.org>
49246
49247         * lib/unictype.h (uc_property_is_valid): New macro.
49248         * tests/unictype/test-pr_byname.c (main): Use it.
49249
49250         * lib/unistr.h: Doc fixes.
49251         * lib/uniconv.h: Doc fixes.
49252         * lib/unictype.h: Doc fixes.
49253
49254 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
49255
49256         Port coreutils 7.2 to Solaris 8.
49257
49258         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
49259         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
49260         for Solaris 8.  This is a bit of a hack, as it means it's the
49261         caller's responsibility to add -lnsl if needed, but most likely it
49262         won't be needed since only getaddrinfo uses this and getaddrinfo
49263         isn't needed on Solaris 8.
49264
49265         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
49266         problem to Solaris 8 encountered with coreutils 7.2, which
49267         resulted in a message "fnmatch.c:292: warning: passing argument 4
49268         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
49269         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
49270
49271 2009-04-03  Simon Josefsson  <simon@josefsson.org>
49272
49273         * m4/ld-version-script.m4: Add FIXME comment.
49274
49275 2009-04-02  Simon Josefsson  <simon@josefsson.org>
49276
49277         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
49278         SOVERSION variable.
49279
49280 2009-04-02  Bruno Haible  <bruno@clisp.org>
49281
49282         * Makefile (info, html, dvi, pdf): Combine the rules.
49283         Suggested by Jim Meyering.
49284
49285 2009-04-01  Bruno Haible  <bruno@clisp.org>
49286
49287         * Makefile (info, html, dvi, pdf): New targets.
49288         Reported by Reuben Thomas <rrt@sc3d.org>.
49289
49290 2009-04-01  Bruno Haible  <bruno@clisp.org>
49291
49292         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
49293         can be put into PATH.
49294         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
49295
49296 2009-04-01  Bruno Haible  <bruno@clisp.org>
49297
49298         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
49299
49300 2009-04-01  Bruno Haible  <bruno@clisp.org>
49301
49302         Rename module 'visibility'.
49303         * modules/lib-symbol-visibility: Renamed from modules/visibility.
49304         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
49305         * doc/gnulib.texi: Update.
49306         * MODULES.html.sh (Misc): Update.
49307         * NEWS: Mention the change.
49308
49309 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49310
49311         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
49312         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
49313         Eric Blake <ebb9@byu.net> for review.
49314         * MODULES.html.sh: Add lib-msvc-compat.
49315         * doc/gnulib.texi: Link to new section.
49316         * m4/ld-output-def.m4: New file.
49317         * doc/ld-output-def.texi: New file.
49318
49319 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49320
49321         Rename ld-version-script to lib-symbol-versions.  Suggested by
49322         Bruno Haible <bruno@clisp.org>.
49323         * modules/ld-version-script: Renamed to lib-symbol-versions.
49324         * doc/ld-version-script.texi: Fix module name.
49325         * MODULES.html.sh: Add lib-symbol-versions.
49326
49327 2009-03-31  Simon Josefsson  <simon@josefsson.org>
49328
49329         * modules/u64-tests: New file.
49330         * tests/test-u64.c: New file.
49331
49332 2009-03-04  Simon Josefsson  <simon@josefsson.org>
49333
49334         * MODULES.html.sh: Mention u64.
49335         * modules/u64: New module.
49336         * modules/crypto/sha512: Depend on u64 module instead of providing
49337         u64.h.
49338
49339 2009-03-27  Eric Blake  <ebb9@byu.net>
49340
49341         test-strerror: make debugging EAI_SYSTEM easier
49342         * modules/getaddrinfo-tests (Depends-on): Add strerror.
49343         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
49344         failure was EAI_SYSTEM.
49345
49346 2009-03-25  Bruno Haible  <bruno@clisp.org>
49347
49348         Fix a problem with --enable-relocatable on Solaris 7.
49349         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
49350         since 2008-02-24.
49351
49352 2009-03-25  Eric Blake  <ebb9@byu.net>
49353
49354         test-sockets: avoid gcc warning
49355         * tests/test-sockets.c (main): Silence compiler warning.
49356
49357 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
49358
49359         New modules nproc, pthread, contributed by Glen Lenker.
49360
49361         * MODULES.html.sh: Add pthread, nproc.
49362         * lib/nproc.c: New file.
49363         * lib/nproc.h: New file.
49364         * lib/pthread.in.h: New file.
49365         * m4/pthread.m4: New file.
49366         * modules/nproc: New file.
49367         * modules/pthread: New file.
49368
49369 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49370
49371         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
49372         New variable.
49373
49374 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
49375
49376         filevercmp: handle simple~ and numbered.~3~ backup suffixes
49377         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
49378         * tests/test-filevercmp.c: Add tests for backup suffixes.
49379
49380 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49381
49382         * modules/stdlib (Depends-on): Add stdint, needed when defining
49383         struct random_data on, for example, HP-UX 10.20.  Reported by
49384         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49385
49386 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49387
49388         * lib/readline.c (readline): Call fflush on stdout after printing
49389         prompt.
49390
49391 2009-03-20  Bruno Haible  <bruno@clisp.org>
49392
49393         Remove dependency from 'close' module to -lws2_32 on native Windows.
49394         * lib/close-hook.h: New file.
49395         * lib/close-hook.c: New file.
49396         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
49397         w32sock.h.
49398         (_gl_close_fd_maybe_socket): Remove function.
49399         (rpl_close): Invoke execute_all_close_hooks instead of
49400         _gl_close_fd_maybe_socket.
49401         * lib/sockets.c: Include close-hook.h, w32sock.h.
49402         (close_fd_maybe_socket): New function, essentially from lib/close.c.
49403         (close_sockets_hook): New variable.
49404         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
49405         (gl_sockets_cleanup): Unregister it.
49406         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
49407         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
49408         * modules/close-hook: New file.
49409         * modules/close (Files): Remove lib/w32sock.h.
49410         (Depends-on): Add close-hook.
49411         (Link): Remove section.
49412         * modules/sockets (Files): Add lib/w32sock.h.
49413         (Depends-on): Add close-hook.
49414         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
49415         invocation.
49416         * NEWS: Mention that LIB_CLOSE is gone.
49417
49418 2009-03-23  Eric Blake  <ebb9@byu.net>
49419
49420         signal-tests: test previous patch
49421         * tests/test-signal.c: New file.
49422         * modules/signal-tests: Likewise.
49423
49424         signal.h: always support 'volatile sig_atomic_t'
49425         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
49426         (gl_SIGNAL_H_DEFAULTS): Add a default.
49427         * modules/signal (Makefile.am): Substitute if needed.
49428         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
49429         users can blindly add volatile.
49430         * doc/posix-headers/signal.texi (signal.h): Document it.
49431         Reported by Matthew Woehlke.
49432
49433 2009-03-23  Jim Meyering  <meyering@redhat.com>
49434
49435         pathmax: PATH_MAX: use pathconf only when available
49436         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
49437         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
49438         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
49439         This avoids a link failure in a PSP cross-compilation environment
49440         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
49441
49442         * lib/vasnprintf.c (divide): Fix typo in comment.
49443
49444 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49445
49446         * gnulib-tool (func_filter_filelist): Fix comment.
49447
49448 2009-03-20  Bruno Haible  <bruno@clisp.org>
49449
49450         Make sockets.h self-contained.
49451         * lib/sockets.c: Include sockets.h first.
49452         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
49453
49454 2009-03-19  Eric Blake  <ebb9@byu.net>
49455
49456         doc: mention more functions added in cygwin 1.7.0
49457         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
49458         addition.
49459         * doc/posix-functions/log2f.texi: Likewise.
49460
49461 2009-03-19  Jim Meyering  <meyering@redhat.com>
49462
49463         fsusage: avoid syntax error due to statement-before-declaration
49464         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
49465         after all declarations.  Reported by Matthew Woehlke in
49466         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
49467
49468 2009-03-18  Eric Blake  <ebb9@byu.net>
49469
49470         build-aux/compile: sync from automake
49471         * build-aux/compile: New file, from automake.
49472         * config/srclist.txt: Mention build-aux/compile.
49473
49474 2009-03-17  Bruno Haible  <bruno@clisp.org>
49475
49476         * lib/git-merge-changelog.c: Fix typo in comment.
49477         Reported by Reuben Thomas <rrt@sc3d.org>.
49478
49479 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
49480
49481         * m4/regex.m4: update and improve help for
49482         --without-included-regex.
49483
49484 2009-03-17  Simon Josefsson  <simon@josefsson.org>
49485
49486         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
49487         failure on missing include files.
49488
49489 2009-03-17  Eric Blake  <ebb9@byu.net>
49490
49491         doc: mention more functions added in cygwin 1.7.0
49492         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
49493         addition.
49494         * doc/posix-functions/fwscanf.texi: Likewise.
49495         * doc/posix-functions/swprintf.texi: Likewise.
49496         * doc/posix-functions/swscanf.texi: Likewise.
49497         * doc/posix-functions/vfwprintf.texi: Likewise.
49498         * doc/posix-functions/vfwscanf.texi: Likewise.
49499         * doc/posix-functions/vswprintf.texi: Likewise.
49500         * doc/posix-functions/vswscanf.texi: Likewise.
49501         * doc/posix-functions/vwprintf.texi: Likewise.
49502         * doc/posix-functions/vwscanf.texi: Likewise.
49503         * doc/posix-functions/wcscasecmp.texi: Likewise.
49504         * doc/posix-functions/wcsdup.texi: Likewise.
49505         * doc/posix-functions/wcsftime.texi: Likewise.
49506         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49507         * doc/posix-functions/wprintf.texi: Likewise.
49508         * doc/posix-functions/wscanf.texi: Likewise.
49509         * doc/glibc-functions/gethostbyname2.texi: Likewise.
49510
49511 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49512
49513         maint.mk: really add $(AM_MAKEFLAGS)
49514         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
49515         was inadvertently omitted in the last commit.
49516         Spotted by Bruno Haible.
49517
49518         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
49519         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
49520         $(AM_MAKEFLAGS)' rather than plain `make'.
49521
49522         gnulib-tool: execute $MAKE not make
49523         * gnulib-tool: Default $MAKE to 'make'.
49524         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
49525         than make.  Initialize $MAKE in the do-autobuild script.
49526
49527         gnulib-tool: use $MAKE not make in generated files
49528         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
49529         make, in generated files.  Initialize $MAKE in the do-autobuild
49530         script.
49531
49532         * top/GNUmakefile (_have-git-version-gen): Fix typo.
49533
49534         GNUmakefile: disable parallelism only for multiple, recursive targets
49535         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
49536         additions in the Makefile.
49537         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
49538         by Automake.
49539         (.NOTPARALLEL): Only disable parallel builds if multiple targets
49540         are listed on the command line and at least one of them is
49541         listed in $(ALL_RECURSIVE_TARGETS).
49542
49543 2009-03-14  Bruno Haible  <bruno@clisp.org>
49544
49545         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
49546         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
49547         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
49548         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
49549         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
49550         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
49551         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
49552         unistr/u8-uctomb.
49553         * modules/unistr/u8-strchr (Depends-on): Likewise.
49554         * modules/unistr/u8-strrchr (Depends-on): Likewise.
49555         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
49556         unistr/u16-uctomb.
49557         * modules/unistr/u16-strchr (Depends-on): Likewise.
49558         * modules/unistr/u16-strrchr (Depends-on): Likewise.
49559
49560 2009-03-12  Bruno Haible  <bruno@clisp.org>
49561
49562         Work around select() bug on Interix 3.5.
49563         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
49564         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
49565         * m4/select.m4: New file.
49566         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
49567         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
49568         * modules/select (Files): Add m4/select.m4.
49569         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
49570         * modules/nanosleep (Depends-on): Add select.
49571         * modules/poll (Depends-on): Likewise.
49572         * doc/posix-functions/select.texi: Mention the Interix bug.
49573         Reported by Markus Duft <mduft@gentoo.org>.
49574
49575         * lib/select.c: Renamed from lib/winsock-select.c.
49576         * modules/select (Files): Add lib/select.c, remove
49577         lib/winsock-select.c.
49578         (configure.ac): Update.
49579
49580 2009-03-12  Jim Meyering  <meyering@redhat.com>
49581
49582         avoid gcc warnings about unused macro definitions
49583         * lib/readtokens.c (STREQ): Remove unused definition.
49584         * lib/xmalloc.c (SIZE_MAX): Likewise.
49585         * lib/openat-die.c (N_): Likewise.
49586         * lib/mountlist.c (SIZE_MAX): Remove definition.
49587         Instead, include <stdint.h>.
49588         * lib/readutmp.c: Likewise.
49589         * modules/readutmp (Depends-on): Add stdint.
49590         * modules/mountlist (Depends-on): Add stdint.
49591         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
49592
49593 2009-03-10  Bruno Haible  <bruno@clisp.org>
49594
49595         Tests for module 'mbmemcasecoll'.
49596         * modules/mbmemcasecoll-tests: New file.
49597         * tests/test-mbmemcasecoll1.sh: New file.
49598         * tests/test-mbmemcasecoll2.sh: New file.
49599         * tests/test-mbmemcasecoll3.sh: New file.
49600         * tests/test-mbmemcasecoll.c: New file.
49601
49602         New module 'mbmemcasecoll'.
49603         * lib/mbmemcasecoll.h: New file.
49604         * lib/mbmemcasecoll.c: New file.
49605         * modules/mbmemcasecoll: New file.
49606
49607         * tests/test-mbmemcasecmp.h: New file, extracted from
49608         tests/test-mbmemcasecmp.c.
49609         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
49610         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
49611         (main): Update.
49612         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
49613
49614 2009-03-09  Bruno Haible  <bruno@clisp.org>
49615
49616         Tests for module 'mbmemcasecmp'.
49617         * modules/mbmemcasecmp-tests: New file.
49618         * tests/test-mbmemcasecmp1.sh: New file.
49619         * tests/test-mbmemcasecmp2.sh: New file.
49620         * tests/test-mbmemcasecmp3.sh: New file.
49621         * tests/test-mbmemcasecmp.c: New file.
49622
49623         New module 'mbmemcasecmp'.
49624         * lib/mbmemcasecmp.h: New file.
49625         * lib/mbmemcasecmp.c: New file.
49626         * modules/mbmemcasecmp: New file.
49627
49628 2009-03-09  Bruno Haible  <bruno@clisp.org>
49629
49630         Tests for module 'unicase/ulc-casecoll'.
49631         * modules/unicase/ulc-casecoll-tests: New file.
49632         * tests/unicase/test-ulc-casecoll1.sh: New file.
49633         * tests/unicase/test-ulc-casecoll2.sh: New file.
49634         * tests/unicase/test-ulc-casecoll.c: New file.
49635
49636         New module 'unicase/ulc-casecoll'.
49637         * lib/unicase.h (ulc_casecoll): New declaration.
49638         * lib/unicase/ulc-casecoll.c: New file.
49639         * modules/unicase/ulc-casecoll: New file.
49640
49641         New module 'unicase/ulc-casexfrm'.
49642         * lib/unicase.h (ulc_casexfrm): New declaration.
49643         * lib/unicase/ulc-casexfrm.c: New file.
49644         * modules/unicase/ulc-casexfrm: New file.
49645
49646 2009-03-09  Bruno Haible  <bruno@clisp.org>
49647
49648         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
49649         invocations.
49650
49651         * m4/mbscasecmp.m4: Remove file.
49652         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
49653         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
49654
49655         * m4/mbscasestr.m4: Remove file.
49656         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
49657         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
49658
49659         * m4/mbschr.m4: Remove file.
49660         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
49661         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
49662
49663         * m4/mbscspn.m4: Remove file.
49664         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
49665         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
49666
49667         * m4/mbslen.m4: Remove file.
49668         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
49669         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
49670
49671         * m4/mbsncasecmp.m4: Remove file.
49672         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
49673         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
49674
49675         * m4/mbsnlen.m4: Remove file.
49676         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
49677         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
49678
49679         * m4/mbspbrk.m4: Remove file.
49680         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
49681         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
49682
49683         * m4/mbspcasecmp.m4: Remove file.
49684         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
49685         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
49686
49687         * m4/mbsrchr.m4: Remove file.
49688         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
49689         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
49690
49691         * m4/mbssep.m4: Remove file.
49692         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
49693         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
49694
49695         * m4/mbsspn.m4: Remove file.
49696         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
49697         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
49698
49699         * m4/mbsstr.m4: Remove file.
49700         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
49701         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
49702
49703         * m4/mbstok_r.m4: Remove file.
49704         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
49705         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
49706
49707         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
49708
49709         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
49710         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
49711
49712         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
49713
49714 2009-03-08  Bruno Haible  <bruno@clisp.org>
49715
49716         Tests for module 'unicase/ulc-casecmp'.
49717         * modules/unicase/ulc-casecmp-tests: New file.
49718         * tests/unicase/test-ulc-casecmp1.sh: New file.
49719         * tests/unicase/test-ulc-casecmp2.sh: New file.
49720         * tests/unicase/test-ulc-casecmp.c: New file.
49721
49722         New module 'unicase/ulc-casecmp'.
49723         * lib/unicase.h (ulc_casecmp): New declaration.
49724         * lib/unicase/ulc-casecmp.c: New file.
49725         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
49726         'const SRC_UNIT *'.
49727         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
49728         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
49729         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
49730         * modules/unicase/ulc-casecmp: New file.
49731
49732         Tests for module 'unicase/u32-is-cased'.
49733         * modules/unicase/u32-is-cased-tests: New file.
49734         * tests/unicase/test-u32-is-cased.c: New file.
49735
49736         Tests for module 'unicase/u16-is-cased'.
49737         * modules/unicase/u16-is-cased-tests: New file.
49738         * tests/unicase/test-u16-is-cased.c: New file.
49739
49740         Tests for module 'unicase/u8-is-cased'.
49741         * modules/unicase/u8-is-cased-tests: New file.
49742         * tests/unicase/test-u8-is-cased.c: New file.
49743         * tests/unicase/test-is-cased.h: New file.
49744
49745         New module 'unicase/u32-is-cased'.
49746         * lib/unicase/u32-is-cased.c: New file.
49747         * modules/unicase/u32-is-cased: New file.
49748
49749         New module 'unicase/u16-is-cased'.
49750         * lib/unicase/u16-is-cased.c: New file.
49751         * modules/unicase/u16-is-cased: New file.
49752
49753         New module 'unicase/u8-is-cased'.
49754         * lib/unicase/u8-is-cased.c: New file.
49755         * lib/unicase/u-is-cased.h: New file.
49756         * modules/unicase/u8-is-cased: New file.
49757
49758         Tests for module 'unicase/u32-is-casefolded'.
49759         * modules/unicase/u32-is-casefolded-tests: New file.
49760         * tests/unicase/test-u32-is-casefolded.c: New file.
49761
49762         Tests for module 'unicase/u16-is-casefolded'.
49763         * modules/unicase/u16-is-casefolded-tests: New file.
49764         * tests/unicase/test-u16-is-casefolded.c: New file.
49765
49766         Tests for module 'unicase/u8-is-casefolded'.
49767         * modules/unicase/u8-is-casefolded-tests: New file.
49768         * tests/unicase/test-u8-is-casefolded.c: New file.
49769         * tests/unicase/test-is-casefolded.h: New file.
49770
49771         New module 'unicase/u32-is-casefolded'.
49772         * lib/unicase/u32-is-casefolded.c: New file.
49773         * modules/unicase/u32-is-casefolded: New file.
49774
49775         New module 'unicase/u16-is-casefolded'.
49776         * lib/unicase/u16-is-casefolded.c: New file.
49777         * modules/unicase/u16-is-casefolded: New file.
49778
49779         New module 'unicase/u8-is-casefolded'.
49780         * lib/unicase/u8-is-casefolded.c: New file.
49781         * modules/unicase/u8-is-casefolded: New file.
49782
49783         Tests for module 'unicase/u32-is-titlecase'.
49784         * modules/unicase/u32-is-titlecase-tests: New file.
49785         * tests/unicase/test-u32-is-titlecase.c: New file.
49786
49787         Tests for module 'unicase/u16-is-titlecase'.
49788         * modules/unicase/u16-is-titlecase-tests: New file.
49789         * tests/unicase/test-u16-is-titlecase.c: New file.
49790
49791         Tests for module 'unicase/u8-is-titlecase'.
49792         * modules/unicase/u8-is-titlecase-tests: New file.
49793         * tests/unicase/test-u8-is-titlecase.c: New file.
49794         * tests/unicase/test-is-titlecase.h: New file.
49795
49796         New module 'unicase/u32-is-titlecase'.
49797         * lib/unicase/u32-is-titlecase.c: New file.
49798         * modules/unicase/u32-is-titlecase: New file.
49799
49800         New module 'unicase/u16-is-titlecase'.
49801         * lib/unicase/u16-is-titlecase.c: New file.
49802         * modules/unicase/u16-is-titlecase: New file.
49803
49804         New module 'unicase/u8-is-titlecase'.
49805         * lib/unicase/u8-is-titlecase.c: New file.
49806         * modules/unicase/u8-is-titlecase: New file.
49807
49808         Tests for module 'unicase/u32-is-lowercase'.
49809         * modules/unicase/u32-is-lowercase-tests: New file.
49810         * tests/unicase/test-u32-is-lowercase.c: New file.
49811
49812         Tests for module 'unicase/u16-is-lowercase'.
49813         * modules/unicase/u16-is-lowercase-tests: New file.
49814         * tests/unicase/test-u16-is-lowercase.c: New file.
49815
49816         Tests for module 'unicase/u8-is-lowercase'.
49817         * modules/unicase/u8-is-lowercase-tests: New file.
49818         * tests/unicase/test-u8-is-lowercase.c: New file.
49819         * tests/unicase/test-is-lowercase.h: New file.
49820
49821         New module 'unicase/u32-is-lowercase'.
49822         * lib/unicase/u32-is-lowercase.c: New file.
49823         * modules/unicase/u32-is-lowercase: New file.
49824
49825         New module 'unicase/u16-is-lowercase'.
49826         * lib/unicase/u16-is-lowercase.c: New file.
49827         * modules/unicase/u16-is-lowercase: New file.
49828
49829         New module 'unicase/u8-is-lowercase'.
49830         * lib/unicase/u8-is-lowercase.c: New file.
49831         * modules/unicase/u8-is-lowercase: New file.
49832
49833         Tests for module 'unicase/u32-is-uppercase'.
49834         * modules/unicase/u32-is-uppercase-tests: New file.
49835         * tests/unicase/test-u32-is-uppercase.c: New file.
49836
49837         Tests for module 'unicase/u16-is-uppercase'.
49838         * modules/unicase/u16-is-uppercase-tests: New file.
49839         * tests/unicase/test-u16-is-uppercase.c: New file.
49840
49841         Tests for module 'unicase/u8-is-uppercase'.
49842         * modules/unicase/u8-is-uppercase-tests: New file.
49843         * tests/unicase/test-u8-is-uppercase.c: New file.
49844         * tests/unicase/test-is-uppercase.h: New file.
49845
49846         New module 'unicase/u32-is-uppercase'.
49847         * lib/unicase/u32-is-uppercase.c: New file.
49848         * modules/unicase/u32-is-uppercase: New file.
49849
49850         New module 'unicase/u16-is-uppercase'.
49851         * lib/unicase/u16-is-uppercase.c: New file.
49852         * modules/unicase/u16-is-uppercase: New file.
49853
49854         New module 'unicase/u8-is-uppercase'.
49855         * lib/unicase/u8-is-uppercase.c: New file.
49856         * modules/unicase/u8-is-uppercase: New file.
49857
49858         New module 'unicase/u32-is-invariant'.
49859         * lib/unicase/u32-is-invariant.c: New file.
49860         * modules/unicase/u32-is-invariant: New file.
49861
49862         New module 'unicase/u16-is-invariant'.
49863         * lib/unicase/u16-is-invariant.c: New file.
49864         * modules/unicase/u16-is-invariant: New file.
49865
49866         New module 'unicase/u8-is-invariant'.
49867         * lib/unicase/u8-is-invariant.c: New file.
49868         * lib/unicase/invariant.h: New file.
49869         * lib/unicase/u-is-invariant.h: New file.
49870         * modules/unicase/u8-is-invariant: New file.
49871
49872         Tests for module 'unicase/u32-casecoll'.
49873         * modules/unicase/u32-casecoll-tests: New file.
49874         * tests/unicase/test-u32-casecoll.c: New file.
49875
49876         Tests for module 'unicase/u16-casecoll'.
49877         * modules/unicase/u16-casecoll-tests: New file.
49878         * tests/unicase/test-u16-casecoll.c: New file.
49879
49880         Tests for module 'unicase/u8-casecoll'.
49881         * modules/unicase/u8-casecoll-tests: New file.
49882         * tests/unicase/test-u8-casecoll.c: New file.
49883
49884         New module 'unicase/u32-casecoll'.
49885         * lib/unicase/u32-casecoll.c: New file.
49886         * modules/unicase/u32-casecoll: New file.
49887
49888         New module 'unicase/u16-casecoll'.
49889         * lib/unicase/u16-casecoll.c: New file.
49890         * modules/unicase/u16-casecoll: New file.
49891
49892         New module 'unicase/u8-casecoll'.
49893         * lib/unicase/u8-casecoll.c: New file.
49894         * lib/unicase/u-casecoll.h: New file.
49895         * modules/unicase/u8-casecoll: New file.
49896
49897         New module 'unicase/u32-casexfrm'.
49898         * lib/unicase/u32-casexfrm.c: New file.
49899         * modules/unicase/u32-casexfrm: New file.
49900
49901         New module 'unicase/u16-casexfrm'.
49902         * lib/unicase/u16-casexfrm.c: New file.
49903         * modules/unicase/u16-casexfrm: New file.
49904
49905         New module 'unicase/u8-casexfrm'.
49906         * lib/unicase/u8-casexfrm.c: New file.
49907         * lib/unicase/u-casexfrm.h: New file.
49908         * modules/unicase/u8-casexfrm: New file.
49909
49910         Tests for module 'unicase/u32-casecmp'.
49911         * modules/unicase/u32-casecmp-tests: New file.
49912         * tests/unicase/test-u32-casecmp.c: New file.
49913
49914         Tests for module 'unicase/u16-casecmp'.
49915         * modules/unicase/u16-casecmp-tests: New file.
49916         * tests/unicase/test-u16-casecmp.c: New file.
49917
49918         Tests for module 'unicase/u8-casecmp'.
49919         * modules/unicase/u8-casecmp-tests: New file.
49920         * tests/unicase/test-u8-casecmp.c: New file.
49921         * tests/unicase/test-casecmp.h: New file.
49922
49923         New module 'unicase/u32-casecmp'.
49924         * lib/unicase/u32-casecmp.c: New file.
49925         * modules/unicase/u32-casecmp: New file.
49926
49927         New module 'unicase/u16-casecmp'.
49928         * lib/unicase/u16-casecmp.c: New file.
49929         * modules/unicase/u16-casecmp: New file.
49930
49931         New module 'unicase/u8-casecmp'.
49932         * lib/unicase/u8-casecmp.c: New file.
49933         * lib/unicase/u-casecmp.h: New file.
49934         * modules/unicase/u8-casecmp: New file.
49935
49936         Tests for module 'unicase/u32-casefold'.
49937         * modules/unicase/u32-casefold-tests: New file.
49938         * tests/unicase/test-u32-casefold.c: New file.
49939
49940         Tests for module 'unicase/u16-casefold'.
49941         * modules/unicase/u16-casefold-tests: New file.
49942         * tests/unicase/test-u16-casefold.c: New file.
49943
49944         Tests for module 'unicase/u8-casefold'.
49945         * modules/unicase/u8-casefold-tests: New file.
49946         * tests/unicase/test-u8-casefold.c: New file.
49947
49948         New module 'unicase/u32-casefold'.
49949         * lib/unicase/u32-casefold.c: New file.
49950         * modules/unicase/u32-casefold: New file.
49951
49952         New module 'unicase/u16-casefold'.
49953         * lib/unicase/u16-casefold.c: New file.
49954         * modules/unicase/u16-casefold: New file.
49955
49956         New module 'unicase/u8-casefold'.
49957         * lib/unicase/u8-casefold.c: New file.
49958         * lib/unicase/u-casefold.h: New file.
49959         * modules/unicase/u8-casefold: New file.
49960
49961         New module 'unicase/tocasefold'.
49962         * lib/unicase/casefold.h: New file.
49963         * lib/unicase/tocasefold.c: New file.
49964         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
49965         * modules/unicase/tocasefold: New file.
49966
49967         Tests for module 'unicase/u32-totitle'.
49968         * modules/unicase/u32-totitle-tests: New file.
49969         * tests/unicase/test-u32-totitle.c: New file.
49970
49971         Tests for module 'unicase/u16-totitle'.
49972         * modules/unicase/u16-totitle-tests: New file.
49973         * tests/unicase/test-u16-totitle.c: New file.
49974
49975         Tests for module 'unicase/u8-totitle'.
49976         * modules/unicase/u8-totitle-tests: New file.
49977         * tests/unicase/test-u8-totitle.c: New file.
49978
49979         New module 'unicase/u32-totitle'.
49980         * lib/unicase/u32-totitle.c: New file.
49981         * modules/unicase/u32-totitle: New file.
49982
49983         New module 'unicase/u16-totitle'.
49984         * lib/unicase/u16-totitle.c: New file.
49985         * modules/unicase/u16-totitle: New file.
49986
49987         New module 'unicase/u8-totitle'.
49988         * lib/unicase/u8-totitle.c: New file.
49989         * lib/unicase/u-totitle.h: New file.
49990         * modules/unicase/u8-totitle: New file.
49991
49992         Tests for module 'unicase/u32-tolower'.
49993         * modules/unicase/u32-tolower-tests: New file.
49994         * tests/unicase/test-u32-tolower.c: New file.
49995
49996         Tests for module 'unicase/u16-tolower'.
49997         * modules/unicase/u16-tolower-tests: New file.
49998         * tests/unicase/test-u16-tolower.c: New file.
49999
50000         Tests for module 'unicase/u8-tolower'.
50001         * modules/unicase/u8-tolower-tests: New file.
50002         * tests/unicase/test-u8-tolower.c: New file.
50003
50004         New module 'unicase/u32-tolower'.
50005         * lib/unicase/u32-tolower.c: New file.
50006         * modules/unicase/u32-tolower: New file.
50007
50008         New module 'unicase/u16-tolower'.
50009         * lib/unicase/u16-tolower.c: New file.
50010         * modules/unicase/u16-tolower: New file.
50011
50012         New module 'unicase/u8-tolower'.
50013         * lib/unicase/u8-tolower.c: New file.
50014         * modules/unicase/u8-tolower: New file.
50015
50016         Tests for module 'unicase/u32-toupper'.
50017         * modules/unicase/u32-toupper-tests: New file.
50018         * tests/unicase/test-u32-toupper.c: New file.
50019
50020         Tests for module 'unicase/u16-toupper'.
50021         * modules/unicase/u16-toupper-tests: New file.
50022         * tests/unicase/test-u16-toupper.c: New file.
50023
50024         Tests for module 'unicase/u8-toupper'.
50025         * modules/unicase/u8-toupper-tests: New file.
50026         * tests/unicase/test-u8-toupper.c: New file.
50027
50028         New module 'unicase/u32-toupper'.
50029         * lib/unicase/u32-toupper.c: New file.
50030         * modules/unicase/u32-toupper: New file.
50031
50032         New module 'unicase/u16-toupper'.
50033         * lib/unicase/u16-toupper.c: New file.
50034         * modules/unicase/u16-toupper: New file.
50035
50036         New module 'unicase/u8-toupper'.
50037         * lib/unicase/u8-toupper.c: New file.
50038         * modules/unicase/u8-toupper: New file.
50039
50040         New module 'unicase/u32-casemap'.
50041         * lib/unicase/u32-casemap.c: New file.
50042         * modules/unicase/u32-casemap: New file.
50043
50044         New module 'unicase/u16-casemap'.
50045         * lib/unicase/u16-casemap.c: New file.
50046         * modules/unicase/u16-casemap: New file.
50047
50048         New module 'unicase/u8-casemap'.
50049         * lib/unicase/unicasemap.h: New file.
50050         * lib/unicase/u8-casemap.c: New file.
50051         * lib/unicase/u-casemap.h: New file.
50052         * modules/unicase/u8-casemap: New file.
50053
50054         New module 'unicase/special-casing'.
50055         * lib/unicase/special-casing.h: New file.
50056         * lib/unicase/special-casing.c: New file.
50057         * lib/unicase/special-casing-table.gperf: New file, generated by
50058         gen-uni-tables.c.
50059         * modules/unicase/special-casing: New file.
50060
50061         Tests for module 'unicase/locale-language'.
50062         * modules/unicase/locale-language-tests: New file.
50063         * tests/unicase/test-locale-language.sh: New file.
50064         * tests/unicase/test-locale-language.c: New file.
50065
50066         New module 'unicase/locale-language'.
50067         * lib/unicase/locale-language.c: New file.
50068         * lib/unicase/locale-languages.gperf: New file.
50069         * modules/unicase/locale-language: New file.
50070
50071         Generate more tables for case conversion and case folding.
50072         * lib/gen-uni-tables.c (SCC_*): New enum items.
50073         (struct special_casing_rule): New type.
50074         (casing_rules, num_casing_rules, allocated_casing_rules): New
50075         variables.
50076         (add_casing_rule, fill_casing_rules): New functions.
50077         (struct casefold_rule): New type.
50078         (casefolding_rules, num_casefolding_rules,
50079         allocated_casefolding_rules): New variables.
50080         (fill_casefolding_rules): New function.
50081         (unicode_casefold): New variable.
50082         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
50083         sort_casing_rules, output_casing_rules): New functions.
50084         (main): Accept to more arguments: SpecialCasing.txt and
50085         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
50086         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
50087         Output mapping for casefolding.
50088
50089         * lib/unicase.h: Include stdbool.h, uninorm.h.
50090         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
50091         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
50092         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
50093         arguments.
50094         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
50095         resultp arguments.
50096         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
50097         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
50098         resultp arguments.
50099         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
50100         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
50101         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
50102         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
50103         declarations.
50104         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
50105
50106 2009-03-08  Bruno Haible  <bruno@clisp.org>
50107
50108         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50109         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
50110         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
50111         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50112
50113 2009-03-07  Bruno Haible  <bruno@clisp.org>
50114
50115         Adjust u*_normcmp, u*_normcoll API.
50116         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50117         u16_normcoll, u32_normcoll): Change failure conventions.
50118         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
50119         errno and return -1.
50120         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50121
50122 2009-03-07  Bruno Haible  <bruno@clisp.org>
50123
50124         Tests for module 'uninorm/u32-normcoll'.
50125         * modules/uninorm/u32-normcoll-tests: New file.
50126         * tests/uninorm/test-u32-normcoll.c: New file.
50127
50128         Tests for module 'uninorm/u16-normcoll'.
50129         * modules/uninorm/u16-normcoll-tests: New file.
50130         * tests/uninorm/test-u16-normcoll.c: New file.
50131
50132         Tests for module 'uninorm/u8-normcoll'.
50133         * modules/uninorm/u8-normcoll-tests: New file.
50134         * tests/uninorm/test-u8-normcoll.c: New file.
50135
50136 2009-03-07  Bruno Haible  <bruno@clisp.org>
50137
50138         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
50139         tests/uninorm/test-u32-normcmp.c.
50140         * tests/uninorm/test-u32-normcmp.c: Include it.
50141         (test_nonascii): New function, extracted from main. Add some more
50142         tests.
50143         (main): Invoke test_ascii and test_nonascii.
50144         * modules/uninorm/u32-normcmp-tests (Files): Add
50145         tests/uninorm/test-u32-normcmp.h.
50146         (Depends-on): Remove uninorm/u32-normcmp.
50147
50148         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
50149         tests/uninorm/test-u16-normcmp.c.
50150         * tests/uninorm/test-u16-normcmp.c: Include it.
50151         (test_nonascii): New function, extracted from main. Add some more
50152         tests.
50153         (main): Invoke test_ascii and test_nonascii.
50154         * modules/uninorm/u16-normcmp-tests (Files): Add
50155         tests/uninorm/test-u16-normcmp.h.
50156         (Depends-on): Remove uninorm/u16-normcmp.
50157
50158         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
50159         tests/uninorm/test-u8-normcmp.c.
50160         * tests/uninorm/test-u8-normcmp.c: Include it.
50161         (test_nonascii): New function, extracted from main. Add some more
50162         tests.
50163         (main): Invoke test_ascii and test_nonascii.
50164         * modules/uninorm/u8-normcmp-tests (Files): Add
50165         tests/uninorm/test-u8-normcmp.h.
50166         (Depends-on): Remove uninorm/u8-normcmp.
50167
50168 2009-03-07  Bruno Haible  <bruno@clisp.org>
50169
50170         New module 'uninorm/u32-normcoll'.
50171         * lib/uninorm/u32-normcoll.c: New file.
50172         * modules/uninorm/u32-normcoll: New file.
50173
50174         New module 'uninorm/u16-normcoll'.
50175         * lib/uninorm/u16-normcoll.c: New file.
50176         * modules/uninorm/u16-normcoll: New file.
50177
50178         New module 'uninorm/u8-normcoll'.
50179         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
50180         declarations.
50181         * lib/uninorm/u8-normcoll.c: New file.
50182         * lib/uninorm/u-normcoll.h: New file.
50183         * modules/uninorm/u8-normcoll: New file.
50184
50185         New module 'uninorm/u32-normxfrm'.
50186         * lib/uninorm/u32-normxfrm.c: New file.
50187         * modules/uninorm/u32-normxfrm: New file.
50188
50189         New module 'uninorm/u16-normxfrm'.
50190         * lib/uninorm/u16-normxfrm.c: New file.
50191         * modules/uninorm/u16-normxfrm: New file.
50192
50193         New module 'uninorm/u8-normxfrm'.
50194         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
50195         declarations.
50196         * lib/uninorm/u8-normxfrm.c: New file.
50197         * lib/uninorm/u-normxfrm.h: New file.
50198         * modules/uninorm/u8-normxfrm: New file.
50199
50200 2009-03-07  Bruno Haible  <bruno@clisp.org>
50201
50202         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
50203         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
50204         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
50205
50206 2009-03-07  Bruno Haible  <bruno@clisp.org>
50207
50208         New module 'memxfrm'.
50209         * lib/memxfrm.h: New file.
50210         * lib/memxfrm.c: New file.
50211         * modules/memxfrm: New file.
50212
50213 2009-03-07  Bruno Haible  <bruno@clisp.org>
50214
50215         New module 'memcmp2'.
50216         * lib/memcmp2.h: New file.
50217         * lib/memcmp2.c: New file.
50218         * modules/memcmp2: New file.
50219
50220 2009-03-07  Bruno Haible  <bruno@clisp.org>
50221
50222         Tests for module 'uninorm/decomposing-form'.
50223         * modules/uninorm/decomposing-form-tests: New file.
50224         * tests/uninorm/test-decomposing-form.c: New file.
50225
50226         New module 'uninorm/decomposing-form'.
50227         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
50228         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
50229         Add 'decomposing_variant' field.
50230         * lib/uninorm/decomposing-form.c: New file.
50231         * lib/uninorm/nfc.c (uninorm_nfc): Update.
50232         * lib/uninorm/nfd.c (uninorm_nfd): Update.
50233         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
50234         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
50235         * modules/uninorm/decomposing-form: New file.
50236         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
50237         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
50238
50239 2009-03-07  Bruno Haible  <bruno@clisp.org>
50240
50241         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
50242         strings.
50243
50244 2009-03-06  Bruno Haible  <bruno@clisp.org>
50245
50246         Tests for module 'uninorm/u32-normcmp'.
50247         * tests/uninorm/test-u32-normcmp.c: New file.
50248         * modules/uninorm/u32-normcmp-tests: New file.
50249
50250         Tests for module 'uninorm/u16-normcmp'.
50251         * tests/uninorm/test-u16-normcmp.c: New file.
50252         * modules/uninorm/u16-normcmp-tests: New file.
50253
50254         Tests for module 'uninorm/u8-normcmp'.
50255         * tests/uninorm/test-u8-normcmp.c: New file.
50256         * modules/uninorm/u8-normcmp-tests: New file.
50257
50258         New module 'uninorm/u32-normcmp'.
50259         * lib/uninorm/u32-normcmp.c: New file.
50260         * modules/uninorm/u32-normcmp: New file.
50261
50262         New module 'uninorm/u16-normcmp'.
50263         * lib/uninorm/u16-normcmp.c: New file.
50264         * modules/uninorm/u16-normcmp: New file.
50265
50266         New module 'uninorm/u8-normcmp'.
50267         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
50268         declarations.
50269         * lib/uninorm/u8-normcmp.c: New file.
50270         * lib/uninorm/u-normcmp.h: New file.
50271         * modules/uninorm/u8-normcmp: New file.
50272
50273 2009-03-06  Bruno Haible  <bruno@clisp.org>
50274
50275         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
50276         Reported by Eric Blake.
50277
50278 2009-03-06  Eric Blake  <ebb9@byu.net>
50279             Bruno Haible  <bruno@clisp.org>
50280
50281         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
50282         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
50283         condition.
50284         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50285         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
50286         condition.
50287         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50288
50289 2009-03-06  Eric Blake  <ebb9@byu.net>
50290
50291         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
50292         to avoid compiler warnings.
50293         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
50294
50295 2009-03-05  Bruno Haible  <bruno@clisp.org>
50296
50297         * tests/test-ftell.c (main): Disable test beyond end of file on
50298         FreeMiNT.
50299         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50300
50301 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
50302
50303         * lib/filevercmp.c: Move hidden files up in ordering.
50304         * tests/test-filevercmp.c: Add tests for hidden files.
50305
50306 2009-03-04  Bruno Haible  <bruno@clisp.org>
50307
50308         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
50309         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
50310         AM_CFLAGS.
50311         Reported by Simon Josefsson.
50312
50313 2009-03-03  Bruno Haible  <bruno@clisp.org>
50314
50315         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
50316         Reported by Simon Josefsson.
50317
50318         * doc/ld-version-script.texi: Update node reference.
50319
50320 2009-03-03  Bruno Haible  <bruno@clisp.org>
50321
50322         * modules/visibility (License): Change to 'unlimited'.
50323         Suggested by Simon Josefsson.
50324
50325 2009-03-03  Jim Meyering  <meyering@redhat.com>
50326
50327         unlinkdir: cannot_unlink_dir may modify process state
50328         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
50329         it's neither thread-safe nor appropriate for use in a library.
50330
50331 2009-03-03  Eric Blake  <ebb9@byu.net>
50332
50333         test-closein: silence test under Darwin
50334         * tests/test-closein.sh: Ignore stderr from cat, since we don't
50335         care if it dies from EPIPE or EBADF.
50336
50337 2009-03-03  Bruno Haible  <bruno@clisp.org>
50338
50339         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
50340         earlier.
50341         * doc/visibility.texi: Fix @node and @section.
50342
50343 2009-03-03  Simon Josefsson  <simon@josefsson.org>
50344
50345         * doc/gnulib.texi: Link to sections for ld version script and
50346         visibility.
50347         * doc/visibility.texi: Add @node and @section.
50348         * modules/ld-version-script: New module.
50349         * m4/ld-version-script.m4: New file.
50350         * doc/ld-version-script.texi: New file.
50351
50352 2009-03-02  David Lutterkort  <lutter@redhat.com>
50353
50354         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
50355         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50356
50357 2009-03-02  Bruno Haible  <bruno@clisp.org>
50358
50359         * doc/visibility.texi: Mention libtool's -export-symbols option.
50360
50361 2009-03-02  Jim Meyering  <meyering@redhat.com>
50362
50363         announce-gen: new option: --no-print-checksums
50364         * build-aux/announce-gen (usage): Describe it.
50365         (print_checksums): Print a newline here, not in the [*] footnote.
50366         (main): Honor it.
50367
50368 2009-03-01  Bruno Haible  <bruno@clisp.org>
50369
50370         Use socklen_t in the native Windows replacements prototypes.
50371         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
50372         instead of 'int'.
50373         * lib/getsockopt.c (rpl_getsockopt): Likewise.
50374         * lib/setsockopt.c (rpl_setsockopt): Likewise.
50375         * modules/getsockopt (Depends-on): Add socklen.
50376         * modules/setsockopt (Depends-on): Add socklen.
50377
50378 2009-03-01  Bruno Haible  <bruno@clisp.org>
50379
50380         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
50381         least 4.2.
50382
50383 2009-03-01  Eric Blake  <ebb9@byu.net>
50384             Bruno Haible  <bruno@clisp.org>
50385
50386         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
50387         error messages.
50388         * lib/wait-process.c (wait_subprocess): Omit error message about
50389         deadly signal sent to the child of termsigp != NULL.
50390
50391 2009-03-01  Eric Blake  <ebb9@byu.net>
50392
50393         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
50394
50395 2009-03-01  Bruno Haible  <bruno@clisp.org>
50396
50397         Avoid a gcc warning.
50398         * tests/test-sched.c (b): Make global.
50399         Reported by Eric Blake.
50400
50401 2009-01-19  Martin Lambers  <marlam@marlam.de>
50402
50403         Provide POSIX semantics for socket timeout options on W32.
50404         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
50405         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
50406         * modules/setsockopt: Depend on sys_time module for struct timeval.
50407         * modules/getsockopt: Depend on sys_time module for struct timeval.
50408
50409 2009-03-01  Simon Josefsson  <simon@josefsson.org>
50410
50411         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
50412         __USE_GNU, for consistency with netdb.in.h.
50413         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50414
50415 2009-03-01  Bruno Haible  <bruno@clisp.org>
50416
50417         More support for FreeMiNT.
50418         * lib/fseeko.c (rpl_fseeko): Complete last commit.
50419         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50420
50421 2009-03-01  Bruno Haible  <bruno@clisp.org>
50422
50423         More support for FreeMiNT.
50424         * lib/fpurge.c (fpurge): Correct last commit.
50425         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50426
50427 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50428
50429         Fix unportable awk script in vc-list-files.
50430         * build-aux/vc-list-files: In the replacement awk script, use
50431         substr with a second argument of 1, not zero.
50432         Report by Simon Josefsson.
50433
50434 2009-02-28  Bruno Haible  <bruno@clisp.org>
50435
50436         More support for FreeMiNT.
50437         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
50438         to FreeMiNT today.
50439         * lib/fwriting.c (fwriting): Likewise.
50440         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
50441
50442 2009-02-28  Bruno Haible  <bruno@clisp.org>
50443
50444         * tests/test-freadseek.c (main): Disable test beyond end of file on
50445         FreeMiNT.
50446         * tests/test-ftello.c (main): Likewise.
50447         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50448
50449 2009-02-28  Bruno Haible  <bruno@clisp.org>
50450
50451         Add tentative support for FreeMiNT.
50452         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
50453         * lib/fpurge.c (fpurge): Likewise.
50454         * lib/freadable.c (freadable): Likewise.
50455         * lib/freading.c (freading): Likewise.
50456         * lib/freadptr.c (freadptr): Likewise.
50457         * lib/freadseek.c (freadptrinc): Likewise.
50458         * lib/fseeko.c (rpl_fseeko): Likewise.
50459         * lib/fseterr.c (fseterr): Likewise.
50460         * lib/fwritable.c (fwritable): Likewise.
50461         * lib/fwriting.c (fwriting): Likewise.
50462         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
50463         Hourihane.
50464         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50465
50466 2009-02-28  Bruno Haible  <bruno@clisp.org>
50467
50468         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
50469         SIGCHLD.
50470         Reported by Jim Meyering.
50471
50472 2009-02-28  Bruno Haible  <bruno@clisp.org>
50473
50474         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
50475         Mention the results of these tests on various platforms.
50476         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
50477         order.
50478         * doc/posix-functions/printf.texi: Likewise.
50479         * doc/posix-functions/snprintf.texi: Likewise.
50480         * doc/posix-functions/sprintf.texi: Likewise.
50481         * doc/posix-functions/vfprintf.texi: Likewise.
50482         * doc/posix-functions/vprintf.texi: Likewise.
50483         * doc/posix-functions/vsnprintf.texi: Likewise.
50484         * doc/posix-functions/vsprintf.texi: Likewise.
50485         * doc/glibc-functions/obstack_printf.texi: Likewise.
50486         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50487
50488 2009-02-28  Bruno Haible  <bruno@clisp.org>
50489
50490         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
50491         Reported by Loïc Minier <lool@dooz.org>.
50492
50493 2009-02-27  Bruno Haible  <bruno@clisp.org>
50494
50495         * gnulib-tool (func_import): Make the sed expression used to create the
50496         sed script for updating the .gitignore file POSIX compliant.
50497         Reported by Eric Blake.
50498
50499 2009-02-27  Bruno Haible  <bruno@clisp.org>
50500
50501         * gnulib-tool (sed): Don't alias as "sed --posix".
50502         Reported by Eric Blake.
50503
50504 2009-02-27  Bruno Haible  <bruno@clisp.org>
50505
50506         Avoid test link errors.
50507         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
50508         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
50509         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
50510         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
50511         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50512
50513 2009-02-27  Bruno Haible  <bruno@clisp.org>
50514
50515         Avoid spurious "(cached)" in configure output.
50516         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
50517         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
50518         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50519         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50520         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50521         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
50522         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50523         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
50524         Reported by Eric Blake.
50525
50526 2009-02-27  Eric Blake  <ebb9@byu.net>
50527
50528         printf: fix regression in previous patch
50529         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
50530
50531 2009-02-27  Bruno Haible  <bruno@clisp.org>
50532
50533         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
50534         value.
50535         * lib/stdint.in.h: Likewise.
50536         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
50537
50538 2009-02-27  Eric Blake  <ebb9@byu.net>
50539
50540         doc: mention more functions added in cygwin 1.7.0
50541         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
50542         addition.
50543         * doc/posix-functions/open_wmemstream.texi: Likewise.
50544         * doc/posix-functions/wcsnlen.texi: Likewise.
50545         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50546         * doc/posix-functions/wcstod.texi: Likewise.
50547         * doc/posix-functions/wcstof.texi: Likewise.
50548         * doc/posix-functions/wcstoimax.texi: Likewise.
50549         * doc/posix-functions/wcstok.texi: Likewise.
50550         * doc/posix-functions/wcstoumax.texi: Likewise.
50551
50552         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
50553         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
50554         * doc/posix-functions/fprintf.texi: Update.
50555         * doc/posix-functions/printf.texi: Update.
50556         * doc/posix-functions/snprintf.texi: Update.
50557         * doc/posix-functions/sprintf.texi: Update.
50558         * doc/posix-functions/vfprintf.texi: Update.
50559         * doc/posix-functions/vprintf.texi: Update.
50560         * doc/posix-functions/vsnprintf.texi: Update.
50561         * doc/posix-functions/vsprintf.texi: Update.
50562         * doc/glibc-functions/obstack_printf.texi: Update.
50563         * doc/glibc-functions/obstack_vprintf.texi: Update.
50564
50565 2009-02-26  Eric Blake  <ebb9@byu.net>
50566
50567         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
50568         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
50569         compilation bug by using runtime conversion.
50570         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
50571         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
50572         * modules/ceill-tests (Files): Use nan.h.
50573         * modules/floorl-tests (Files): Likewise.
50574         * modules/frexpl-tests (Files): Likewise.
50575         * modules/isnanl-tests (Files): Likewise.
50576         * modules/ldexpl-tests (Files): Likewise.
50577         * modules/roundl-tests (Files): Likewise.
50578         * modules/truncl-tests (Files): Likewise.
50579         * tests/test-ceill.c (main): Use a working NaN.
50580         * tests/test-floorl.c (main): Likewise.
50581         * tests/test-frexpl.c (main): Likewise.
50582         * tests/test-isnan.c (test_long_double): Likewise.
50583         * tests/test-isnanl.h (main): Likewise.
50584         * tests/test-ldexpl.h (main): Likewise.
50585         * tests/test-roundl.h (main): Likewise.
50586         * tests/test-truncl.h (main): Likewise.
50587         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
50588
50589 2009-02-26  Eric Blake  <ebb9@byu.net>
50590             Bruno Haible  <bruno@clisp.org>
50591
50592         Work around a *printf bug with %ls on Solaris.
50593         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
50594         precision is specified, sprintf stops converting the wide string
50595         argument when the number of bytes that have been produced by this
50596         conversion equals or exceeds the precision.
50597         * doc/posix-functions/fprintf.texi: Update.
50598         * doc/posix-functions/printf.texi: Update.
50599         * doc/posix-functions/snprintf.texi: Update.
50600         * doc/posix-functions/sprintf.texi: Update.
50601         * doc/posix-functions/vfprintf.texi: Update.
50602         * doc/posix-functions/vprintf.texi: Update.
50603         * doc/posix-functions/vsnprintf.texi: Update.
50604         * doc/posix-functions/vsprintf.texi: Update.
50605         * doc/glibc-functions/obstack_printf.texi: Update.
50606         * doc/glibc-functions/obstack_vprintf.texi: Update.
50607
50608 2009-02-26  Eric Blake  <ebb9@byu.net>
50609
50610         stdlib: favor compiler check of random.h
50611         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
50612         to avoid an ObjC random.h installed by Swarm.
50613
50614 2009-02-26  Bruno Haible  <bruno@clisp.org>
50615
50616         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
50617         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
50618         Reported by Gary V. Vaughan <gary@gnu.org>.
50619
50620 2009-02-26  Bruno Haible  <bruno@clisp.org>
50621
50622         Fix *printf behaviour regarding the %ls directive.
50623         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
50624         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
50625         NEED_PRINTF_DIRECTIVE_LS.
50626         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
50627         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50628         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50629         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
50630         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
50631         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
50632         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50633         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50634         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50635         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50636         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50637         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
50638         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50639         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50640         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50641         * doc/posix-functions/fprintf.texi: Update.
50642         * doc/posix-functions/printf.texi: Update.
50643         * doc/posix-functions/snprintf.texi: Update.
50644         * doc/posix-functions/sprintf.texi: Update.
50645         * doc/posix-functions/vfprintf.texi: Update.
50646         * doc/posix-functions/vprintf.texi: Update.
50647         * doc/posix-functions/vsnprintf.texi: Update.
50648         * doc/posix-functions/vsprintf.texi: Update.
50649         * doc/glibc-functions/obstack_printf.texi: Update.
50650         * doc/glibc-functions/obstack_vprintf.texi: Update.
50651         Reported by Eric Blake.
50652
50653 2009-02-25  Bruno Haible  <bruno@clisp.org>
50654
50655         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
50656         with known value.
50657         Reported by Gary V. Vaughan <gary@gnu.org>.
50658
50659 2009-02-25  Bruno Haible  <bruno@clisp.org>
50660
50661         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
50662         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
50663         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
50664         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
50665         Reported by Gary V. Vaughan <gary@gnu.org>.
50666
50667 2009-02-25  Bruno Haible  <bruno@clisp.org>
50668
50669         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
50670         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
50671         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
50672         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
50673         Reported by Gary V. Vaughan <gary@gnu.org>.
50674
50675 2009-02-25  Eric Blake  <ebb9@byu.net>
50676
50677         tests: skip fseek/ftell tests if ungetc is broken
50678         * m4/ungetc.m4: New file.
50679         * modules/fseek-tests: Split test, so ungetc dependency is
50680         separate from rest of test.
50681         * modules/fseeko-tests: Likewise.
50682         * modules/ftell-tests: Likewise.
50683         * modules/ftello-tests: Likewise.
50684         * tests/test-fseek.c (main): Isolate ungetc dependency.
50685         * tests/test-fseeko.c (main): Likewise.
50686         * tests/test-ftell.c (main): Likewise.
50687         * tests/test-ftello.c (main): Likewise.
50688         * tests/test-fseek2.sh: New file.
50689         * tests/test-fseeko2.sh: Likewise.
50690         * tests/test-ftell2.sh: Likewise.
50691         * tests/test-ftello2.sh: Likewise.
50692
50693 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
50694
50695         test-getaddrinfo: fix usage of skip return code 77
50696         * tests/test-gettaddrinfo.c: Return skip code 77 only
50697         for first occurrence of skip (4x77 is not 77)
50698
50699 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
50700
50701         strtod: avoid C99 decl-after-statement
50702         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
50703
50704 2009-02-24  Eric Blake  <ebb9@byu.net>
50705
50706         strtod: detect HP-UX 11.31 bug
50707         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
50708         Reported by Gary V. Vaughan.
50709
50710 2009-02-23  Bruno Haible  <bruno@clisp.org>
50711
50712         Fix invalid read past end of memory block.
50713         * lib/vasnprintf.c (DCHAR_SET): Define.
50714         (local_wcslen): Define only when needed.
50715         (local_strnlen, local_wcsnlen): New functions.
50716         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
50717         directives that involve a conversion ourselves.
50718         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
50719         wcsnlen, mbrtowc, wcrtomb.
50720         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
50721         * tests/test-vasprintf-posix.c (test_function): Likewise.
50722         * tests/test-snprintf-posix.h (test_function): Likewise.
50723         * tests/test-sprintf-posix.h (test_function): Likewise.
50724         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50725
50726 2009-02-22  Bruno Haible  <bruno@clisp.org>
50727
50728         Implement new clarified decomposition of Hangul syllables.
50729         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
50730         of type LTV, return only a pairwise decomposition.
50731         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
50732         Likewise.
50733         * tests/uninorm/test-decomposition.c (main): Updated expected result.
50734         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
50735         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
50736
50737 2009-02-22  Bruno Haible  <bruno@clisp.org>
50738
50739         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
50740         zero-length results and shrink excess allocated memory.
50741         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
50742         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
50743         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
50744         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
50745         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
50746         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
50747         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
50748         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
50749         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
50750         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
50751         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
50752         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
50753
50754 2009-02-21  Bruno Haible  <bruno@clisp.org>
50755
50756         * doc/gnulib.texi: Include safe-alloc.texi earlier.
50757         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
50758         spaces after a period. Put a space between a macro name and its
50759         argument list. Trivial rewordings.
50760         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
50761         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
50762         (main): Return 0 explicitly.
50763
50764 2009-02-21  Bruno Haible  <bruno@clisp.org>
50765
50766         Tests for module 'uninorm/filter'.
50767         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
50768         * modules/uninorm/filter-tests: New file.
50769
50770         New module 'uninorm/filter'.
50771         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
50772         uninorm_filter_flush, uninorm_filter_free): New declarations.
50773         * lib/uninorm/uninorm-filter.c: New file.
50774         * modules/uninorm/filter: New file.
50775
50776 2009-02-21  Bruno Haible  <bruno@clisp.org>
50777
50778         Tests for module 'uninorm/nfkc'.
50779         * tests/uninorm/test-nfkc.c: New file.
50780         * tests/uninorm/test-u8-nfkc.c: New file.
50781         * tests/uninorm/test-u16-nfkc.c: New file.
50782         * tests/uninorm/test-u32-nfkc.c: New file.
50783         * tests/uninorm/test-u32-nfkc-big.sh: New file.
50784         * tests/uninorm/test-u32-nfkc-big.c: New file.
50785         * modules/uninorm/nfkc-tests: New file.
50786
50787         New module 'uninorm/nfkc'.
50788         * lib/uninorm/nfkc.c: New file.
50789         * modules/uninorm/nfkc: New file.
50790
50791         Tests for module 'uninorm/nfkd'.
50792         * tests/uninorm/test-nfkd.c: New file.
50793         * tests/uninorm/test-u8-nfkd.c: New file.
50794         * tests/uninorm/test-u16-nfkd.c: New file.
50795         * tests/uninorm/test-u32-nfkd.c: New file.
50796         * tests/uninorm/test-u32-nfkd-big.sh: New file.
50797         * tests/uninorm/test-u32-nfkd-big.c: New file.
50798         * modules/uninorm/nfkd-tests: New file.
50799
50800         New module 'uninorm/nfkd'.
50801         * lib/uninorm/nfkd.c: New file.
50802         * modules/uninorm/nfkd: New file.
50803
50804         Tests for module 'uninorm/nfc'.
50805         * tests/uninorm/test-nfc.c: New file.
50806         * tests/uninorm/test-u8-nfc.c: New file.
50807         * tests/uninorm/test-u16-nfc.c: New file.
50808         * tests/uninorm/test-u32-nfc.c: New file.
50809         * tests/uninorm/test-u32-nfc-big.sh: New file.
50810         * tests/uninorm/test-u32-nfc-big.c: New file.
50811         * modules/uninorm/nfc-tests: New file.
50812
50813         New module 'uninorm/nfc'.
50814         * lib/uninorm/nfc.c: New file.
50815         * modules/uninorm/nfc: New file.
50816
50817         Tests for module 'uninorm/nfd'.
50818         * tests/uninorm/test-nfd.c: New file.
50819         * tests/uninorm/test-u8-nfd.c: New file.
50820         * tests/uninorm/test-u16-nfd.c: New file.
50821         * tests/uninorm/test-u32-nfd.c: New file.
50822         * tests/uninorm/test-u32-nfd-big.sh: New file.
50823         * tests/uninorm/test-u32-nfd-big.c: New file.
50824         * tests/uninorm/test-u32-normalize-big.h: New file.
50825         * tests/uninorm/test-u32-normalize-big.c: New file.
50826         * tests/uninorm/NormalizationTest.txt: New file, created from
50827         Unicode 5.1.0 NormalizationTest.txt.
50828         * modules/uninorm/nfd-tests: New file.
50829
50830         New module 'uninorm/nfd'.
50831         * lib/uninorm/nfd.c: New file.
50832         * modules/uninorm/nfd: New file.
50833
50834         New module 'uninorm/u32-normalize'.
50835         * lib/uninorm/u32-normalize.c: New file.
50836         * modules/uninorm/u32-normalize: New file.
50837
50838         New module 'uninorm/u16-normalize'.
50839         * lib/uninorm/u16-normalize.c: New file.
50840         * modules/uninorm/u16-normalize: New file.
50841
50842         New module 'uninorm/u8-normalize'.
50843         * lib/uninorm/u8-normalize.c: New file.
50844         * lib/uninorm/normalize-internal.h: New file.
50845         * lib/uninorm/u-normalize-internal.h: New file.
50846         * modules/uninorm/u8-normalize: New file.
50847
50848         New module 'uninorm/decompose-internal'.
50849         * lib/uninorm/decompose-internal.c: New file.
50850         * modules/uninorm/decompose-internal: New file.
50851
50852         Tests for module 'uninorm/composition'.
50853         * tests/uninorm/test-composition.c: New file.
50854         * modules/uninorm/composition-tests: New file.
50855
50856         New module 'uninorm/composition'.
50857         * lib/uninorm/composition.c: New file.
50858         * lib/uninorm/composition-table.gperf: New file, generated by
50859         gen-uni-tables.
50860         * modules/uninorm/composition: New file.
50861
50862         Tests for module 'uninorm/compat-decomposition'.
50863         * tests/uninorm/test-compat-decomposition.c: New file.
50864         * modules/uninorm/compat-decomposition-tests: New file.
50865
50866         New module 'uninorm/compat-decomposition'.
50867         * lib/uninorm/decompose-internal.h: New file.
50868         * lib/uninorm/compat-decomposition.c: New file.
50869         * modules/uninorm/compat-decomposition: New file.
50870
50871         Tests for module 'uninorm/canonical-decomposition'.
50872         * tests/uninorm/test-canonical-decomposition.c: New file.
50873         * modules/uninorm/canonical-decomposition-tests: New file.
50874
50875         New module 'uninorm/canonical-decomposition'.
50876         * lib/uninorm/canonical-decomposition.c: New file.
50877         * modules/uninorm/canonical-decomposition: New file.
50878
50879         Tests for module 'uninorm/decomposition'.
50880         * tests/uninorm/test-decomposition.c: New file.
50881         * modules/uninorm/decomposition-tests: New file.
50882
50883         New module 'uninorm/decomposition'.
50884         * lib/uninorm/decomposition.c: New file.
50885         * modules/uninorm/decomposition: New file.
50886
50887         New module 'uninorm/decomposition-table'.
50888         * lib/uninorm/decomposition-table.h: New file.
50889         * lib/uninorm/decomposition-table.c: New file.
50890         * lib/uninorm/decomposition-table1.h: New file, generated by
50891         gen-uni-tables.
50892         * lib/uninorm/decomposition-table2.h: New file, generated by
50893         gen-uni-tables.
50894         * modules/uninorm/decomposition-table: New file.
50895
50896         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
50897         (UC_DECOMP_*): New enumeration items.
50898         (get_decomposition): New function.
50899         (struct decomp_table): New type.
50900         (output_decomposition, output_decomposition_tables): New functions.
50901         (unicode_composition_exclusions): New variable.
50902         (fill_composition_exclusions, debug_output_composition_tables): New
50903         functions.
50904         (main): Accept one more argument. Invoke fill_composition_exclusions.
50905         Output decomposition and composition tables.
50906
50907         New module 'uninorm/base'.
50908         * lib/uninorm.h: New file.
50909         * lib/unictype.h: Update comment.
50910         * modules/uninorm/base: New file.
50911
50912 2009-02-21  David Lutterkort  <lutter@redhat.com>
50913
50914         Tests for module 'safe-alloc'.
50915         * tests/test-safe-alloc.c: New file.
50916         * modules/safe-alloc-tests: New file.
50917
50918         New module 'safe-alloc'.
50919         * lib/safe-alloc.h: New file.
50920         * lib/safe-alloc.c: New file.
50921         * m4/safe-alloc.m4: New file.
50922         * modules/safe-alloc: New file.
50923         * doc/safe-alloc.texi: New file.
50924         * doc/gnulib.texi: Include it.
50925         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
50926         safe-alloc.
50927
50928 2009-02-18  Bruno Haible  <bruno@clisp.org>
50929
50930         Fix link error on non-glibc systems.
50931         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
50932         variable.
50933         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50934
50935 2009-02-18  Jim Meyering  <meyering@redhat.com>
50936
50937         fts: avoid used-uninitialized error due to recent change
50938         * lib/fts.c (fts_read): Guard uses of the new member,
50939         parent->fts_n_dirs_remaining, since it's not relevant for
50940         the parent of a directory specified on the command-line.
50941
50942 2009-02-17  James Youngman  <jay@gnu.org>
50943             Bruno Haible  <bruno@clisp.org>
50944
50945         * m4/include_next.m4: Reformulate comment.
50946
50947 2009-02-16  Jim Meyering  <meyering@redhat.com>
50948
50949         fts: add #if guards so that the fts_lgpl module still builds
50950         * lib/fts.c: Guard just-added hash-table-using parts with
50951         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
50952         Reported by Simon Josefsson.
50953
50954 2009-02-15  Bruno Haible  <bruno@clisp.org>
50955
50956         * modules/array-mergesort-tests: New file.
50957         * tests/test-array-mergesort.c: New file.
50958
50959         New module 'array-mergesort'.
50960         * modules/array-mergesort: New file.
50961         * lib/array-mergesort.h: New file.
50962
50963 2009-02-15  Bruno Haible  <bruno@clisp.org>
50964
50965         Fix 2009-02-07 commit.
50966         * lib/gen-uni-tables.c (output_predicate, output_category,
50967         output_combclass, output_bidi_category, output_decimal_digit,
50968         output_digit, output_numeric, output_mirror, output_scripts,
50969         output_ident_category, output_simple_mapping): Fix format directives.
50970         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
50971
50972 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
50973
50974         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
50975         fixes are available from IBM.
50976
50977 2009-02-13  Jim Meyering  <meyering@redhat.com>
50978
50979         fts: arrange not to stat non-directories in more cases
50980         This makes GNU find (when it doesn't need to stat each file)
50981         *much* more efficient at traversing reiserfs file systems.
50982         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
50983         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
50984         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
50985         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
50986         (leaf_optimization_applies): New function.
50987         (LCO_hash, LCO_compare): New helper functions.
50988         (link_count_optimize_ok): New function.
50989         (fts_stat): Initialize new member (if dir).
50990         (fts_read): Decrement parent's fts_n_dirs_remaining count if
50991         we've just stat'ed a directory.  Skip the stat call when possible.
50992         ---
50993         Note this AFS-related exchange:
50994         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
50995         and note find's pioctl call in find/fstype.c.
50996         But that is necessary only if you want to enable the
50997         optimization for AFS, and for now, I don't.
50998
50999         fts: move a function definition "up" (no semantic change)
51000         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
51001         "up" to precede upcoming use of a related function.
51002
51003 2009-02-11  Jim Meyering  <meyering@redhat.com>
51004
51005         fts: correct internal computation of nlinks (optimization-related)
51006         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
51007         whether the current entry is a directory, so don't test it.
51008
51009 2009-02-10  Bruno Haible  <bruno@clisp.org>
51010
51011         Tests for module 'uniwbrk/ulc-wordbreaks'.
51012         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
51013         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
51014         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
51015
51016         Tests for module 'uniwbrk/u32-wordbreaks'.
51017         * modules/uniwbrk/u32-wordbreaks-tests: New file.
51018         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
51019
51020         Tests for module 'uniwbrk/u16-wordbreaks'.
51021         * modules/uniwbrk/u16-wordbreaks-tests: New file.
51022         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
51023
51024         Tests for module 'uniwbrk/u8-wordbreaks'.
51025         * modules/uniwbrk/u8-wordbreaks-tests: New file.
51026         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
51027
51028 2009-02-10  Bruno Haible  <bruno@clisp.org>
51029
51030         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
51031         property.
51032         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
51033         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
51034         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
51035
51036 2009-02-10  Simon Josefsson  <simon@josefsson.org>
51037
51038         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
51039         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
51040
51041 2009-02-10  Bruno Haible  <bruno@clisp.org>
51042
51043         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
51044         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
51045         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
51046         * lib/unilbrk/u8-possible-linebreaks.c: Update.
51047         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
51048         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
51049
51050 2009-02-09  Simon Josefsson  <simon@josefsson.org>
51051
51052         * lib/sockets.h (gl_fd_to_handle): New function.
51053
51054         * tests/test-sockets.c: Call gl_fd_to_handle.
51055
51056 2009-02-09  Bruno Haible  <bruno@clisp.org>
51057
51058         * doc/havelib.texi: Document the conventions on bi-arch systems.
51059
51060 2009-02-08  Bruno Haible  <bruno@clisp.org>
51061
51062         Document the AC_LIB_LINKFLAGS macro.
51063         * doc/havelib.texi: New file, mostly written on 2005-05-24.
51064         * doc/gnulib.texi: Include it.
51065
51066 2009-02-08  Bruno Haible  <bruno@clisp.org>
51067
51068         Fix wrong order of sections, compared to TOC.
51069         * doc/gnulib.texi: Include relocatable-maint.texi after the
51070         "Regular expressions" node, not before.
51071
51072 2009-02-08  Bruno Haible  <bruno@clisp.org>
51073
51074         Tests for module 'unicase/totitle'.
51075         * modules/unicase/totitle-tests: New file.
51076
51077         Tests for module 'unicase/tolower'.
51078         * modules/unicase/tolower-tests: New file.
51079
51080         Tests for module 'unicase/toupper'.
51081         * modules/unicase/toupper-tests: New file.
51082         * tests/unicase/test-mapping-part1.h: New file.
51083         * tests/unicase/test-mapping-part2.h: New file.
51084
51085         New module 'unicase/totitle'.
51086         * modules/unicase/totitle: New file.
51087         * lib/unicase/totitle.c: New file.
51088
51089         New module 'unicase/tolower'.
51090         * modules/unicase/tolower: New file.
51091         * lib/unicase/tolower.c: New file.
51092
51093         New module 'unicase/toupper'.
51094         * modules/unicase/toupper: New file.
51095         * lib/unicase/toupper.c: New file.
51096         * lib/unicase/simple-mapping.h: New file.
51097
51098         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
51099         (mapping_table): New structure.
51100         (output_simple_mapping): New function.
51101         (main): Invoke output_simple_mapping_test and output_simple_mapping.
51102         * modules/gen-uni-tables (Description): Update.
51103         * lib/unicase/toupper.h: New file, automatically generated by
51104         gen-uni-tables.
51105         * lib/unicase/tolower.h: New file, automatically generated by
51106         gen-uni-tables.
51107         * lib/unicase/totitle.h: New file, automatically generated by
51108         gen-uni-tables.
51109         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
51110         gen-uni-tables.
51111         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
51112         gen-uni-tables.
51113         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
51114         gen-uni-tables.
51115
51116         New module 'unicase/base'.
51117         * modules/unicase/base: New file.
51118         * lib/unicase.h: New file.
51119
51120 2009-02-08  Bruno Haible  <bruno@clisp.org>
51121
51122         New module 'uniwbrk/ulc-wordbreaks'.
51123         * modules/uniwbrk/ulc-wordbreaks: New file.
51124         * lib/uniwbrk/ulc-wordbreaks.c: New file.
51125
51126         New module 'uniwbrk/u32-wordbreaks'.
51127         * modules/uniwbrk/u32-wordbreaks: New file.
51128         * lib/uniwbrk/u32-wordbreaks.c: New file.
51129
51130         New module 'uniwbrk/u16-wordbreaks'.
51131         * modules/uniwbrk/u16-wordbreaks: New file.
51132         * lib/uniwbrk/u16-wordbreaks.c: New file.
51133
51134         New module 'uniwbrk/u8-wordbreaks'.
51135         * modules/uniwbrk/u8-wordbreaks: New file.
51136         * lib/uniwbrk/u8-wordbreaks.c: New file.
51137         * lib/uniwbrk/u-wordbreaks.h: New file.
51138
51139         New module 'uniwbrk/table'.
51140         * modules/uniwbrk/table: New file.
51141         * lib/uniwbrk/wbrktable.h: New file.
51142         * lib/uniwbrk/wbrktable.c: New file.
51143
51144         New module 'uniwbrk/wordbreak-property'.
51145         * modules/uniwbrk/wordbreak-property: New file.
51146         * lib/uniwbrk/wordbreak-property.c: New file.
51147
51148         * lib/gen-uni-tables.c (WBP_*): New enum items.
51149         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
51150         (unicode_org_wbp): New variable.
51151         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
51152         New functions.
51153         (wbp_table): New structure.
51154         (output_wbp, output_wbrk_tables): New functions.
51155         (main): Accept additional argument. Invoke fill_org_wbp,
51156         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
51157         output_wbrk_tables.
51158         * modules/gen-uni-tables (Description): Update.
51159         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
51160         gen-uni-tables.
51161
51162         New module 'uniwbrk/base'.
51163         * modules/uniwbrk/base: New file.
51164         * lib/uniwbrk.h: New file.
51165
51166 2009-02-08  Bruno Haible  <bruno@clisp.org>
51167
51168         Update to Unicode 5.1.0.
51169         * lib/gen-uni-tables.c (is_property_alphabetic): Include
51170         U+2185..U+2188.
51171         (is_property_default_ignorable_code_point): Don't include characters
51172         of category Cc or Cs and not-a-characters.
51173         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
51174         U+0D79, U+109E, U+109F, U+A60C.
51175         * lib/unictype/bidi_of.h: Regenerated.
51176         * lib/unictype/blocks.h: Regenerated.
51177         * lib/unictype/categ_C.h: Regenerated.
51178         * lib/unictype/categ_Cf.h: Regenerated.
51179         * lib/unictype/categ_Cn.h: Regenerated.
51180         * lib/unictype/categ_L.h: Regenerated.
51181         * lib/unictype/categ_Ll.h: Regenerated.
51182         * lib/unictype/categ_Lm.h: Regenerated.
51183         * lib/unictype/categ_Lo.h: Regenerated.
51184         * lib/unictype/categ_Lu.h: Regenerated.
51185         * lib/unictype/categ_M.h: Regenerated.
51186         * lib/unictype/categ_Mc.h: Regenerated.
51187         * lib/unictype/categ_Me.h: Regenerated.
51188         * lib/unictype/categ_Mn.h: Regenerated.
51189         * lib/unictype/categ_N.h: Regenerated.
51190         * lib/unictype/categ_Nd.h: Regenerated.
51191         * lib/unictype/categ_Nl.h: Regenerated.
51192         * lib/unictype/categ_No.h: Regenerated.
51193         * lib/unictype/categ_P.h: Regenerated.
51194         * lib/unictype/categ_Pd.h: Regenerated.
51195         * lib/unictype/categ_Pe.h: Regenerated.
51196         * lib/unictype/categ_Pf.h: Regenerated.
51197         * lib/unictype/categ_Pi.h: Regenerated.
51198         * lib/unictype/categ_Po.h: Regenerated.
51199         * lib/unictype/categ_Ps.h: Regenerated.
51200         * lib/unictype/categ_S.h: Regenerated.
51201         * lib/unictype/categ_Sk.h: Regenerated.
51202         * lib/unictype/categ_Sm.h: Regenerated.
51203         * lib/unictype/categ_So.h: Regenerated.
51204         * lib/unictype/categ_of.h: Regenerated.
51205         * lib/unictype/combining.h: Regenerated.
51206         * lib/unictype/ctype_alnum.h: Regenerated.
51207         * lib/unictype/ctype_alpha.h: Regenerated.
51208         * lib/unictype/ctype_graph.h: Regenerated.
51209         * lib/unictype/ctype_lower.h: Regenerated.
51210         * lib/unictype/ctype_print.h: Regenerated.
51211         * lib/unictype/ctype_punct.h: Regenerated.
51212         * lib/unictype/ctype_upper.h: Regenerated.
51213         * lib/unictype/decdigit.h: Regenerated.
51214         * lib/unictype/digit.h: Regenerated.
51215         * lib/unictype/mirror.h: Regenerated.
51216         * lib/unictype/numeric.h: Regenerated.
51217         * lib/unictype/pr_alphabetic.h: Regenerated.
51218         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
51219         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
51220         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
51221         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
51222         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
51223         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
51224         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
51225         * lib/unictype/pr_combining.h: Regenerated.
51226         * lib/unictype/pr_dash.h: Regenerated.
51227         * lib/unictype/pr_decimal_digit.h: Regenerated.
51228         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
51229         * lib/unictype/pr_deprecated.h: Regenerated.
51230         * lib/unictype/pr_diacritic.h: Regenerated.
51231         * lib/unictype/pr_extender.h: Regenerated.
51232         * lib/unictype/pr_format_control.h: Regenerated.
51233         * lib/unictype/pr_grapheme_base.h: Regenerated.
51234         * lib/unictype/pr_grapheme_extend.h: Regenerated.
51235         * lib/unictype/pr_grapheme_link.h: Regenerated.
51236         * lib/unictype/pr_id_continue.h: Regenerated.
51237         * lib/unictype/pr_id_start.h: Regenerated.
51238         * lib/unictype/pr_ideographic.h: Regenerated.
51239         * lib/unictype/pr_ignorable_control.h: Regenerated.
51240         * lib/unictype/pr_lowercase.h: Regenerated.
51241         * lib/unictype/pr_math.h: Regenerated.
51242         * lib/unictype/pr_numeric.h: Regenerated.
51243         * lib/unictype/pr_other_alphabetic.h: Regenerated.
51244         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
51245         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
51246         * lib/unictype/pr_other_id_continue.h: Regenerated.
51247         * lib/unictype/pr_other_lowercase.h: Regenerated.
51248         * lib/unictype/pr_other_math.h: Regenerated.
51249         * lib/unictype/pr_punctuation.h: Regenerated.
51250         * lib/unictype/pr_sentence_terminal.h: Regenerated.
51251         * lib/unictype/pr_soft_dotted.h: Regenerated.
51252         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
51253         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
51254         * lib/unictype/pr_unified_ideograph.h: Regenerated.
51255         * lib/unictype/pr_uppercase.h: Regenerated.
51256         * lib/unictype/pr_xid_continue.h: Regenerated.
51257         * lib/unictype/pr_xid_start.h: Regenerated.
51258         * lib/unictype/pr_zero_width.h: Regenerated.
51259         * lib/unictype/scripts.h: Regenerated.
51260         * lib/unictype/scripts_byname.gperf: Regenerated.
51261         * lib/unictype/sy_java_ident.h: Regenerated.
51262         * lib/unilbrk/lbrkprop1.h: Regenerated.
51263         * lib/unilbrk/lbrkprop2.h: Regenerated.
51264         * tests/unictype/test-categ_C.c: Regenerated.
51265         * tests/unictype/test-categ_Cf.c: Regenerated.
51266         * tests/unictype/test-categ_Cn.c: Regenerated.
51267         * tests/unictype/test-categ_L.c: Regenerated.
51268         * tests/unictype/test-categ_Ll.c: Regenerated.
51269         * tests/unictype/test-categ_Lm.c: Regenerated.
51270         * tests/unictype/test-categ_Lo.c: Regenerated.
51271         * tests/unictype/test-categ_Lu.c: Regenerated.
51272         * tests/unictype/test-categ_M.c: Regenerated.
51273         * tests/unictype/test-categ_Mc.c: Regenerated.
51274         * tests/unictype/test-categ_Me.c: Regenerated.
51275         * tests/unictype/test-categ_Mn.c: Regenerated.
51276         * tests/unictype/test-categ_N.c: Regenerated.
51277         * tests/unictype/test-categ_Nd.c: Regenerated.
51278         * tests/unictype/test-categ_Nl.c: Regenerated.
51279         * tests/unictype/test-categ_No.c: Regenerated.
51280         * tests/unictype/test-categ_P.c: Regenerated.
51281         * tests/unictype/test-categ_Pd.c: Regenerated.
51282         * tests/unictype/test-categ_Pe.c: Regenerated.
51283         * tests/unictype/test-categ_Pf.c: Regenerated.
51284         * tests/unictype/test-categ_Pi.c: Regenerated.
51285         * tests/unictype/test-categ_Po.c: Regenerated.
51286         * tests/unictype/test-categ_Ps.c: Regenerated.
51287         * tests/unictype/test-categ_S.c: Regenerated.
51288         * tests/unictype/test-categ_Sk.c: Regenerated.
51289         * tests/unictype/test-categ_Sm.c: Regenerated.
51290         * tests/unictype/test-categ_So.c: Regenerated.
51291         * tests/unictype/test-ctype_alnum.c: Regenerated.
51292         * tests/unictype/test-ctype_alpha.c: Regenerated.
51293         * tests/unictype/test-ctype_graph.c: Regenerated.
51294         * tests/unictype/test-ctype_lower.c: Regenerated.
51295         * tests/unictype/test-ctype_print.c: Regenerated.
51296         * tests/unictype/test-ctype_punct.c: Regenerated.
51297         * tests/unictype/test-ctype_upper.c: Regenerated.
51298         * tests/unictype/test-decdigit.h: Regenerated.
51299         * tests/unictype/test-digit.h: Regenerated.
51300         * tests/unictype/test-numeric.h: Regenerated.
51301         * tests/unictype/test-pr_alphabetic.c: Regenerated.
51302         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
51303         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
51304         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
51305         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
51306         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
51307         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
51308         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
51309         * tests/unictype/test-pr_combining.c: Regenerated.
51310         * tests/unictype/test-pr_dash.c: Regenerated.
51311         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
51312         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
51313         * tests/unictype/test-pr_deprecated.c: Regenerated.
51314         * tests/unictype/test-pr_diacritic.c: Regenerated.
51315         * tests/unictype/test-pr_extender.c: Regenerated.
51316         * tests/unictype/test-pr_format_control.c: Regenerated.
51317         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
51318         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
51319         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
51320         * tests/unictype/test-pr_id_continue.c: Regenerated.
51321         * tests/unictype/test-pr_id_start.c: Regenerated.
51322         * tests/unictype/test-pr_ideographic.c: Regenerated.
51323         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
51324         * tests/unictype/test-pr_lowercase.c: Regenerated.
51325         * tests/unictype/test-pr_math.c: Regenerated.
51326         * tests/unictype/test-pr_numeric.c: Regenerated.
51327         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
51328         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
51329         Regenerated.
51330         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
51331         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
51332         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
51333         * tests/unictype/test-pr_other_math.c: Regenerated.
51334         * tests/unictype/test-pr_punctuation.c: Regenerated.
51335         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
51336         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
51337         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
51338         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
51339         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
51340         * tests/unictype/test-pr_uppercase.c: Regenerated.
51341         * tests/unictype/test-pr_xid_continue.c: Regenerated.
51342         * tests/unictype/test-pr_xid_start.c: Regenerated.
51343         * tests/unictype/test-pr_zero_width.c: Regenerated.
51344
51345         Update to Unicode 5.1.0.
51346         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
51347         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
51348         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
51349         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
51350         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
51351         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
51352         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
51353         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
51354         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
51355         (nonspacing_table_ind): Update.
51356         * tests/uniwidth/test-uc_width2.sh: Update expected result.
51357
51358         Update to Unicode 5.1.0.
51359         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
51360         code transform.
51361         * lib/uniname/uniname.c (unicode_character_name,
51362         unicode_name_character): Add the range 0x1Fxxx to the code transform.
51363         * lib/uniname/uninames.h: Regenerated.
51364         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
51365
51366 2009-02-07  Bruno Haible  <bruno@clisp.org>
51367
51368         Merge gen-ctype and gen-lbrk into a single program.
51369         * lib/gen-uni-tables.c: New file, incorporating
51370         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
51371         Add directory prefixes to the names of the generated files.
51372         * lib/unictype/gen-ctype.c: Remove file.
51373         * lib/unilbrk/gen-lbrk.c: Remove file.
51374         * modules/gen-uni-tables: New file.
51375         * modules/unictype/gen-ctype: Remove file.
51376         * modules/unilbrk/gen-lbrk: Remove file.
51377
51378 2009-02-07  Bruno Haible  <bruno@clisp.org>
51379
51380         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
51381
51382         New module 'unistr/u32-strcoll'.
51383         * modules/unistr/u32-strcoll: New file.
51384         * lib/unistr/u32-strcoll.c: New file.
51385
51386         New module 'unistr/u16-strcoll'.
51387         * modules/unistr/u16-strcoll: New file.
51388         * lib/unistr/u16-strcoll.c: New file.
51389
51390         New module 'unistr/u8-strcoll'.
51391         * modules/unistr/u8-strcoll: New file.
51392         * lib/unistr/u8-strcoll.c: New file.
51393         * lib/unistr/u-strcoll.h: New file.
51394
51395 2009-02-07  Bruno Haible  <bruno@clisp.org>
51396
51397         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
51398         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51399         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51400         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
51401         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
51402         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
51403
51404 2009-02-07  Bruno Haible  <bruno@clisp.org>
51405
51406         Make 64-bit clean.
51407         * lib/unictype/gen-ctype.c (output_predicate, output_category,
51408         output_combclass, output_bidi_category, output_decimal_digit,
51409         output_digit, output_numeric, output_mirror, output_scripts,
51410         output_ident_category): Use proper width specifier in format strings.
51411
51412 2009-02-07  Bruno Haible  <bruno@clisp.org>
51413
51414         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
51415         failure behaviour.
51416
51417 2009-02-07  Jim Meyering  <meyering@redhat.com>
51418
51419         regex: avoid compilation failure with upcoming gcc-4.4
51420         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
51421         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
51422         "... error: integer overflow in preprocessor expression".
51423
51424 2009-02-05  Ben Pfaff  <blp@gnu.org>
51425
51426         Fix link errors on Windows when close module is used.
51427         * modules/close: Add $(LIB_CLOSE) to Link section.
51428         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
51429         $(LIB_CLOSE) on Windows.
51430
51431 2009-02-05  Jim Meyering  <meyering@redhat.com>
51432
51433         still avoid unused-parameter warnings, but do it cleanly
51434         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
51435         (get_fs_usage): Cast to void instead.
51436         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
51437         (dev_from_mount_options, read_file_system_list): Cast to void.
51438         Prompted by Bruno Haible.
51439
51440 2009-02-04  Jim Meyering  <meyering@redhat.com>
51441
51442         fsusage.c: correct copyright year
51443         * lib/fsusage.c: Reflect year in which the change is pushed into
51444
51445         avoid misc. warnings
51446         * lib/fsusage.c (UNUSED_PARAM): Define.
51447         (get_fs_usage): Mark parameter "disk" as unused.
51448         * lib/getugroups.c (getgrent): Use "void" in prototype.
51449         * lib/mountlist.c: Mark unused parameters.
51450         (read_file_system_list): Declare a local with "const".
51451         * lib/nanosleep.c (getnow): Declare static.
51452         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
51453
51454         dirfd: set errno upon failure
51455         * lib/dirfd.c: Include <errno.h>.
51456         Set errno to ENOTSUP when returning -1.
51457         * modules/dirfd (Depends-on): Add errno.
51458         Suggested by John Kodis <kodis@comcast.net>.
51459
51460 2009-02-01  Bruno Haible  <bruno@clisp.org>
51461
51462         Don't assume sizeof (long) >= sizeof (void *).
51463         * lib/memcmp.c: Include stdint.h.
51464         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
51465         srcp2 to 'const byte *'.
51466         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
51467         types to uintptr_t.
51468         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
51469         * modules/memcmp (Depends-on): Add stdint.
51470         Reported by Ozkan Sezer <sezeroz@gmail.com>.
51471
51472 2009-01-30  Eric Blake  <ebb9@byu.net>
51473
51474         fix more require-before-expand issues
51475         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
51476         expand, AC_PROG_AWK.
51477         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
51478
51479 2009-01-28  Eric Blake  <ebb9@byu.net>
51480
51481         version-etc: use consistent URL formatting
51482         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
51483         Improve formatting.  Use fputs for string without %.
51484
51485 2009-01-28  Jim Meyering  <meyering@redhat.com>
51486
51487         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
51488         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
51489         "underquoted definition of NAME" from autoconf-2.59.
51490
51491 2009-01-28  Bruno Haible  <bruno@clisp.org>
51492
51493         * doc/gnulib.texi: Add "Obsolete modules" to index.
51494
51495 2009-01-28  Jim Meyering  <meyering@redhat.com>
51496
51497         useless-if-before-free: recognize more variants
51498         * build-aux/useless-if-before-free: Also recognize e.g.,
51499         if (NULL != p) free (p);
51500
51501 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
51502
51503         test-getaddrinfo: skip (don't fail) this test when there's no network
51504         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
51505         on the presumption that it means you lack network access.
51506
51507 2009-01-26  Jim Meyering  <meyering@redhat.com>
51508
51509         fflush: avoid warnings on modern systems
51510         * lib/fflush.c (rpl_fflush): Move declarations of locals,
51511         pos and result, into scopes where they're used.
51512
51513 2009-01-26  Eric Blake  <ebb9@byu.net>
51514
51515         Silence warning reintroduced by recent extensions patch.
51516         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
51517         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
51518         autoconf.
51519
51520         Backport improved autoconf semantics of AC_DEFUN_ONCE.
51521         * m4/00gnulib.m4: New file.
51522         * gnulib-tool (func_get_filelist): Always use it.
51523         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
51524         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
51525
51526 2009-01-25  Bruno Haible  <bruno@clisp.org>
51527
51528         Make test-quotearg work on MacOS X and AIX.
51529         * tests/test-quotearg.sh: New file.
51530         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
51531         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
51532         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
51533         include <libintl.h>.
51534         (fake_locale): Remove variable.
51535         (gettext, dgettext, dcgettext): Remove functions.
51536         (main): Instead of setting a fake locale, set a real locale. Call
51537         textdomain and bindtextdomain.
51538         * modules/quotearg-tests (Files): Add the new files.
51539         (Depends-on): Add gettext, setenv, unsetenv.
51540         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51541         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
51542         Augment TESTS_ENVIRONMENT.
51543
51544 2009-01-25  Bruno Haible  <bruno@clisp.org>
51545
51546         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
51547         fr_FR.ISO8859-1 locale on MacOS X.
51548         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
51549         ja_JP.eucJP locale on MacOS X.
51550         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
51551         zh_CN.GB18030 locale on MacOS X.
51552
51553 2009-01-25  Bruno Haible  <bruno@clisp.org>
51554
51555         Avoid link errors on MacOS X 10.3.
51556         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
51557         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
51558
51559 2009-01-25  Bruno Haible  <bruno@clisp.org>
51560
51561         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51562         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
51563         * modules/pipe (Files): Remove m4/posix_spawn.m4.
51564         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51565         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
51566         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51567         posix_spawnattr_init, posix_spawnattr_setsigmask,
51568         posix_spawnattr_setflags, posix_spawnattr_destroy.
51569
51570         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51571         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
51572         * modules/execute (Files): Remove m4/posix_spawn.m4.
51573         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51574         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51575         posix_spawnattr_init, posix_spawnattr_setsigmask,
51576         posix_spawnattr_setflags, posix_spawnattr_destroy.
51577
51578 2009-01-25  Bruno Haible  <bruno@clisp.org>
51579
51580         * lib/glthread/threadlib.c: Include <stdlib.h>.
51581
51582 2009-01-25  Bruno Haible  <bruno@clisp.org>
51583
51584         * lib/glthread/threadlib.c (dummy): New declaration.
51585
51586 2009-01-25  Bruno Haible  <bruno@clisp.org>
51587
51588         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
51589         multibyte characters also for the GB18030 encoding. Don't crash when
51590         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
51591
51592 2009-01-25  Bruno Haible  <bruno@clisp.org>
51593
51594         Avoid redefining 'struct random_data' on OSF/1 5.1.
51595         * lib/stdlib.in.h: Include <random.h> if it exists.
51596         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
51597         HAVE_RANDOM_H. Include <random.h> when testing whether
51598         'struct random_data' exists.
51599         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
51600
51601 2009-01-25  Bruno Haible  <bruno@clisp.org>
51602
51603         Don't install charset.alias on MacOS X >= 10.3.
51604         * lib/localcharset.c (DARWIN7): New macro.
51605         (get_charset_aliases): Hardcode the result for Darwin7.
51606         * modules/localcharset (install-exec-local): Don't install
51607         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
51608
51609 2009-01-25  Bruno Haible  <bruno@clisp.org>
51610
51611         Don't install charset.alias on mingw and Cygwin.
51612         * modules/localcharset (install-exec-local): Don't install
51613         charset.alias on mingw and Cygwin, if the file does not yet exist.
51614         The result for these platforms is hardcoded in localcharset.c.
51615
51616 2009-01-25  Bruno Haible  <bruno@clisp.org>
51617
51618         Make it possible again to use AC_GNU_SOURCE together with gnulib.
51619         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
51620         before requiring AC_USE_SYSTEM_EXTENSIONS.
51621
51622 2009-01-25  Jim Meyering  <meyering@redhat.com>
51623
51624         c-strtod: avoid warnings
51625         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
51626         "assignment discards qualifiers from pointer target type" warnings.
51627
51628 2009-01-24  Bruno Haible  <bruno@clisp.org>
51629
51630         Add support for non-UTF-8 locales on MacOS X.
51631         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
51632         canonical encodings. For Darwin 7 and newer, don't map traditional
51633         encodings to UTF-8.
51634         Reported by Vincent Lefevre <vincent@vinc17.org>
51635         at <http://savannah.gnu.org/bugs/?25235>.
51636
51637 2009-01-24  Bruno Haible  <bruno@clisp.org>
51638
51639         * doc/gnulib.texi (Obsolete modules): New section.
51640         Reported by Mike Frysinger <vapier@gentoo.org>.
51641
51642 2009-01-24  Bruno Haible  <bruno@clisp.org>
51643
51644         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
51645         (%.dvi): New rule.
51646
51647 2009-01-24  Bruno Haible  <bruno@clisp.org>
51648
51649         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
51650         Reported by Eric Blake.
51651
51652 2009-01-24  Bruno Haible  <bruno@clisp.org>
51653
51654         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
51655         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
51656         Reported by Gary V. Vaughan <gary@gnu.org>.
51657
51658 2009-01-24  Bruno Haible  <bruno@clisp.org>
51659
51660         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
51661
51662 2009-01-23  Bruno Haible  <bruno@clisp.org>
51663
51664         Make c-strtod, c-strtold usable in libraries.
51665         * lib/c-strtod.c: Include string.h instead of xalloc.h.
51666         (C_STRTOD): Call strdup instead of xstrdup.
51667         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
51668         * modules/c-strtold (Depends-on): Likewise.
51669         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
51670         * NEWS: Mention the change.
51671         Reported by Michael Gold <mgold@ncf.ca>.
51672
51673 2009-01-23  Jim Meyering  <meyering@redhat.com>
51674
51675         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
51676         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
51677         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
51678
51679 2009-01-23  Simon Josefsson  <simon@josefsson.org>
51680
51681         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
51682         GNU CoreUtils.
51683         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
51684         * modules/version-etc (Description): Update.
51685
51686 2009-01-22  Bruno Haible  <bruno@clisp.org>
51687
51688         Cache the C locale object.
51689         * lib/c-strtod.c (c_locale_cache): New variable.
51690         (c_locale): New function.
51691         (C_STRTOD): Use it, and don't call freelocale.
51692         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
51693         Suggested by Paolo Bonzini.
51694
51695 2009-01-21  Bruno Haible  <bruno@clisp.org>
51696
51697         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
51698         conditions other than overflow.
51699
51700 2009-01-21  Bruno Haible  <bruno@clisp.org>
51701
51702         * lib/c-strtod.c: Include errno.h.
51703         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
51704         value from STRTOD_L and STRTOD.
51705
51706 2009-01-21  Bruno Haible  <bruno@clisp.org>
51707         and Jim Meyering  <meyering@redhat.com>
51708
51709         nanosleep: skip configure test (fail it) for apple universal builds
51710         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
51711         universal builds, assume that nanosleep does not work.
51712         * modules/nanosleep (Depends-on): Add multiarch.
51713
51714         mktime: skip configure test (fail it) for apple universal builds
51715         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
51716         universal builds, assume that mktime does not work.
51717         * modules/mktime (Depends-on): Add multiarch.
51718
51719 2009-01-21  Eric Blake  <ebb9@byu.net>
51720
51721         multiarch: avoid expand-before-require warning
51722         * modules/multiarch (configure.ac): Require, rather than expand,
51723         gl_MULTIARCH.
51724         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
51725         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
51726         enforce that all clients require it.  Partial reversion of
51727         2008-12-29 patch.
51728
51729         error: avoid expand-before-require warning
51730         * modules/errno (configure.ac): Require, rather than expand,
51731         gl_HEADER_ERRNO_H.
51732         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
51733         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
51734         enforce that all clients require it.
51735
51736         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
51737         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
51738         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
51739         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
51740
51741 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
51742
51743         Revert:
51744         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51745
51746         regex: do not depend on obsolete modules.
51747         * modules/regex: Remove memcmp and memmove.
51748
51749 2009-01-20  Bruno Haible  <bruno@clisp.org>
51750
51751         Make the 'link' module link on Windows NT 4.
51752         * lib/link.c (_WIN32_WINNT): Don't define.
51753         (CreateHardLinkFuncType): New type.
51754         (CreateHardLinkFunc, initialized): New variables.
51755         (initialize): New function.
51756         (link): Invoke CreateHardLink indirectly through the function pointer.
51757
51758 2009-01-20  Bruno Haible  <bruno@clisp.org>
51759
51760         Fix compilation failure on mingw.
51761         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
51762
51763 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
51764
51765         * doc/c-strtod.texi: Mention a couple of restrictions.
51766
51767 2009-01-20  Jim Meyering  <meyering@redhat.com>
51768
51769         gettimeofday: move more declarations out of functions
51770         * lib/gettimeofday.c: Move extern declarations of tzset and
51771         gmtime out of containing functions.  Prompted by Bruno Haible.
51772
51773 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51774
51775         regex: do not depend on obsolete modules.
51776         * modules/regex: Remove memcmp and memmove.
51777
51778 2009-01-19  Bruno Haible  <bruno@clisp.org>
51779
51780         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51781         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
51782         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51783         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
51784         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
51785
51786 2009-01-19  Bruno Haible  <bruno@clisp.org>
51787
51788         * tests/test-link.c: Include <errno.h>.
51789         (main): Exit with code 77 when a hard link cannot be created due to
51790         the file system.
51791         * tests/test-link.sh: Skip test when a hard link cannot be created due
51792         to the file system.
51793         Suggested by Eric Blake.
51794
51795 2009-01-19  Martin Lambers  <marlam@marlam.de>
51796
51797         * modules/link-tests: New file.
51798         * tests/test-link.sh: New file.
51799         * tests/test-link.c: New file.
51800
51801 2009-01-19  Eric Blake  <ebb9@byu.net>
51802
51803         doc: mention another function added in cygwin 1.7.0
51804         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
51805         Another new function in cygwin 1.7.
51806
51807 2009-01-19  Bruno Haible  <bruno@clisp.org>
51808
51809         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51810         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
51811         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
51812         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51813         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
51814         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
51815         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
51816         * m4/md4.m4 (gl_MD4): Likewise.
51817         * m4/md5.m4 (gl_MD5): Likewise.
51818         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
51819         * m4/sha1.m4 (gl_SHA1): Likewise.
51820         * m4/sha256.m4 (gl_SHA256): Likewise.
51821         * m4/sha512.m4 (gl_SHA512): Likewise.
51822
51823 2009-01-19  Bruno Haible  <bruno@clisp.org>
51824
51825         * modules/uniname/uniname-tests (Depends-on): Add progname.
51826         * tests/uniname/test-uninames.c: Include progname.h.
51827         (main): Call set_program_name.
51828
51829         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
51830         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
51831         (main): Call set_program_name.
51832
51833         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
51834         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
51835         (main): Call set_program_name.
51836
51837         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
51838         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
51839         (main): Call set_program_name.
51840
51841         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
51842         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
51843         (main): Call set_program_name.
51844
51845         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
51846         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
51847         (main): Call set_program_name.
51848
51849         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
51850         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
51851         (main): Call set_program_name.
51852
51853         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
51854         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
51855         (main): Call set_program_name.
51856
51857         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
51858         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
51859         (main): Call set_program_name.
51860
51861 2009-01-19  Eric Blake  <ebb9@byu.net>
51862
51863         test-unistd: test previous patch
51864         * tests/test-unistd.c: Test *_FILENO macros.
51865
51866         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
51867         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51868         Guarantee a definition.
51869         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
51870         * modules/unistd-safer (Depends-on): Add dependency on unistd.
51871         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
51872         * lib/dup-safer.c (STDERR_FILENO): Likewise.
51873         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51874         Likewise.
51875         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
51876         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
51877         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51878         Likewise.
51879         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
51880         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
51881         (STDERR_FILENO): Likewise.
51882         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
51883         (STDERR_FILENO): Likewise.
51884         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
51885         (STDERR_FILENO): Likewise.
51886         Reported by Elbert Pol.
51887
51888 2009-01-19  Eric Blake  <ebb9@byu.net>
51889
51890         doc: mention more functions added in cygwin 1.7.0
51891         * doc/posix-functions/abort.texi (abort): Update wording related
51892         to cygwin.
51893         * doc/posix-functions/daylight.texi (daylight): Likewise.
51894         * doc/posix-functions/optarg.texi (optarg): Likewise.
51895         * doc/posix-functions/optarg.texi (opterr): Likewise.
51896         * doc/posix-functions/optarg.texi (optind): Likewise.
51897         * doc/posix-functions/optarg.texi (optopt): Likewise.
51898         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
51899         worked in 1.5.x, and was withdrawn in 1.7.
51900         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
51901         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
51902         cygwin versions.
51903         * doc/posix-functions/perror.texi (perror): Likewise.
51904         * doc/posix-functions/printf.texi (printf): Likewise.
51905         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
51906         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
51907         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
51908         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
51909         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51910         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
51911         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51912         Likewise.
51913         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51914         Likewise.
51915         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
51916         this function.
51917         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
51918         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
51919         Likewise.
51920         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
51921         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
51922         * doc/posix-functions/confstr.texi (confstr): Likewise.
51923         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
51924         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
51925         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
51926         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
51927         * doc/posix-functions/fputws.texi (fputws): Likewise.
51928         * doc/posix-functions/fwide.texi (fwide): Likewise.
51929         * doc/posix-functions/getwc.texi (getwc): Likewise.
51930         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
51931         * doc/posix-functions/putwc.texi (putwc): Likewise.
51932         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
51933         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
51934         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
51935         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
51936         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
51937         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
51938         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
51939         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
51940         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
51941         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
51942         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
51943
51944 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51945
51946         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
51947         * lib/ioctl.c: Include <sys/ioctl.h>.
51948
51949 2009-01-19  Simon Josefsson  <simon@josefsson.org>
51950
51951         * modules/getdate-tests (Depends-on): Add progname.
51952         * tests/test-getdate.c: Use progname module, to avoid link errors
51953         on non-glibc systems.
51954
51955 2009-01-18  Simon Josefsson  <simon@josefsson.org>
51956
51957         * modules/filenamecat-tests (Depends-on): Add progname.
51958         * modules/fstrcmp-tests (Depends-on): Likewise.
51959
51960         * tests/test-filenamecat.c: Use progname module, to avoid link
51961         errors on non-glibc systems.
51962         * tests/test-fstrcmp.c: Likewise.
51963
51964 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51965
51966         gettimeofday: avoid warning: nested extern declaration of 'localtime'
51967         * lib/gettimeofday.c: Move extern declaration out of function.
51968
51969 2009-01-18  Bruno Haible  <bruno@clisp.org>
51970
51971         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
51972         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
51973         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
51974
51975 2009-01-18  Bruno Haible  <bruno@clisp.org>
51976
51977         * lib/strftime.c (MEMPCPY): Remove unused macro.
51978         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
51979
51980 2009-01-18  Martin Lambers  <marlam@marlam.de>
51981
51982         New module 'link'.
51983         * lib/unistd.in.h (link): New declaration.
51984         * lib/link.c: New file.
51985         * m4/link.m4: New file.
51986         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
51987         HAVE_LINK.
51988         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
51989         * modules/link: New file.
51990         * doc/posix-functions/link.texi: Mention the new module.
51991
51992 2009-01-18  Bruno Haible  <bruno@clisp.org>
51993
51994         * tests/test-avltree_list.c (main): Call set_program_name.
51995         * tests/test-avltree_oset.c (main): Likewise.
51996         * tests/test-obstack-printf.c: Include progname.h.
51997         (main): Call set_program_name.
51998         * tests/test-quotearg.c: Include progname.h.
51999         (main): Call set_program_name.
52000         * tests/test-xmemdup0.c: Include progname.h.
52001         (main): Call set_program_name.
52002
52003 2009-01-18  Bruno Haible  <bruno@clisp.org>
52004
52005         New module 'alphasort'.
52006         * lib/dirent.in.h (alphasort): New declaration.
52007         * lib/alphasort.c: New file, from glibc with modifications.
52008         * m4/alphasort.m4: New file.
52009         * modules/alphasort: New file.
52010         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
52011         HAVE_ALPHASORT.
52012         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
52013         HAVE_ALPHASORT.
52014         * doc/posix-functions/alphasort.texi: Mention the new module and the
52015         portability problems.
52016
52017 2009-01-18  Bruno Haible  <bruno@clisp.org>
52018
52019         New module 'scandir'.
52020         * lib/dirent.in.h (scandir): New declaration.
52021         * lib/scandir.c: New file, from glibc with modifications.
52022         * m4/scandir.m4: New file.
52023         * modules/scandir: New file.
52024         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
52025         HAVE_SCANDIR.
52026         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
52027         HAVE_SCANDIR.
52028         * doc/posix-functions/scandir.texi: Mention the new module and the
52029         portability problems.
52030
52031 2009-01-17  Bruno Haible  <bruno@clisp.org>
52032
52033         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
52034         Update documentation.
52035         (func_remove_suffix): Escape all dots in the suffix. Update
52036         documentation.
52037         (func_filter_filelist): Update documentation.
52038         Reported by Ralf Wildenhues.
52039
52040 2009-01-17  Bruno Haible  <bruno@clisp.org>
52041
52042         * modules/dprintf-posix-tests: New file.
52043         * tests/test-dprintf-posix.sh: New file.
52044         * tests/test-dprintf-posix.c: New file.
52045
52046         New modules 'dprintf', 'dprintf-posix'.
52047         * lib/stdio.in.h (dprintf): New declaration.
52048         * lib/dprintf.c: New file.
52049         * m4/dprintf.m4: New file.
52050         * m4/dprintf-posix.m4: New file.
52051         * modules/dprintf: New file.
52052         * modules/dprintf-posix: New file.
52053         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
52054         HAVE_DPRINTF, REPLACE_DPRINTF.
52055         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
52056         HAVE_DPRINTF, REPLACE_DPRINTF.
52057         * doc/posix-functions/dprintf.texi: Mention the new modules.
52058
52059 2009-01-17  Bruno Haible  <bruno@clisp.org>
52060
52061         * modules/vdprintf-posix-tests: New file.
52062         * tests/test-vdprintf-posix.sh: New file.
52063         * tests/test-vdprintf-posix.c: New file.
52064
52065         New modules 'vdprintf', 'vdprintf-posix'.
52066         * lib/stdio.in.h (vdprintf): New declaration.
52067         * lib/vdprintf.c: New file.
52068         * m4/vdprintf.m4: New file.
52069         * m4/vdprintf-posix.m4: New file.
52070         * modules/vdprintf: New file.
52071         * modules/vdprintf-posix: New file.
52072         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
52073         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52074         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
52075         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52076         * doc/posix-functions/vdprintf.texi: Mention the new modules.
52077
52078 2009-01-17  Bruno Haible  <bruno@clisp.org>
52079
52080         Fix replacement of fopen on mingw.
52081         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
52082         mingw.
52083
52084 2009-01-17  Bruno Haible  <bruno@clisp.org>
52085
52086         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
52087         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
52088
52089 2009-01-17  Bruno Haible  <bruno@clisp.org>
52090
52091         Avoid test-fflush2.sh failure on mingw.
52092         * tests/test-fflush2.c: Include binary-io.h.
52093         (main): Put standard input into binary mode.
52094         * modules/fflush-tests (Depends-on): Add binary-io.
52095
52096 2009-01-17  Bruno Haible  <bruno@clisp.org>
52097
52098         * lib/wchar.in.h: In another particular situation, include only the
52099         system's <wchar.h> file.
52100         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
52101         Reported by Albert Chin-A-Young <china@thewrittenword.com>
52102         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
52103
52104 2009-01-17  Bruno Haible  <bruno@clisp.org>
52105
52106         Support for stripping executables in --enable-relocatable.
52107         * build-aux/install-reloc: Expect one more argument, or an environment
52108         variable RELOC_STRIP_PROG. If set, strip the destination program and
52109         its wrapper.
52110         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
52111         RELOC_STRIP_PROG.
52112         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
52113         to set RELOCATABLE_STRIP.
52114         * NEWS: Mention the new Makefile requirement.
52115
52116 2009-01-17  Bruno Haible  <bruno@clisp.org>
52117
52118         * build-aux/install-reloc: Remove debugging information left over by
52119         C compiler on MacOS X.
52120
52121 2009-01-17  Bruno Haible  <bruno@clisp.org>
52122
52123         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
52124         * lib/progreloc.c (find_executable): Fix type of pointer passed to
52125         _NSGetExecutablePath.
52126
52127 2009-01-16  Jim Meyering  <meyering@redhat.com>
52128
52129         strerror: avoid warnings about discarding "const"
52130         * lib/strerror.c (rpl_strerror): Instead of returning a const
52131         string from each and every "case", use a variable, and add a single
52132         cast after the switch.
52133
52134 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
52135
52136         * lib/arpa_inet.in.h: Add extern "C" block for C++.
52137
52138 2009-01-16  Bruno Haible  <bruno@clisp.org>
52139
52140         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
52141         array initializer syntax that also works in C++ mode.
52142         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52143
52144 2009-01-16  Jim Meyering  <meyering@redhat.com>
52145
52146         poll: suppress a warning
52147         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
52148         to ignore "...unsigned expression < 0 is always false" warnings.
52149
52150 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
52151
52152         poll: remove declarations of unused variables
52153         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
52154         sockbuf and optlen.
52155
52156 2009-01-15  Bruno Haible  <bruno@clisp.org>
52157
52158         Make fflush-after-ungetc POSIX compliant on BSD systems.
52159         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
52160         (clear_ungetc_buffer): Implement also for other systems.
52161         (rpl_fflush): On glibc systems, invoke
52162         clear_ungetc_buffer_preserving_position. Otherwise, invoke
52163         clear_ungetc_buffer after fetching the stream's position, not before.
52164
52165 2009-01-15  Bruno Haible  <bruno@clisp.org>
52166
52167         Make fflush-after-ungetc POSIX compliant on glibc systems.
52168         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
52169         after ungetc.
52170         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
52171         (rpl_fflush): On glibc systems, simply call the system's fflush
52172         function after clearing the ungetc buffer.
52173         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
52174         Instead, lseek only to the end of file, then use the system's fseeko
52175         for the rest. On glibc systems, reset the EOF indicator bit.
52176
52177 2009-01-15  Jim Meyering  <meyering@redhat.com>
52178
52179         openmp.m4: revert quote-adding change, for portability to older autoconf
52180         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
52181         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
52182         Simon Josefsson noticed the problem when using autoconf-2.61.
52183
52184 2009-01-15  Bruno Haible  <bruno@clisp.org>
52185
52186         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
52187         * tests/test-fflush2.c (ASSERT): Always fail.
52188         (main): Add two tests for fflush() after ungetc(), taking into account
52189         the Austin Group's clarification.
52190         Suggested by Eric Blake.
52191
52192 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
52193
52194         mktime.m4: remove K&R-style function prototypes
52195         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
52196         for the Sun C++ compiler.
52197
52198 2009-01-14  Bruno Haible  <bruno@clisp.org>
52199
52200         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
52201         while including <wchar.h>.
52202         * lib/wchar.in.h: In two particular situations on HP-UX, include only
52203         the system's <wchar.h> file.
52204         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52205
52206 2009-01-14  Bruno Haible  <bruno@clisp.org>
52207
52208         * m4/csharp.m4: Don't mention gettext on the serial number line.
52209         * m4/csharpexec.m4: Likewise.
52210         * m4/eaccess.m4: Likewise.
52211         * m4/javaexec.m4: Likewise.
52212         * m4/sig_atomic_t.m4: Likewise.
52213         * m4/tmpdir.m4: Likewise.
52214         * m4/intldir.m4: Bump gettext version.
52215         * m4/lib-ld.m4: Likewise.
52216
52217 2009-01-14  Bruno Haible  <bruno@clisp.org>
52218
52219         * lib/progname.c (set_program_name): Add more comments.
52220         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
52221
52222 2009-01-14  Simon Josefsson  <simon@josefsson.org>
52223
52224         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
52225         were sys/stat.h does not define it.
52226
52227 2009-01-14  Jim Meyering  <meyering@redhat.com>
52228
52229         many *.m4 files: improve m4 quoting
52230         99% of this change was performed by running the following commands:
52231         git ls-files | grep '\.m4$' | xargs perl -pi \
52232           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
52233           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52234           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52235           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
52236         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
52237         The remainder were to add Copyright dates, increment serial numbers,
52238         undo some changes in comments, exclude m4/intl.m4, and add quotes
52239         around the "1" in ",1" where the unusual spacing prohibited the
52240         above regexps from doing the job.  For more details, see
52241         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
52242         * m4/acl.m4: Modified.
52243         * m4/afs.m4: Likewise.
52244         * m4/alloca.m4: Likewise.
52245         * m4/argp.m4: Likewise.
52246         * m4/argz.m4: Likewise.
52247         * m4/atexit.m4: Likewise.
52248         * m4/bison-i18n.m4: Likewise.
52249         * m4/bison.m4: Likewise.
52250         * m4/byteswap.m4: Likewise.
52251         * m4/c-stack.m4: Likewise.
52252         * m4/c-strtod.m4: Likewise.
52253         * m4/calloc.m4: Likewise.
52254         * m4/canonicalize-lgpl.m4: Likewise.
52255         * m4/chown.m4: Likewise.
52256         * m4/clock_time.m4: Likewise.
52257         * m4/codeset.m4: Likewise.
52258         * m4/copy-file.m4: Likewise.
52259         * m4/csharp.m4: Likewise.
52260         * m4/csharpcomp.m4: Likewise.
52261         * m4/csharpexec.m4: Likewise.
52262         * m4/d-ino.m4: Likewise.
52263         * m4/d-type.m4: Likewise.
52264         * m4/dirfd.m4: Likewise.
52265         * m4/double-slash-root.m4: Likewise.
52266         * m4/eaccess.m4: Likewise.
52267         * m4/eealloc.m4: Likewise.
52268         * m4/environ.m4: Likewise.
52269         * m4/errno_h.m4: Likewise.
52270         * m4/euidaccess.m4: Likewise.
52271         * m4/execute.m4: Likewise.
52272         * m4/fatal-signal.m4: Likewise.
52273         * m4/fchdir.m4: Likewise.
52274         * m4/fcntl_h.m4: Likewise.
52275         * m4/fileblocks.m4: Likewise.
52276         * m4/filenamecat.m4: Likewise.
52277         * m4/findprog.m4: Likewise.
52278         * m4/flexmember.m4: Likewise.
52279         * m4/fnmatch.m4: Likewise.
52280         * m4/fopen.m4: Likewise.
52281         * m4/fpending.m4: Likewise.
52282         * m4/fprintf-posix.m4: Likewise.
52283         * m4/free.m4: Likewise.
52284         * m4/frexp.m4: Likewise.
52285         * m4/frexpl.m4: Likewise.
52286         * m4/fsusage.m4: Likewise.
52287         * m4/ftruncate.m4: Likewise.
52288         * m4/gc-camellia.m4: Likewise.
52289         * m4/gc-random.m4: Likewise.
52290         * m4/gc.m4: Likewise.
52291         * m4/getaddrinfo.m4: Likewise.
52292         * m4/getcwd-abort-bug.m4: Likewise.
52293         * m4/getcwd-path-max.m4: Likewise.
52294         * m4/getdate.m4: Likewise.
52295         * m4/getdomainname.m4: Likewise.
52296         * m4/getgroups.m4: Likewise.
52297         * m4/gethostname.m4: Likewise.
52298         * m4/gethrxtime.m4: Likewise.
52299         * m4/getline.m4: Likewise.
52300         * m4/getloadavg.m4: Likewise.
52301         * m4/getndelim2.m4: Likewise.
52302         * m4/getpass.m4: Likewise.
52303         * m4/gettext.m4: Likewise.
52304         * m4/gettime.m4: Likewise.
52305         * m4/gettimeofday.m4: Likewise.
52306         * m4/gnulib-common.m4: Likewise.
52307         * m4/group-member.m4: Likewise.
52308         * m4/host-os.m4: Likewise.
52309         * m4/iconv.m4: Likewise.
52310         * m4/iconv_open.m4: Likewise.
52311         * m4/inet_ntop.m4: Likewise.
52312         * m4/inet_pton.m4: Likewise.
52313         * m4/inline.m4: Likewise.
52314         * m4/intldir.m4: Likewise.
52315         * m4/intlmacosx.m4: Likewise.
52316         * m4/intmax.m4: Likewise.
52317         * m4/intmax_t.m4: Likewise.
52318         * m4/inttypes.m4: Likewise.
52319         * m4/inttypes_h.m4: Likewise.
52320         * m4/inttypes-pri.m4: Likewise.
52321         * m4/isapipe.m4: Likewise.
52322         * m4/isnand.m4: Likewise.
52323         * m4/isnanf.m4: Likewise.
52324         * m4/isnanl.m4: Likewise.
52325         * m4/javacomp.m4: Likewise.
52326         * m4/javaexec.m4: Likewise.
52327         * m4/jm-winsz1.m4: Likewise.
52328         * m4/jm-winsz2.m4: Likewise.
52329         * m4/lchown.m4: Likewise.
52330         * m4/lcmessage.m4: Likewise.
52331         * m4/ldexpl.m4: Likewise.
52332         * m4/lib-ld.m4: Likewise.
52333         * m4/lib-link.m4: Likewise.
52334         * m4/libsigsegv.m4: Likewise.
52335         * m4/link-follow.m4: Likewise.
52336         * m4/localcharset.m4: Likewise.
52337         * m4/locale-fr.m4: Likewise.
52338         * m4/locale-ja.m4: Likewise.
52339         * m4/locale-tr.m4: Likewise.
52340         * m4/locale-zh.m4: Likewise.
52341         * m4/lock.m4: Likewise.
52342         * m4/longlong.m4: Likewise.
52343         * m4/ls-mntd-fs.m4: Likewise.
52344         * m4/lstat.m4: Likewise.
52345         * m4/malloc.m4: Likewise.
52346         * m4/mathl.m4: Likewise.
52347         * m4/mbrtowc.m4: Likewise.
52348         * m4/mbstate_t.m4: Likewise.
52349         * m4/mbswidth.m4: Likewise.
52350         * m4/memchr.m4: Likewise.
52351         * m4/memcmp.m4: Likewise.
52352         * m4/memcpy.m4: Likewise.
52353         * m4/memmem.m4: Likewise.
52354         * m4/memmove.m4: Likewise.
52355         * m4/mempcpy.m4: Likewise.
52356         * m4/memrchr.m4: Likewise.
52357         * m4/memset.m4: Likewise.
52358         * m4/minmax.m4: Likewise.
52359         * m4/mkdir-slash.m4: Likewise.
52360         * m4/mkdtemp.m4: Likewise.
52361         * m4/mktime.m4: Likewise.
52362         * m4/mmap-anon.m4: Likewise.
52363         * m4/mountlist.m4: Likewise.
52364         * m4/nanosleep.m4: Likewise.
52365         * m4/nls.m4: Likewise.
52366         * m4/nocrash.m4: Likewise.
52367         * m4/open.m4: Likewise.
52368         * m4/openat.m4: Likewise.
52369         * m4/openmp.m4: Likewise.
52370         * m4/pathmax.m4: Likewise.
52371         * m4/perl.m4: Likewise.
52372         * m4/physmem.m4: Likewise.
52373         * m4/pipe.m4: Likewise.
52374         * m4/po.m4: Likewise.
52375         * m4/poll.m4: Likewise.
52376         * m4/posixtm.m4: Likewise.
52377         * m4/posixver.m4: Likewise.
52378         * m4/printf-frexp.m4: Likewise.
52379         * m4/printf-frexpl.m4: Likewise.
52380         * m4/printf-posix.m4: Likewise.
52381         * m4/printf-posix-rpl.m4: Likewise.
52382         * m4/printf.m4: Likewise.
52383         * m4/progtest.m4: Likewise.
52384         * m4/putenv.m4: Likewise.
52385         * m4/readline.m4: Likewise.
52386         * m4/readlink.m4: Likewise.
52387         * m4/readutmp.m4: Likewise.
52388         * m4/realloc.m4: Likewise.
52389         * m4/regex.m4: Likewise.
52390         * m4/relocatable.m4: Likewise.
52391         * m4/relocatable-lib.m4: Likewise.
52392         * m4/rename-dest-slash.m4: Likewise.
52393         * m4/rename.m4: Likewise.
52394         * m4/rmdir-errno.m4: Likewise.
52395         * m4/rmdir.m4: Likewise.
52396         * m4/roundf.m4: Likewise.
52397         * m4/roundl.m4: Likewise.
52398         * m4/rpmatch.m4: Likewise.
52399         * m4/save-cwd.m4: Likewise.
52400         * m4/selinux-selinux-h.m4: Likewise.
52401         * m4/setenv.m4: Likewise.
52402         * m4/settime.m4: Likewise.
52403         * m4/sig2str.m4: Likewise.
52404         * m4/sig_atomic_t.m4: Likewise.
52405         * m4/signalblocking.m4: Likewise.
52406         * m4/signbit.m4: Likewise.
52407         * m4/sigpipe.m4: Likewise.
52408         * m4/sockets.m4: Likewise.
52409         * m4/sockpfaf.m4: Likewise.
52410         * m4/st_dm_mode.m4: Likewise.
52411         * m4/stat-time.m4: Likewise.
52412         * m4/stdbool.m4: Likewise.
52413         * m4/stdint.m4: Likewise.
52414         * m4/stdint_h.m4: Likewise.
52415         * m4/stpcpy.m4: Likewise.
52416         * m4/stpncpy.m4: Likewise.
52417         * m4/strcase.m4: Likewise.
52418         * m4/strchrnul.m4: Likewise.
52419         * m4/strcspn.m4: Likewise.
52420         * m4/strdup.m4: Likewise.
52421         * m4/strftime.m4: Likewise.
52422         * m4/strndup.m4: Likewise.
52423         * m4/strnlen.m4: Likewise.
52424         * m4/strpbrk.m4: Likewise.
52425         * m4/strptime.m4: Likewise.
52426         * m4/strsep.m4: Likewise.
52427         * m4/strtod.m4: Likewise.
52428         * m4/strtoimax.m4: Likewise.
52429         * m4/strtok_r.m4: Likewise.
52430         * m4/strtol.m4: Likewise.
52431         * m4/strtoll.m4: Likewise.
52432         * m4/strtoul.m4: Likewise.
52433         * m4/strtoull.m4: Likewise.
52434         * m4/strtoumax.m4: Likewise.
52435         * m4/strverscmp.m4: Likewise.
52436         * m4/threadlib.m4: Likewise.
52437         * m4/timegm.m4: Likewise.
52438         * m4/tm_gmtoff.m4: Likewise.
52439         * m4/tmpdir.m4: Likewise.
52440         * m4/tmpfile.m4: Likewise.
52441         * m4/tzset.m4: Likewise.
52442         * m4/uintmax_t.m4: Likewise.
52443         * m4/unlinkdir.m4: Likewise.
52444         * m4/unlocked-io.m4: Likewise.
52445         * m4/uptime.m4: Likewise.
52446         * m4/userspec.m4: Likewise.
52447         * m4/utimbuf.m4: Likewise.
52448         * m4/utime.m4: Likewise.
52449         * m4/utimes-null.m4: Likewise.
52450         * m4/utimes.m4: Likewise.
52451         * m4/vararrays.m4: Likewise.
52452         * m4/vasnprintf.m4: Likewise.
52453         * m4/vfprintf-posix.m4: Likewise.
52454         * m4/vprintf-posix.m4: Likewise.
52455         * m4/wait-process.m4: Likewise.
52456         * m4/wchar_t.m4: Likewise.
52457         * m4/wint_t.m4: Likewise.
52458         * m4/write-any-file.m4: Likewise.
52459         * m4/yield.m4: Likewise.
52460
52461 2009-01-13  Bruno Haible  <bruno@clisp.org>
52462
52463         Avoid test-copy-file.sh failures when ACL support insufficient.
52464         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
52465         TESTS_ENVIRONMENT.
52466         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
52467         Reported by Jim Meyering.
52468
52469 2009-01-13  Bruno Haible  <bruno@clisp.org>
52470
52471         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
52472         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
52473         * modules/unistdio/u8-printf-parse (Files): Likewise.
52474         * modules/unistdio/u32-printf-parse (Files): Likewise.
52475         * modules/unistdio/ulc-printf-parse (Files): Likewise.
52476
52477 2009-01-13  Simon Josefsson  <simon@josefsson.org>
52478
52479         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
52480         and m4/inttypes_h.m4 too.
52481
52482 2009-01-12  Eric Blake  <ebb9@byu.net>
52483
52484         tests: IRIX 6.2 cc can't compile -0.0 into .data
52485         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
52486         rather than at compile-time.
52487         * tests/test-floorl.c (minus_zero): Likewise.
52488         * tests/test-frexpl.c (minus_zero): Likewise.
52489         * tests/test-isnan.c (minus_zerol): Likewise.
52490         * tests/test-isnanl.h (minus_zero): Likewise.
52491         * tests/test-ldexpl.c (minus_zero): Likewise.
52492         * tests/test-roundl.c (minus_zero): Likewise.
52493         * tests/test-signbit.c (minus_zerol): Likewise.
52494         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52495         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52496         * tests/test-truncl.c (minus_zero): Likewise.
52497         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52498         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52499         Reported by Tom G. Christensen and Nelson H. F. Beebe.
52500
52501 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52502
52503         regex: fix glibc bug 9697
52504         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
52505         handling.
52506
52507 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52508
52509         regex: fix glibc bug 697
52510         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
52511         being NULL also if there are no backreferences.
52512
52513 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52514
52515         regex: merge glibc changes
52516         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
52517         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
52518         re_string_skip_chars, re_string_reconstruct): Likewise.
52519         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
52520
52521 2009-01-07  Jim Meyering  <meyering@redhat.com>
52522
52523         poll: filter through cppi
52524         * lib/poll.c: Indent cpp directives to reflect nesting.
52525
52526 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
52527
52528         poll: don't return uninitialized
52529         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
52530
52531 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
52532
52533         avoid compile failure on AIX 6.1
52534         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
52535         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
52536
52537 2009-01-04  Jim Meyering  <meyering@redhat.com>
52538
52539         remove duplicate inclusion of <stdio.h>
52540         * tests/test-fprintf-posix.c: Likewise.
52541         * tests/test-printf-posix.c: Likewise.
52542         * tests/test-snprintf-posix.c: Likewise.
52543         * tests/test-sprintf-posix.c: Likewise.
52544         * tests/test-vasprintf-posix.c: Likewise.
52545         * tests/test-vfprintf-posix.c: Likewise.
52546         * tests/test-vprintf-posix.c: Likewise.
52547         * tests/test-vsnprintf-posix.c: Likewise.
52548         * tests/test-vsprintf-posix.c: Likewise.
52549
52550 2009-01-03  Jim Meyering  <meyering@redhat.com>
52551
52552         gnulib-tool: fix sed-based filtering
52553         * gnulib-tool (func_filter_filelist): Remove extra backslash
52554         in sed_fff_filter definition.
52555
52556 2009-01-02  Jim Meyering  <meyering@redhat.com>
52557
52558         strftime: avoid compilation failure on Solaris 2.6
52559         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
52560         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
52561         Don't #define mbrlen or mbsinit, since now they're guaranteed to
52562         be available.  Reported by Tom G. Christensen.  Details in
52563         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
52564
52565 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52566             Bruno Haible  <bruno@clisp.org>
52567
52568         Speed up gnulib-tool by doing more string processing through shell
52569         built-ins.
52570         * gnulib-tool (fast_func_append): New variable.
52571         (func_remove_prefix, func_remove_suffix): New functions.
52572         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
52573         (func_filter_filelist): New function.
52574         (func_get_dependencies): Use func_remove_suffix instead of sed.
52575         (func_get_automake_snippet): Use func_filter_filelist instead of a
52576         subshell and sed invocation.
52577
52578 2009-01-01  Bruno Haible  <bruno@clisp.org>
52579
52580         Fix a security bug.
52581         * gnulib-tool (func_import, import, update): Don't allow the characters
52582         '"', '$', '`', '\' in macro arguments that become part of commands that
52583         are evaluated.
52584
52585 2009-01-01  Bruno Haible  <bruno@clisp.org>
52586
52587         * gnulib-tool (func_reset_sigpipe): Add more comments.
52588
52589 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52590
52591         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
52592         func_emit_tests_Makefile_am, func_import): Abort loops early if we
52593         already know the answer.
52594
52595 2009-01-01  Jim Meyering  <meyering@redhat.com>
52596
52597         * lib/version-etc.c (version_etc_va): Update copyright year.
52598
52599 2008-12-30  Bruno Haible  <bruno@clisp.org>
52600
52601         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
52602         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
52603         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
52604
52605 2008-12-29  Eric Blake  <ebb9@byu.net>
52606
52607         multiarch: avoid autoconf AC_REQUIRE bug
52608         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
52609         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
52610         2.63 and older.
52611         Reported by Bruno Haible, and analyzed in
52612         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
52613
52614 2008-12-29  Bruno Haible  <bruno@clisp.org>
52615
52616         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
52617         files in subdirectories correctly.
52618         Reported by Ralf Wildenhues.
52619
52620 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52621
52622         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
52623         rather than 'join FILE -', for Solaris join.
52624
52625 2008-12-29  Bruno Haible  <bruno@clisp.org>
52626
52627         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
52628         quoting.
52629         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
52630         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
52631         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
52632         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
52633         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
52634         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
52635         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
52636         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
52637         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52638         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
52639         * m4/nls.m4 (AM_NLS): Likewise.
52640         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
52641         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
52642         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52643         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
52644         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
52645         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
52646         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
52647         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
52648         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
52649         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52650         * m4/xsize.m4 (gl_XSIZE): Likewise.
52651         Suggested by Jim Meyering.
52652
52653 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52654
52655         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
52656         * lib/parse-duration.c: use a switch instead of cascading if's.
52657
52658 2008-12-29  Eric Blake  <ebb9@byu.net>
52659
52660         wchar.h: supply WEOF on Irix 5.3
52661         * lib/wchar.in.h (wint_t): Also supply WEOF.
52662         * lib/wctype.in.h (wint_t): Likewise.
52663         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
52664         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
52665         Reported by Tom G. Christensen.
52666
52667 2008-12-26  Bruno Haible  <bruno@clisp.org>
52668
52669         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
52670         i486, i586, i686.
52671
52672 2008-12-26  Bruno Haible  <bruno@clisp.org>
52673
52674         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
52675
52676 2008-12-26  Bruno Haible  <bruno@clisp.org>
52677
52678         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
52679         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
52680         not __STDC_CONSTANT_MACROS.
52681         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52682
52683 2008-12-25  Bruno Haible  <bruno@clisp.org>
52684
52685         Add support for universal builds to vasnprintf.
52686         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
52687         universal builds, guess no.
52688         * modules/vasnprintf-posix (Depends-on): Add multiarch.
52689         * modules/vasprintf-posix (Depends-on): Likewise.
52690         * modules/fprintf-posix (Depends-on): Likewise.
52691         * modules/vfprintf-posix (Depends-on): Likewise.
52692         * modules/snprintf-posix (Depends-on): Likewise.
52693         * modules/vsnprintf-posix (Depends-on): Likewise.
52694         * modules/sprintf-posix (Depends-on): Likewise.
52695         * modules/vsprintf-posix (Depends-on): Likewise.
52696         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52697         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52698         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52699         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52700         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52701         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52702         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52703
52704         Add support for universal builds to <inttypes.h>.
52705         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
52706         _SCNu64_PREFIX): In Apple
52707         universal builds, define directly, using _LP64.
52708         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
52709         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
52710         * modules/inttypes (Depends-on): Add multiarch.
52711         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52712
52713         Add support for universal builds to <stdint.h>.
52714         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
52715         universal builds, define directly, using _LP64.
52716         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
52717         Apple universal builds, don't test for the size and suffix of ptrdiff_t
52718         and size_t.
52719         * modules/stdint (Depends-on): Add multiarch.
52720         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52721
52722         New module 'multiarch'.
52723         * modules/multiarch: New file.
52724         * m4/multiarch.m4: New file.
52725
52726 2008-12-25  Bruno Haible  <bruno@clisp.org>
52727
52728         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
52729
52730 2008-12-25  Bruno Haible  <bruno@clisp.org>
52731
52732         * modules/btowc (License): Relicense under LGPLv2+.
52733         * modules/mbsinit (License): Likewise.
52734         * modules/mbrtowc (License): Likewise.
52735         * modules/wcrtomb (License): Likewise.
52736         * modules/streq (License): Likewise.
52737         Reported by David Lutterkort <lutter@redhat.com>.
52738
52739 2008-12-23  Bruno Haible  <bruno@clisp.org>
52740
52741         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
52742
52743 2008-12-23  Bruno Haible  <bruno@clisp.org>
52744
52745         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
52746         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
52747         GETADDRINFO_LIB, not in LIBS.
52748         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
52749         * modules/canon-host (Link): Likewise.
52750         * NEWS: Mention the change.
52751         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
52752         GETADDRINFO_LIB.
52753
52754 2008-12-22  Bruno Haible  <bruno@clisp.org>
52755
52756         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
52757         * doc/posix-functions/iswalpha_l.texi: Likewise.
52758         * doc/posix-functions/iswblank_l.texi: Likewise.
52759         * doc/posix-functions/iswcntrl_l.texi: Likewise.
52760         * doc/posix-functions/iswctype_l.texi: Likewise.
52761         * doc/posix-functions/iswdigit_l.texi: Likewise.
52762         * doc/posix-functions/iswgraph_l.texi: Likewise.
52763         * doc/posix-functions/iswlower_l.texi: Likewise.
52764         * doc/posix-functions/iswprint_l.texi: Likewise.
52765         * doc/posix-functions/iswpunct_l.texi: Likewise.
52766         * doc/posix-functions/iswspace_l.texi: Likewise.
52767         * doc/posix-functions/iswupper_l.texi: Likewise.
52768         * doc/posix-functions/iswxdigit_l.texi: Likewise.
52769         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
52770         * doc/posix-functions/open_wmemstream.texi: Likewise.
52771         * doc/posix-functions/swscanf.texi: Likewise.
52772         * doc/posix-functions/towctrans_l.texi: Likewise.
52773         * doc/posix-functions/towlower.texi: Likewise.
52774         * doc/posix-functions/towlower_l.texi: Likewise.
52775         * doc/posix-functions/towupper.texi: Likewise.
52776         * doc/posix-functions/towupper_l.texi: Likewise.
52777         * doc/posix-functions/vfwprintf.texi: Likewise.
52778         * doc/posix-functions/vfwscanf.texi: Likewise.
52779         * doc/posix-functions/vswscanf.texi: Likewise.
52780         * doc/posix-functions/vwprintf.texi: Likewise.
52781         * doc/posix-functions/vwscanf.texi: Likewise.
52782         * doc/posix-functions/wcpcpy.texi: Likewise.
52783         * doc/posix-functions/wcpncpy.texi: Likewise.
52784         * doc/posix-functions/wcscasecmp.texi: Likewise.
52785         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
52786         * doc/posix-functions/wcscoll_l.texi: Likewise.
52787         * doc/posix-functions/wcsdup.texi: Likewise.
52788         * doc/posix-functions/wcsncasecmp.texi: Likewise.
52789         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
52790         * doc/posix-functions/wcsnlen.texi: Likewise.
52791         * doc/posix-functions/wcsnrtombs.texi: Likewise.
52792         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
52793         * doc/posix-functions/wctrans_l.texi: Likewise.
52794         * doc/posix-functions/wctype_l.texi: Likewise.
52795         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
52796         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
52797         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
52798         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
52799         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
52800         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
52801         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
52802         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
52803         * doc/glibc-functions/wcschrnul.texi: Likewise.
52804         * doc/glibc-functions/wcsftime_l.texi: Likewise.
52805         * doc/glibc-functions/wcstod_l.texi: Likewise.
52806         * doc/glibc-functions/wcstof_l.texi: Likewise.
52807         * doc/glibc-functions/wcstol_l.texi: Likewise.
52808         * doc/glibc-functions/wcstold_l.texi: Likewise.
52809         * doc/glibc-functions/wcstoll_l.texi: Likewise.
52810         * doc/glibc-functions/wcstoq.texi: Likewise.
52811         * doc/glibc-functions/wcstoul_l.texi: Likewise.
52812         * doc/glibc-functions/wcstoull_l.texi: Likewise.
52813         * doc/glibc-functions/wcstouq.texi: Likewise.
52814         * doc/glibc-functions/wmempcpy.texi: Likewise.
52815
52816 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
52817             Eric Blake  <ebb9@byu.net>
52818             Paolo Bonzini  <bonzini@gnu.org>
52819             Bruno Haible  <bruno@clisp.org>
52820
52821         Make c-stack work on Haiku.
52822         * lib/c-stack.c (SA_ONSTACK): Define fallback.
52823         (c_stack_action): Use SA_ONSTACK flag.
52824
52825 2008-12-22  Bruno Haible  <bruno@clisp.org>
52826
52827         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
52828
52829 2008-12-22  Bruno Haible  <bruno@clisp.org>
52830
52831         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
52832         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
52833         being overridden.
52834         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
52835         New macros.
52836         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
52837         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
52838         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
52839         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
52840
52841 2008-12-22  Bruno Haible  <bruno@clisp.org>
52842
52843         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
52844         from test code.
52845
52846 2008-12-22  Eric Blake  <ebb9@byu.net>
52847
52848         Avoid gcc warnings on cygwin.
52849         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
52850         Avoid unused variable.
52851         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
52852         Likewise.
52853
52854 2008-12-22  Bruno Haible  <bruno@clisp.org>
52855
52856         Remove HAVE_MBRTOWC conditionals.
52857         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
52858         (mbscasecmp): Assume mbrtowc function.
52859         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
52860         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
52861         * lib/mbschr.c: Include mbuiter.h unconditionally.
52862         (mbschr): Assume mbrtowc function.
52863         * lib/mbscspn.c: Include mbuiter.h unconditionally.
52864         (mbscspn): Assume mbrtowc function.
52865         * lib/mbslen.c: Include mbuiter.h unconditionally.
52866         (mbslen): Assume mbrtowc function.
52867         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
52868         (mbsncasecmp): Assume mbrtowc function.
52869         * lib/mbsnlen.c: Include mbiter.h unconditionally.
52870         (mbsnlen): Assume mbrtowc function.
52871         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
52872         (mbspbrk): Assume mbrtowc function.
52873         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
52874         (mbspcasecmp): Assume mbrtowc function.
52875         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
52876         (mbsrchr): Assume mbrtowc function.
52877         * lib/mbssep.c: Include mbuiter.h unconditionally.
52878         (mbssep): Assume mbrtowc function.
52879         * lib/mbsspn.c: Include mbuiter.h unconditionally.
52880         (mbsspn): Assume mbrtowc function.
52881         * lib/mbsstr.c: Include mbuiter.h unconditionally.
52882         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
52883         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
52884         (mbstok_r): Assume mbrtowc function.
52885         * lib/propername.c: Include mbuiter.h unconditionally.
52886         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
52887         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
52888         (trim2): Assume mbrtowc function.
52889         * lib/mbswidth.c (mbsinit): Remove fallback definition.
52890         (mbsnwidth): Assume mbrtowc function.
52891         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
52892         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
52893         fallback definitions.
52894         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
52895
52896 2008-12-22  Bruno Haible  <bruno@clisp.org>
52897
52898         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
52899
52900 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
52901
52902         * modules/regex: Request emulations for the mb*/wc* functions we need.
52903         * m4/regex.m4: Don't look for those functions here.
52904         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
52905
52906 2008-12-22  Bruno Haible  <bruno@clisp.org>
52907
52908         * modules/fnmatch (Depends-on): Remove duplicated dependency.
52909
52910 2008-12-21  Bruno Haible  <bruno@clisp.org>
52911
52912         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
52913         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
52914         (Include): Remove conditionalization.
52915         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
52916         (Include): Remove conditionalization.
52917         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
52918         (Include): Remove conditionalization.
52919         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
52920         * m4/mbfile.m4 (gl_MBFILE): Likewise.
52921         * NEWS: Mention the change.
52922         Reported by Alan Hourihane <alanh@fairlite.co.uk>
52923         via Sergey Poznyakoff <gray@gnu.org.ua>.
52924
52925 2008-12-21  Bruno Haible  <bruno@clisp.org>
52926
52927         * MODULES.html.sh (Extended multibyte and wide character utilities
52928         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
52929         wcrtomb, wcsrtombs.
52930         (Support for systems lacking POSIX:2008): Add accept, bind, close,
52931         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
52932         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
52933         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
52934
52935 2008-12-21  Bruno Haible  <bruno@clisp.org>
52936
52937         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
52938
52939 2008-12-21  Bruno Haible  <bruno@clisp.org>
52940
52941         * modules/wcsnrtombs-tests: New file.
52942         * tests/test-wcsnrtombs1.sh: New file.
52943         * tests/test-wcsnrtombs2.sh: New file.
52944         * tests/test-wcsnrtombs3.sh: New file.
52945         * tests/test-wcsnrtombs4.sh: New file.
52946         * tests/test-wcsnrtombs.c: New file.
52947
52948         New module 'wcsnrtombs'.
52949         * lib/wchar.in.h (wcsnrtombs): New declaration.
52950         * lib/wcsnrtombs.c: New file.
52951         * lib/wcsrtombs-state.c: New file.
52952         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
52953         (internal_state): Remove variable.
52954         * m4/wcsnrtombs.m4: New file.
52955         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
52956         compilation units.
52957         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
52958         HAVE_WCSNRTOMBS.
52959         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
52960         HAVE_WCSNRTOMBS.
52961         * modules/wcsnrtombs: New file.
52962         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
52963         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
52964
52965 2008-12-21  Bruno Haible  <bruno@clisp.org>
52966
52967         * modules/wcsrtombs-tests: New file.
52968         * tests/test-wcsrtombs1.sh: New file.
52969         * tests/test-wcsrtombs2.sh: New file.
52970         * tests/test-wcsrtombs3.sh: New file.
52971         * tests/test-wcsrtombs4.sh: New file.
52972         * tests/test-wcsrtombs.c: New file.
52973
52974         New module 'wcsrtombs'.
52975         * lib/wchar.in.h (wcsrtombs): New declaration.
52976         * lib/wcsrtombs.c: New file.
52977         * m4/wcsrtombs.m4: New file.
52978         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
52979         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52980         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
52981         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52982         * modules/wcsrtombs: New file.
52983         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
52984         bugs.
52985
52986 2008-12-21  Bruno Haible  <bruno@clisp.org>
52987
52988         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
52989         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
52990         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
52991         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
52992         if not correct.
52993         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
52994         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
52995         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52996         m4/locale-zh.m4, m4/codeset.m4.
52997         * doc/posix-functions/wcrtomb.texi: Document the bug.
52998
52999 2008-12-21  Bruno Haible  <bruno@clisp.org>
53000
53001         Work around a btowc() bug on IRIX 6.5.
53002         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
53003         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
53004         REPLACE_WTOBC if not.
53005         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
53006         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
53007         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
53008
53009 2008-12-21  Bruno Haible  <bruno@clisp.org>
53010
53011         * modules/wcrtomb-tests: New file.
53012         * tests/test-wcrtomb.sh: New file.
53013         * tests/test-wcrtomb.c: New file.
53014
53015         New module 'wcrtomb'.
53016         * lib/wchar.in.h (wcrtomb): New declaration.
53017         * lib/wcrtomb.c: New file.
53018         * m4/wcrtomb.m4: New file.
53019         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
53020         HAVE_WCRTOMB.
53021         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
53022         HAVE_WCRTOMB.
53023         * modules/wcrtomb: New file.
53024         * doc/posix-functions/wcrtomb.texi: Mention the new module.
53025
53026 2008-12-21  Bruno Haible  <bruno@clisp.org>
53027
53028         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
53029         * modules/mbsrtowcs (Files): Likewise.
53030         * modules/wctob (Files): Likewise.
53031         * modules/c-strcase-tests (Files): Likewise.
53032         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
53033         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
53034         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
53035         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
53036         * modules/vasnprintf-posix-tests (Files): Likewise.
53037
53038 2008-12-21  William Pursell  <bill.pursell@gmail.com>
53039
53040         gitlog-to-changelog: pass all command-line arguments to git-log
53041         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
53042         it is sometimes convenient to filter the commits in various ways.
53043         gitlog-to-changelog only allows --since to specify a start date,
53044         but git-log itself supports many other filtering mechanisms.
53045         At the moment, I want to filter by branch name.  Rather than
53046         adding a --branch option to gitlog-to-changelog, it seems more
53047         flexible to simply pass all options directly to git-log and let
53048         git do the work.  Notice that this effectively makes --since a
53049         redundant option for gitlog-to-changelog, but removing it would
53050         require current usage to change since calls would then require
53051         an additional '--'.
53052
53053 2008-12-21  Bruno Haible  <bruno@clisp.org>
53054
53055         * modules/mbsnrtowcs-tests: New file.
53056         * tests/test-mbsnrtowcs1.sh: New file.
53057         * tests/test-mbsnrtowcs2.sh: New file.
53058         * tests/test-mbsnrtowcs3.sh: New file.
53059         * tests/test-mbsnrtowcs4.sh: New file.
53060         * tests/test-mbsnrtowcs.c: New file.
53061
53062         New module 'mbsnrtowcs'.
53063         * lib/wchar.in.h (mbsnrtowcs): New declaration.
53064         * lib/mbsnrtowcs.c: New file.
53065         * lib/mbsrtowcs-state.c: New file.
53066         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
53067         (internal_state): Remove variable.
53068         * m4/mbsnrtowcs.m4: New file.
53069         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
53070         compilation units.
53071         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
53072         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53073         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
53074         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53075         * modules/mbsnrtowcs: New file.
53076         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
53077         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
53078         portability problem.
53079
53080 2008-12-21  Bruno Haible  <bruno@clisp.org>
53081
53082         Work around mbsrtowcs bug.
53083         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
53084         (gl_FUNC_MBSRTOWCS): Invoke it.
53085         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53086         m4/locale-zh.m4.
53087         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
53088
53089 2008-12-21  Bruno Haible  <bruno@clisp.org>
53090
53091         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
53092
53093 2008-12-21  Bruno Haible  <bruno@clisp.org>
53094
53095         Update doc for AIX.
53096         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
53097         16-bit wchar_t type.
53098         * doc/posix-functions/btowc.texi: Likewise.
53099         * doc/posix-functions/fgetwc.texi: Likewise.
53100         * doc/posix-functions/fgetws.texi: Likewise.
53101         * doc/posix-functions/fputwc.texi: Likewise.
53102         * doc/posix-functions/fputws.texi: Likewise.
53103         * doc/posix-functions/fwide.texi: Likewise.
53104         * doc/posix-functions/fwprintf.texi: Likewise.
53105         * doc/posix-functions/fwscanf.texi: Likewise.
53106         * doc/posix-functions/getwchar.texi: Likewise.
53107         * doc/posix-functions/getwc.texi: Likewise.
53108         * doc/posix-functions/iswalnum.texi: Likewise.
53109         * doc/posix-functions/iswalpha.texi: Likewise.
53110         * doc/posix-functions/iswblank.texi: Likewise.
53111         * doc/posix-functions/iswcntrl.texi: Likewise.
53112         * doc/posix-functions/iswctype.texi: Likewise.
53113         * doc/posix-functions/iswdigit.texi: Likewise.
53114         * doc/posix-functions/iswgraph.texi: Likewise.
53115         * doc/posix-functions/iswlower.texi: Likewise.
53116         * doc/posix-functions/iswprint.texi: Likewise.
53117         * doc/posix-functions/iswpunct.texi: Likewise.
53118         * doc/posix-functions/iswspace.texi: Likewise.
53119         * doc/posix-functions/iswupper.texi: Likewise.
53120         * doc/posix-functions/iswxdigit.texi: Likewise.
53121         * doc/posix-functions/mbrtowc.texi: Likewise.
53122         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53123         * doc/posix-functions/mbstowcs.texi: Likewise.
53124         * doc/posix-functions/mbtowc.texi: Likewise.
53125         * doc/posix-functions/putwchar.texi: Likewise.
53126         * doc/posix-functions/putwc.texi: Likewise.
53127         * doc/posix-functions/swprintf.texi: Likewise.
53128         * doc/posix-functions/tolower.texi: Likewise.
53129         * doc/posix-functions/toupper.texi: Likewise.
53130         * doc/posix-functions/towctrans.texi: Likewise.
53131         * doc/posix-functions/ungetwc.texi: Likewise.
53132         * doc/posix-functions/vswprintf.texi: Likewise.
53133         * doc/posix-functions/wcrtomb.texi: Likewise.
53134         * doc/posix-functions/wcscat.texi: Likewise.
53135         * doc/posix-functions/wcschr.texi: Likewise.
53136         * doc/posix-functions/wcscmp.texi: Likewise.
53137         * doc/posix-functions/wcscoll.texi: Likewise.
53138         * doc/posix-functions/wcscpy.texi: Likewise.
53139         * doc/posix-functions/wcscspn.texi: Likewise.
53140         * doc/posix-functions/wcsftime.texi: Likewise.
53141         * doc/posix-functions/wcslen.texi: Likewise.
53142         * doc/posix-functions/wcsncat.texi: Likewise.
53143         * doc/posix-functions/wcsncmp.texi: Likewise.
53144         * doc/posix-functions/wcsncpy.texi: Likewise.
53145         * doc/posix-functions/wcspbrk.texi: Likewise.
53146         * doc/posix-functions/wcsrchr.texi: Likewise.
53147         * doc/posix-functions/wcsrtombs.texi: Likewise.
53148         * doc/posix-functions/wcsspn.texi: Likewise.
53149         * doc/posix-functions/wcsstr.texi: Likewise.
53150         * doc/posix-functions/wcstod.texi: Likewise.
53151         * doc/posix-functions/wcstof.texi: Likewise.
53152         * doc/posix-functions/wcstoimax.texi: Likewise.
53153         * doc/posix-functions/wcstok.texi: Likewise.
53154         * doc/posix-functions/wcstold.texi: Likewise.
53155         * doc/posix-functions/wcstoll.texi: Likewise.
53156         * doc/posix-functions/wcstol.texi: Likewise.
53157         * doc/posix-functions/wcstombs.texi: Likewise.
53158         * doc/posix-functions/wcstoull.texi: Likewise.
53159         * doc/posix-functions/wcstoul.texi: Likewise.
53160         * doc/posix-functions/wcstoumax.texi: Likewise.
53161         * doc/posix-functions/wcswidth.texi: Likewise.
53162         * doc/posix-functions/wcsxfrm.texi: Likewise.
53163         * doc/posix-functions/wctob.texi: Likewise.
53164         * doc/posix-functions/wctomb.texi: Likewise.
53165         * doc/posix-functions/wctrans.texi: Likewise.
53166         * doc/posix-functions/wctype.texi: Likewise.
53167         * doc/posix-functions/wcwidth.texi: Likewise.
53168         * doc/posix-functions/wmemchr.texi: Likewise.
53169         * doc/posix-functions/wmemcmp.texi: Likewise.
53170         * doc/posix-functions/wmemcpy.texi: Likewise.
53171         * doc/posix-functions/wmemmove.texi: Likewise.
53172         * doc/posix-functions/wmemset.texi: Likewise.
53173         * doc/posix-functions/wprintf.texi: Likewise.
53174         * doc/posix-functions/wscanf.texi: Likewise.
53175
53176 2008-12-21  Bruno Haible  <bruno@clisp.org>
53177
53178         Update doc for HP-UX 11.11.
53179         * doc/posix-functions/btowc.texi: Clarify that the function is missing
53180         in HP-UX version 11.00, not in all versions of HP-UX 11.
53181         * doc/posix-functions/fwide.texi: Likewise.
53182         * doc/posix-functions/fwprintf.texi: Likewise.
53183         * doc/posix-functions/fwscanf.texi: Likewise.
53184         * doc/posix-functions/inet_ntop.texi: Likewise.
53185         * doc/posix-functions/inet_pton.texi: Likewise.
53186         * doc/posix-functions/mbrlen.texi: Likewise.
53187         * doc/posix-functions/mbrtowc.texi: Likewise.
53188         * doc/posix-functions/mbsinit.texi: Likewise.
53189         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53190         * doc/posix-functions/swprintf.texi: Likewise.
53191         * doc/posix-functions/swscanf.texi: Likewise.
53192         * doc/posix-functions/towctrans.texi: Likewise.
53193         * doc/posix-functions/vfwprintf.texi: Likewise.
53194         * doc/posix-functions/vswprintf.texi: Likewise.
53195         * doc/posix-functions/vwprintf.texi: Likewise.
53196         * doc/posix-functions/wcrtomb.texi: Likewise.
53197         * doc/posix-functions/wcsrtombs.texi: Likewise.
53198         * doc/posix-functions/wcsstr.texi: Likewise.
53199         * doc/posix-functions/wctob.texi: Likewise.
53200         * doc/posix-functions/wctrans.texi: Likewise.
53201         * doc/posix-functions/wmemchr.texi: Likewise.
53202         * doc/posix-functions/wmemcmp.texi: Likewise.
53203         * doc/posix-functions/wmemcpy.texi: Likewise.
53204         * doc/posix-functions/wmemmove.texi: Likewise.
53205         * doc/posix-functions/wmemset.texi: Likewise.
53206         * doc/posix-functions/wprintf.texi: Likewise.
53207         * doc/posix-functions/wscanf.texi: Likewise.
53208
53209 2008-12-21  Bruno Haible  <bruno@clisp.org>
53210
53211         Work around a portability problem.
53212         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
53213         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
53214
53215 2008-12-20  Bruno Haible  <bruno@clisp.org>
53216
53217         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
53218         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
53219         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
53220         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
53221         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
53222
53223         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
53224         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
53225         set.
53226         (GNULIB_defined_mbstate_t): New macro.
53227         (mbsinit): Redefine if REPLACE_MBSINIT is set.
53228         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
53229         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
53230         reuses the system's mbrtowc function but works around the bugs.
53231         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
53232         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
53233         macros.
53234         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
53235         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
53236         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
53237         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
53238         REPLACE_MBSINIT if mbsinit needs to be overridden.
53239         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
53240         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53241         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
53242         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53243         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53244         m4/locale-zh.m4.
53245         (Depends): Add mbsinit.
53246         * modules/mbsinit (Depends): Add mbrtowc.
53247         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
53248
53249 2008-12-20  Bruno Haible  <bruno@clisp.org>
53250
53251         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
53252         so that there are no conversion errors on AIX.
53253         * tests/test-mbsrtowcs.c (main): LIkewise.
53254
53255 2008-12-20  Bruno Haible  <bruno@clisp.org>
53256
53257         Work around wctob bug on Solaris <= 9.
53258         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
53259         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
53260         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
53261         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
53262         * modules/wctob (Files): Add m4/locale-fr.m4.
53263         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
53264
53265 2008-12-20  Bruno Haible  <bruno@clisp.org>
53266
53267         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
53268         /dev/null.
53269         * tests/test-select-in.sh: Likewise.
53270         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53271
53272 2008-12-20  Bruno Haible  <bruno@clisp.org>
53273
53274         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
53275         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
53276         Cygwin 1.5.x.
53277
53278 2008-12-20  Bruno Haible  <bruno@clisp.org>
53279
53280         Ensure mbstate_t is defined on HP-UX 11.11.
53281         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
53282         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
53283         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
53284         AC_USE_SYSTEM_EXTENSIONS.
53285         * modules/fnmatch (Depends-on): Add extensions.
53286         * modules/mbrlen (Depends-on): Likewise.
53287         * modules/mbrtowc (Depends-on): Likewise.
53288         * modules/mbsinit (Depends-on): Likewise.
53289         * modules/mbsrtowcs (Depends-on): Likewise.
53290         * modules/mbswidth (Depends-on): Likewise.
53291         * modules/quotearg (Depends-on): Likewise.
53292         * modules/strftime (Depends-on): Likewise.
53293
53294 2008-12-20  Bruno Haible  <bruno@clisp.org>
53295
53296         Ensure wctob is declared on IRIX 6.5.
53297         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
53298         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
53299         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
53300         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
53301         of HAVE_WCTOB.
53302         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
53303         HAVE_WCTOB.
53304         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
53305
53306 2008-12-19  Bruno Haible  <bruno@clisp.org>
53307
53308         * modules/mbsrtowcs-tests: New file.
53309         * tests/test-mbsrtowcs1.sh: New file.
53310         * tests/test-mbsrtowcs2.sh: New file.
53311         * tests/test-mbsrtowcs3.sh: New file.
53312         * tests/test-mbsrtowcs4.sh: New file.
53313         * tests/test-mbsrtowcs.c: New file.
53314
53315         New module 'mbsrtowcs'.
53316         * lib/wchar.in.h (mbsrtowcs): New declaration.
53317         * lib/mbsrtowcs.c: New file.
53318         * m4/mbsrtowcs.m4: New file.
53319         * modules/mbsrtowcs: New file.
53320         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
53321         HAVE_MBSRTOWCS.
53322         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
53323         HAVE_MBSRTOWCS.
53324         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
53325
53326 2008-12-19  Bruno Haible  <bruno@clisp.org>
53327
53328         New module 'mbrlen'.
53329         * lib/wchar.in.h (mbrlen): New declaration.
53330         * lib/mbrlen.c: New file.
53331         * m4/mbrlen.m4: New file.
53332         * modules/mbrlen: New file.
53333         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
53334         HAVE_MBRLEN.
53335         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
53336         HAVE_MBRLEN.
53337         * doc/posix-functions/mbrlen.texi: Document the new module.
53338
53339 2008-12-19  Bruno Haible  <bruno@clisp.org>
53340
53341         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
53342         * modules/mbrtowc (Depends-on): Add verify.
53343         Suggested by Paul Eggert.
53344
53345 2008-12-18  Bruno Haible  <bruno@clisp.org>
53346
53347         * modules/mbsinit-tests: New file.
53348         * tests/test-mbsinit.sh: New file.
53349         * tests/test-mbsinit.c: New file.
53350
53351 2008-12-18  Bruno Haible  <bruno@clisp.org>
53352
53353         * modules/mbrtowc-tests: New file.
53354         * tests/test-mbrtowc1.sh: New file.
53355         * tests/test-mbrtowc2.sh: New file.
53356         * tests/test-mbrtowc3.sh: New file.
53357         * tests/test-mbrtowc4.sh: New file.
53358         * tests/test-mbrtowc.c: New file.
53359
53360         New module 'mbrtowc'.
53361         * lib/wchar.in.h (mbstate_t): Override when the system does not have
53362         mbsinit and mbrtowc.
53363         (mbrtowc): New declaration.
53364         * lib/mbrtowc.c: New file.
53365         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
53366         * modules/mbrtowc: New file.
53367         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
53368         HAVE_MBRTOWC.
53369         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
53370         HAVE_MBRTOWC.
53371         * doc/posix-functions/mbrtowc.texi: Document the new module.
53372
53373 2008-12-18  Bruno Haible  <bruno@clisp.org>
53374
53375         New module 'wctob'.
53376         * lib/wchar.in.h (wctob): New declaration.
53377         * lib/wctob.c: New file.
53378         * m4/wctob.m4: New file.
53379         * modules/wctob: New file.
53380         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
53381         HAVE_WCTOB.
53382         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
53383         * doc/posix-functions/wctob.texi: Document the new module.
53384
53385 2008-12-18  Bruno Haible  <bruno@clisp.org>
53386
53387         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
53388         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
53389
53390 2008-12-18  Simon Josefsson  <simon@josefsson.org>
53391
53392         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
53393         G. Christensen" <tgc@jupiterrise.com>.
53394
53395         * lib/flock.c: Need to include errno.h.  Reported by "Tom
53396         G. Christensen" <tgc@jupiterrise.com>.
53397
53398         * lib/flock.c: Need to include string.h.  Reported by "Tom
53399         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
53400         <ebb9@byu.net>.
53401
53402 2008-12-18  Bruno Haible  <bruno@clisp.org>
53403
53404         * m4/locale-ja.m4: New file, from GNU gettext.
53405
53406 2008-12-17  Bruno Haible  <bruno@clisp.org>
53407
53408         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
53409         Suggested by Eric Blake.
53410
53411 2008-12-17  Bruno Haible  <bruno@clisp.org>
53412
53413         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
53414
53415 2008-12-17  Bruno Haible  <bruno@clisp.org>
53416
53417         * lib/mbsinit.c: Include verify.h. Verify an assumption.
53418         * modules/mbsinit (Depends-on): Add verify.
53419         Suggested by Paul Eggert.
53420
53421 2008-12-17  Bruno Haible  <bruno@clisp.org>
53422
53423         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
53424         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
53425         gl_FUNC_MBRTOWC.
53426         * m4/mbiter.m4 (gl_MBITER): LIkewise.
53427         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
53428         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
53429         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
53430         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
53431         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
53432         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
53433         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
53434         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
53435         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
53436         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
53437         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
53438         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
53439         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
53440         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
53441         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53442         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
53443         * modules/trim (configure.ac): Likewise.
53444
53445 2008-12-17  Bruno Haible  <bruno@clisp.org>
53446
53447         * modules/btowc-tests: New file.
53448         * tests/test-btowc1.sh: New file.
53449         * tests/test-btowc2.sh: New file.
53450         * tests/test-btowc.c: New file.
53451
53452         New module 'btowc'.
53453         * lib/wchar.in.h (btowc): New declaration.
53454         * lib/btowc.c: New file.
53455         * m4/btowc.m4: New file.
53456         * modules/btowc: New file.
53457         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
53458         HAVE_BTOWC.
53459         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
53460         * doc/posix-functions/btowc.texi: Document the new module.
53461
53462 2008-12-17  Bruno Haible  <bruno@clisp.org>
53463
53464         New module 'mbsinit'.
53465         * lib/wchar.in.h (mbsinit): New declaration.
53466         * lib/mbsinit.c: New file.
53467         * m4/mbsinit.m4: New file.
53468         * modules/mbsinit: New file.
53469         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
53470         HAVE_MBSINIT.
53471         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
53472         HAVE_MBSINIT.
53473         * doc/posix-functions/mbsinit.texi: Document the new module.
53474
53475 2008-12-16  Bruno Haible  <bruno@clisp.org>
53476
53477         * lib/unistd.in.h: Add comment.
53478         * tests/test-environ.c: Don't include <stdlib.h>.
53479
53480 2008-12-16  Bruno Haible  <bruno@clisp.org>
53481
53482         * lib/parse-duration.h (parse_duration): Document return value
53483         convention.
53484         * lib/parse-duration.c: Include specification header first. Add
53485         comments.
53486         (_): Remove macro.
53487         (parse_year_month_day, parse_hour_minute_second): Move side effects
53488         outside of strchr call.
53489         (parse_non_iso8601): Move side effects outside of isspace call.
53490         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
53491         call.
53492
53493 2008-12-16  Bruno Haible  <bruno@clisp.org>
53494
53495         * tests/test-parse-duration.sh: Produce no output when the test
53496         succeeds.
53497
53498 2008-12-16  Bruno Haible  <bruno@clisp.org>
53499
53500         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
53501         expressions.
53502
53503 2008-12-15  Bruno Haible  <bruno@clisp.org>
53504
53505         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
53506         * doc/glibc-functions/flistxattr.texi: Likewise.
53507         * doc/glibc-functions/fopencookie.texi: Likewise.
53508         * doc/glibc-functions/fremovexattr.texi: Likewise.
53509         * doc/glibc-functions/fsetxattr.texi: Likewise.
53510         * doc/glibc-functions/getxattr.texi: Likewise.
53511         * doc/glibc-functions/lgetxattr.texi: Likewise.
53512         * doc/glibc-functions/listxattr.texi: Likewise.
53513         * doc/glibc-functions/llistxattr.texi: Likewise.
53514         * doc/glibc-functions/lremovexattr.texi: Likewise.
53515         * doc/glibc-functions/lsetxattr.texi: Likewise.
53516         * doc/glibc-functions/removexattr.texi: Likewise.
53517         * doc/glibc-functions/setxattr.texi: Likewise.
53518         * doc/posix-functions/open_memstream.texi: Likewise.
53519
53520 2008-12-15  Eric Blake  <ebb9@byu.net>
53521
53522         Update doc for cygwin 1.7.
53523         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
53524         functions.
53525         * doc/posix-functions/fchmodat.texi: Likewise.
53526         * doc/posix-functions/fchownat.texi: Likewise.
53527         * doc/posix-functions/fdopendir.texi: Likewise.
53528         * doc/posix-functions/fmemopen.texi: Likewise.
53529         * doc/posix-functions/freeaddrinfo.texi: Likewise.
53530         * doc/posix-functions/fstatat.texi: Likewise.
53531         * doc/posix-functions/futimens.texi: Likewise.
53532         * doc/posix-functions/gai_strerror.texi: Likewise.
53533         * doc/posix-functions/getaddrinfo.texi: Likewise.
53534         * doc/posix-functions/getnameinfo.texi: Likewise.
53535         * doc/posix-functions/if_freenameindex.texi: Likewise.
53536         * doc/posix-functions/if_indextoname.texi: Likewise.
53537         * doc/posix-functions/if_nameindex.texi: Likewise.
53538         * doc/posix-functions/if_nametoindex.texi: Likewise.
53539         * doc/posix-functions/insque.texi: Likewise.
53540         * doc/posix-functions/linkat.texi: Likewise.
53541         * doc/posix-functions/llrint.texi: Likewise.
53542         * doc/posix-functions/llrintf.texi: Likewise.
53543         * doc/posix-functions/llrintl.texi: Likewise.
53544         * doc/posix-functions/lockf.texi: Likewise.
53545         * doc/posix-functions/lrintl.texi: Likewise.
53546         * doc/posix-functions/mkdirat.texi: Likewise.
53547         * doc/posix-functions/mkfifoat.texi: Likewise.
53548         * doc/posix-functions/mknodat.texi: Likewise.
53549         * doc/posix-functions/mq_close.texi: Likewise.
53550         * doc/posix-functions/mq_getattr.texi: Likewise.
53551         * doc/posix-functions/mq_notify.texi: Likewise.
53552         * doc/posix-functions/mq_open.texi: Likewise.
53553         * doc/posix-functions/mq_receive.texi: Likewise.
53554         * doc/posix-functions/mq_send.texi: Likewise.
53555         * doc/posix-functions/mq_setattr.texi: Likewise.
53556         * doc/posix-functions/mq_timedreceive.texi: Likewise.
53557         * doc/posix-functions/mq_timedsend.texi: Likewise.
53558         * doc/posix-functions/mq_unlink.texi: Likewise.
53559         * doc/posix-functions/open_memstream.texi: Likewise.
53560         * doc/posix-functions/openat.texi: Likewise.
53561         * doc/posix-functions/posix_fadvise.texi: Likewise.
53562         * doc/posix-functions/posix_fallocate.texi: Likewise.
53563         * doc/posix-functions/posix_madvise.texi: Likewise.
53564         * doc/posix-functions/posix_memalign.texi: Likewise.
53565         * doc/posix-functions/posix_openpt.texi: Likewise.
53566         * doc/posix-functions/readlinkat.texi: Likewise.
53567         * doc/posix-functions/remque.texi: Likewise.
53568         * doc/posix-functions/renameat.texi: Likewise.
53569         * doc/posix-functions/rintl.texi: Likewise.
53570         * doc/posix-functions/sem_unlink.texi: Likewise.
53571         * doc/posix-functions/shm_open.texi: Likewise.
53572         * doc/posix-functions/shm_unlink.texi: Likewise.
53573         * doc/posix-functions/signgam.texi: Likewise.
53574         * doc/posix-functions/sigset.texi: Likewise.
53575         * doc/posix-functions/stpcpy.texi: Likewise.
53576         * doc/posix-functions/stpncpy.texi: Likewise.
53577         * doc/posix-functions/strerror.texi: Likewise.
53578         * doc/posix-functions/strtod.texi: Likewise.
53579         * doc/posix-functions/symlinkat.texi: Likewise.
53580         * doc/posix-functions/unlinkat.texi: Likewise.
53581         * doc/posix-functions/utimensat.texi: Likewise.
53582         * doc/glibc-functions/bindresvport.texi: Likewise.
53583         * doc/glibc-functions/dn_expand.texi: Likewise.
53584         * doc/glibc-functions/exp10.texi: Likewise.
53585         * doc/glibc-functions/exp10f.texi: Likewise.
53586         * doc/glibc-functions/fgetxattr.texi: Likewise.
53587         * doc/glibc-functions/flistxattr.texi: Likewise.
53588         * doc/glibc-functions/fopencookie.texi: Likewise.
53589         * doc/glibc-functions/freeifaddrs.texi: Likewise.
53590         * doc/glibc-functions/fremovexattr.texi: Likewise.
53591         * doc/glibc-functions/fsetxattr.texi: Likewise.
53592         * doc/glibc-functions/getifaddrs.texi: Likewise.
53593         * doc/glibc-functions/getxattr.texi: Likewise.
53594         * doc/glibc-functions/lgetxattr.texi: Likewise.
53595         * doc/glibc-functions/listxattr.texi: Likewise.
53596         * doc/glibc-functions/llistxattr.texi: Likewise.
53597         * doc/glibc-functions/lremovexattr.texi: Likewise.
53598         * doc/glibc-functions/lsetxattr.texi: Likewise.
53599         * doc/glibc-functions/pow10.texi: Likewise.
53600         * doc/glibc-functions/pow10f.texi: Likewise.
53601         * doc/glibc-functions/rcmd_af.texi: Likewise.
53602         * doc/glibc-functions/removexattr.texi: Likewise.
53603         * doc/glibc-functions/res_init.texi: Likewise.
53604         * doc/glibc-functions/res_mkquery.texi: Likewise.
53605         * doc/glibc-functions/res_query.texi: Likewise.
53606         * doc/glibc-functions/res_querydomain.texi: Likewise.
53607         * doc/glibc-functions/res_send.texi: Likewise.
53608         * doc/glibc-functions/rresvport_af.texi: Likewise.
53609         * doc/glibc-functions/setxattr.texi: Likewise.
53610         * doc/glibc-functions/strcasestr.texi: Likewise.
53611
53612 2008-12-15  Bruno Haible  <bruno@clisp.org>
53613
53614         Fix compilation error on OSF/1 4.0.
53615         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
53616         <sys/time.h>, simply delegate to the system header.
53617         Reported by Daniel Richard G. <oss@teragram.com>.
53618
53619 2008-12-15  Bruno Haible  <bruno@clisp.org>
53620
53621         * doc/posix-functions/openat.texi: Mention the 'openat' module.
53622         * doc/posix-functions/fchmodat.texi: Likewise.
53623         * doc/posix-functions/fchownat.texi: Likewise.
53624         * doc/posix-functions/fdopendir.texi: Likewise.
53625         * doc/posix-functions/fstatat.texi: Likewise.
53626         * doc/posix-functions/mkdirat.texi: Likewise.
53627         * doc/posix-functions/unlinkat.texi: Likewise.
53628
53629 2008-12-14  Bruno Haible  <bruno@clisp.org>
53630
53631         Update doc for POSIX:2008.
53632         * doc/posix-functions/faccessat.texi: New file.
53633         * doc/posix-functions/fchmodat.texi: New file.
53634         * doc/posix-functions/fchownat.texi: New file.
53635         * doc/posix-functions/fdopendir.texi: New file.
53636         * doc/posix-functions/fstatat.texi: New file.
53637         * doc/posix-functions/futimens.texi: New file.
53638         * doc/posix-functions/linkat.texi: New file.
53639         * doc/posix-functions/mkdirat.texi: New file.
53640         * doc/posix-functions/mkfifoat.texi: New file.
53641         * doc/posix-functions/mknodat.texi: New file.
53642         * doc/posix-functions/open_wmemstream.texi: New file.
53643         * doc/posix-functions/openat.texi: New file.
53644         * doc/posix-functions/psiginfo.texi: New file.
53645         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
53646         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
53647         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
53648         * doc/posix-functions/readlinkat.texi: New file.
53649         * doc/posix-functions/renameat.texi: New file.
53650         * doc/posix-functions/strerror_l.texi: New file.
53651         * doc/posix-functions/symlinkat.texi: New file.
53652         * doc/posix-functions/unlinkat.texi: New file.
53653         * doc/posix-functions/utimensat.texi: New file.
53654         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53655
53656 2008-12-14  Bruno Haible  <bruno@clisp.org>
53657
53658         Update doc for POSIX:2008.
53659         * doc/posix-functions/alphasort.texi: Renamed from
53660         doc/glibc-functions/alphasort.texi.
53661         * doc/posix-functions/dirfd.texi: Renamed from
53662         doc/glibc-functions/dirfd.texi.
53663         * doc/posix-functions/dprintf.texi: Renamed from
53664         doc/glibc-functions/dprintf.texi.
53665         * doc/posix-functions/duplocale.texi: Renamed from
53666         doc/glibc-functions/duplocale.texi.
53667         * doc/posix-functions/fexecve.texi: Renamed from
53668         doc/glibc-functions/fexecve.texi.
53669         * doc/posix-functions/fmemopen.texi: Renamed from
53670         doc/glibc-functions/fmemopen.texi.
53671         * doc/posix-functions/freelocale.texi: Renamed from
53672         doc/glibc-functions/freelocale.texi.
53673         * doc/posix-functions/getdate_err.texi: Renamed from
53674         doc/glibc-functions/getdate_err.texi.
53675         * doc/posix-functions/isalnum_l.texi: Renamed from
53676         doc/glibc-functions/isalnum_l.texi.
53677         * doc/posix-functions/isalpha_l.texi: Renamed from
53678         doc/glibc-functions/isalpha_l.texi.
53679         * doc/posix-functions/isblank_l.texi: Renamed from
53680         doc/glibc-functions/isblank_l.texi.
53681         * doc/posix-functions/iscntrl_l.texi: Renamed from
53682         doc/glibc-functions/iscntrl_l.texi.
53683         * doc/posix-functions/isdigit_l.texi: Renamed from
53684         doc/glibc-functions/isdigit_l.texi.
53685         * doc/posix-functions/isgraph_l.texi: Renamed from
53686         doc/glibc-functions/isgraph_l.texi.
53687         * doc/posix-functions/islower_l.texi: Renamed from
53688         doc/glibc-functions/islower_l.texi.
53689         * doc/posix-functions/isprint_l.texi: Renamed from
53690         doc/glibc-functions/isprint_l.texi.
53691         * doc/posix-functions/ispunct_l.texi: Renamed from
53692         doc/glibc-functions/ispunct_l.texi.
53693         * doc/posix-functions/isspace_l.texi: Renamed from
53694         doc/glibc-functions/isspace_l.texi.
53695         * doc/posix-functions/isupper_l.texi: Renamed from
53696         doc/glibc-functions/isupper_l.texi.
53697         * doc/posix-functions/iswalnum_l.texi: Renamed from
53698         doc/glibc-functions/iswalnum_l.texi.
53699         * doc/posix-functions/iswalpha_l.texi: Renamed from
53700         doc/glibc-functions/iswalpha_l.texi.
53701         * doc/posix-functions/iswblank_l.texi: Renamed from
53702         doc/glibc-functions/iswblank_l.texi.
53703         * doc/posix-functions/iswcntrl_l.texi: Renamed from
53704         doc/glibc-functions/iswcntrl_l.texi.
53705         * doc/posix-functions/iswctype_l.texi: Renamed from
53706         doc/glibc-functions/iswctype_l.texi.
53707         * doc/posix-functions/iswdigit_l.texi: Renamed from
53708         doc/glibc-functions/iswdigit_l.texi.
53709         * doc/posix-functions/iswgraph_l.texi: Renamed from
53710         doc/glibc-functions/iswgraph_l.texi.
53711         * doc/posix-functions/iswlower_l.texi: Renamed from
53712         doc/glibc-functions/iswlower_l.texi.
53713         * doc/posix-functions/iswprint_l.texi: Renamed from
53714         doc/glibc-functions/iswprint_l.texi.
53715         * doc/posix-functions/iswpunct_l.texi: Renamed from
53716         doc/glibc-functions/iswpunct_l.texi.
53717         * doc/posix-functions/iswspace_l.texi: Renamed from
53718         doc/glibc-functions/iswspace_l.texi.
53719         * doc/posix-functions/iswupper_l.texi: Renamed from
53720         doc/glibc-functions/iswupper_l.texi.
53721         * doc/posix-functions/iswxdigit_l.texi: Renamed from
53722         doc/glibc-functions/iswxdigit_l.texi.
53723         * doc/posix-functions/isxdigit_l.texi: Renamed from
53724         doc/glibc-functions/isxdigit_l.texi.
53725         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
53726         doc/glibc-functions/mbsnrtowcs.texi.
53727         * doc/posix-functions/mkdtemp.texi: Renamed from
53728         doc/glibc-functions/mkdtemp.texi.
53729         * doc/posix-functions/newlocale.texi: Renamed from
53730         doc/glibc-functions/newlocale.texi.
53731         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
53732         doc/glibc-functions/nl_langinfo_l.texi.
53733         * doc/posix-functions/open_memstream.texi: Renamed from
53734         doc/glibc-functions/open_memstream.texi.
53735         * doc/posix-functions/opterr.texi: Renamed from
53736         doc/glibc-functions/opterr.texi.
53737         * doc/posix-functions/optind.texi: Renamed from
53738         doc/glibc-functions/optind.texi.
53739         * doc/posix-functions/optopt.texi: Renamed from
53740         doc/glibc-functions/optopt.texi.
53741         * doc/posix-functions/psignal.texi: Renamed from
53742         doc/glibc-functions/psignal.texi.
53743         * doc/posix-functions/scandir.texi: Renamed from
53744         doc/glibc-functions/scandir.texi.
53745         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
53746         doc/glibc-functions/sched_get_priority_min.texi.
53747         * doc/posix-functions/signgam.texi: Renamed from
53748         doc/glibc-functions/signgam.texi.
53749         * doc/posix-functions/stpcpy.texi: Renamed from
53750         doc/glibc-functions/stpcpy.texi.
53751         * doc/posix-functions/stpncpy.texi: Renamed from
53752         doc/glibc-functions/stpncpy.texi.
53753         * doc/posix-functions/strcasecmp_l.texi: Renamed from
53754         doc/glibc-functions/strcasecmp_l.texi.
53755         * doc/posix-functions/strcoll_l.texi: Renamed from
53756         doc/glibc-functions/strcoll_l.texi.
53757         * doc/posix-functions/strfmon_l.texi: Renamed from
53758         doc/glibc-functions/strfmon_l.texi.
53759         * doc/posix-functions/strftime_l.texi: Renamed from
53760         doc/glibc-functions/strftime_l.texi.
53761         * doc/posix-functions/strncasecmp_l.texi: Renamed from
53762         doc/glibc-functions/strncasecmp_l.texi.
53763         * doc/posix-functions/strndup.texi: Renamed from
53764         doc/glibc-functions/strndup.texi.
53765         * doc/posix-functions/strnlen.texi: Renamed from
53766         doc/glibc-functions/strnlen.texi.
53767         * doc/posix-functions/strsignal.texi: Renamed from
53768         doc/glibc-functions/strsignal.texi.
53769         * doc/posix-functions/strxfrm_l.texi: Renamed from
53770         doc/glibc-functions/strxfrm_l.texi.
53771         * doc/posix-functions/timer_gettime.texi: Renamed from
53772         doc/glibc-functions/timer_gettime.texi.
53773         * doc/posix-functions/tolower_l.texi: Renamed from
53774         doc/glibc-functions/tolower_l.texi.
53775         * doc/posix-functions/toupper_l.texi: Renamed from
53776         doc/glibc-functions/toupper_l.texi.
53777         * doc/posix-functions/towctrans_l.texi: Renamed from
53778         doc/glibc-functions/towctrans_l.texi.
53779         * doc/posix-functions/towlower_l.texi: Renamed from
53780         doc/glibc-functions/towlower_l.texi.
53781         * doc/posix-functions/towupper_l.texi: Renamed from
53782         doc/glibc-functions/towupper_l.texi.
53783         * doc/posix-functions/uselocale.texi: Renamed from
53784         doc/glibc-functions/uselocale.texi.
53785         * doc/posix-functions/vdprintf.texi: Renamed from
53786         doc/glibc-functions/vdprintf.texi.
53787         * doc/posix-functions/wcpcpy.texi:
53788         Renamed from doc/glibc-functions/wcpcpy.texi.
53789         * doc/posix-functions/wcpncpy.texi: Renamed from
53790         doc/glibc-functions/wcpncpy.texi.
53791         * doc/posix-functions/wcscasecmp.texi: Renamed from
53792         doc/glibc-functions/wcscasecmp.texi.
53793         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
53794         doc/glibc-functions/wcscasecmp_l.texi.
53795         * doc/posix-functions/wcscoll_l.texi: Renamed from
53796         doc/glibc-functions/wcscoll_l.texi.
53797         * doc/posix-functions/wcsdup.texi: Renamed from
53798         doc/glibc-functions/wcsdup.texi.
53799         * doc/posix-functions/wcsncasecmp.texi: Renamed from
53800         doc/glibc-functions/wcsncasecmp.texi.
53801         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
53802         doc/glibc-functions/wcsncasecmp_l.texi.
53803         * doc/posix-functions/wcsnlen.texi: Renamed from
53804         doc/glibc-functions/wcsnlen.texi.
53805         * doc/posix-functions/wcsnrtombs.texi: Renamed from
53806         doc/glibc-functions/wcsnrtombs.texi.
53807         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
53808         doc/glibc-functions/wcsxfrm_l.texi.
53809         * doc/posix-functions/wctrans_l.texi: Renamed from
53810         doc/glibc-functions/wctrans_l.texi.
53811         * doc/posix-functions/wctype_l.texi: Renamed from
53812         doc/glibc-functions/wctype_l.texi.
53813         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53814         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
53815         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
53816         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
53817         these subsections.
53818         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
53819         Remove sections.
53820
53821 2008-12-14  Bruno Haible  <bruno@clisp.org>
53822
53823         Update doc for POSIX:2008.
53824         * doc/posix-functions/*.texi: Update URL of POSIX specification.
53825
53826 2008-12-14  Bruno Haible  <bruno@clisp.org>
53827
53828         Update doc for POSIX:2008.
53829         * doc/pastposix-functions/bcmp.texi: Renamed from
53830         doc/posix-functions/bcmp.texi.
53831         * doc/pastposix-functions/bcopy.texi: Renamed from
53832         doc/posix-functions/bcopy.texi.
53833         * doc/pastposix-functions/bsd_signal.texi: Renamed from
53834         doc/posix-functions/bsd_signal.texi.
53835         * doc/pastposix-functions/bzero.texi: Renamed from
53836         doc/posix-functions/bzero.texi.
53837         * doc/pastposix-functions/ecvt.texi: Renamed from
53838         doc/posix-functions/ecvt.texi.
53839         * doc/pastposix-functions/fcvt.texi: Renamed from
53840         doc/posix-functions/fcvt.texi.
53841         * doc/pastposix-functions/ftime.texi: Renamed from
53842         doc/posix-functions/ftime.texi.
53843         * doc/pastposix-functions/gcvt.texi: Renamed from
53844         doc/posix-functions/gcvt.texi.
53845         * doc/pastposix-functions/getcontext.texi: Renamed from
53846         doc/posix-functions/getcontext.texi.
53847         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
53848         doc/posix-functions/gethostbyaddr.texi.
53849         * doc/pastposix-functions/gethostbyname.texi: Renamed from
53850         doc/posix-functions/gethostbyname.texi.
53851         * doc/pastposix-functions/getwd.texi: Renamed from
53852         doc/posix-functions/getwd.texi.
53853         * doc/pastposix-functions/h_errno.texi: Renamed from
53854         doc/posix-functions/h_errno.texi.
53855         * doc/pastposix-functions/index.texi: Renamed from
53856         doc/posix-functions/index.texi.
53857         * doc/pastposix-functions/makecontext.texi: Renamed from
53858         doc/posix-functions/makecontext.texi.
53859         * doc/pastposix-functions/mktemp.texi: Renamed from
53860         doc/posix-functions/mktemp.texi.
53861         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
53862         doc/posix-functions/pthread_attr_getstackaddr.texi.
53863         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
53864         doc/posix-functions/pthread_attr_setstackaddr.texi.
53865         * doc/pastposix-functions/rindex.texi: Renamed from
53866         doc/posix-functions/rindex.texi.
53867         * doc/pastposix-functions/scalb.texi: Renamed from
53868         doc/posix-functions/scalb.texi.
53869         * doc/pastposix-functions/setcontext.texi: Renamed from
53870         doc/posix-functions/setcontext.texi.
53871         * doc/pastposix-functions/swapcontext.texi: Renamed from
53872         doc/posix-functions/swapcontext.texi.
53873         * doc/pastposix-functions/ualarm.texi: Renamed from
53874         doc/posix-functions/ualarm.texi.
53875         * doc/pastposix-functions/usleep.texi: Renamed from
53876         doc/posix-functions/usleep.texi.
53877         * doc/pastposix-functions/vfork.texi: Renamed from
53878         doc/posix-functions/vfork.texi.
53879         * doc/pastposix-functions/wcswcs.texi: Renamed from
53880         doc/posix-functions/wcswcs.texi.
53881         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
53882         (Function Substitutes): Update.
53883
53884 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53885
53886         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
53887         m4/strerror.m4.
53888
53889 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53890             Bruno Haible  <bruno@clisp.org>
53891
53892         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
53893
53894 2008-12-13  Bruno Haible  <bruno@clisp.org>
53895
53896         * modules/strtoull (Depends-on): Remove unistd.
53897
53898 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53899
53900         * modules/strtoull (Depends-on): Add stdlib.
53901
53902 2008-12-11  Simon Josefsson  <simon@josefsson.org>
53903
53904         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
53905
53906 2008-12-10  Jim Meyering  <meyering@redhat.com>
53907
53908         gl_ASSERT: don't say assertions are disabled when they're not
53909         * m4/assert.m4 (gl_ASSERT): Do not make configure report
53910         "checking whether to enable assertions... no", when they are in
53911         fact enabled.  This is solely a bug in the output of configure.
53912         In spite of saying "no", NDEBUG was not defined in that case.
53913         Also, as noted by Eric Blake, leave assertions enabled upon
53914         --enable-assert=INVALID.
53915
53916 2008-12-10  Bruno Haible  <bruno@clisp.org>
53917
53918         Change MODULES.html to refer to POSIX:2008 where possible.
53919         * MODULES.html.sh (POSIX2008_URL): New variable.
53920         (posix_headers): Remove sys/timeb, ucontext.
53921         (posix2001_headers): New variable.
53922         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
53923         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
53924         index, makecontext, mktemp, pthread_attr_getstackaddr,
53925         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
53926         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
53927         (posix2001_functions): New variable.
53928         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
53929         otherwise.
53930
53931 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53932
53933         add missing include to parse-duration.c
53934         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
53935         * modules/parse-duration (Depends-on): Add xalloc.
53936
53937         fix sed script reading maint.mk
53938         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
53939         (syntax-check-rules): Use it.
53940
53941 2008-12-09  Bruno Haible  <bruno@clisp.org>
53942
53943         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
53944         MacOS X 10.4/PowerPC.
53945         Reported by Simon Josefsson.
53946
53947 2008-12-08  Jim Meyering  <meyering@redhat.com>
53948
53949         work around mingw's lack of some S_IF definitions
53950         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
53951         Reported by Simon Josefsson.
53952
53953 2008-12-08  Bruno Haible  <bruno@clisp.org>
53954
53955         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
53956         applied to variables. Needed on MacOS X 10.4/PowerPC.
53957         Reported by Simon Josefsson.
53958
53959 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
53960         and Eric Blake  <ebb9@byu.net>
53961
53962         assert: honor --enable-assert
53963         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
53964         order to honor --enable-assert, rather than treating it as a
53965         synonym for --disable-assert.
53966
53967 2008-12-08  Jim Meyering  <meyering@redhat.com>
53968
53969         * lib/posixtm.c: Remove now-useless declaration of mktime.
53970
53971         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
53972
53973 2008-12-07  Bruno Haible  <bruno@clisp.org>
53974
53975         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
53976         test_once): Mark functions as static.
53977         * tests/test-tls.c (test_tls): Likewise.
53978
53979 2008-12-07  Bruno Haible  <bruno@clisp.org>
53980
53981         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
53982         iconv_register_autodetect.
53983
53984 2008-12-07  Jim Meyering  <meyering@redhat.com>
53985
53986         posixtm.c: avoid a warning
53987         * lib/posixtm.c (posixtime): Don't initialize tm0.
53988         It's no longer needed to placate gcc4's -Wuninitialized,
53989         and the attempt to placate would elicit a new warning.
53990
53991         unicodeio.c: mark unused parameters
53992         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53993         (fallback_failure_callback): Likewise.
53994
53995 2008-12-07  Bruno Haible  <bruno@clisp.org>
53996
53997         * gnulib-tool (func_create_testdir): When building the tests
53998         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
53999         Reported by Simon Josefsson.
54000
54001 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54002
54003         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
54004
54005 2008-12-06  Bruno Haible  <bruno@clisp.org>
54006
54007         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
54008         Suggested by Eric Blake.
54009
54010 2008-12-06  Bruno Haible  <bruno@clisp.org>
54011
54012         Fix a c-stack test failure on MacOS X.
54013         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
54014         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
54015         handler for SIGBUS as well.
54016         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
54017         install a signal handler for SIGBUS as well.
54018         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
54019
54020 2008-12-06  Bruno Haible  <bruno@clisp.org>
54021
54022         Advocacy documentation.
54023         * doc/gnulib-intro.texi (Benefits): New section.
54024         * doc/gnulib.texi: Update.
54025
54026 2008-12-06  Bruno Haible  <bruno@clisp.org>
54027
54028         Document the 'manywarnings' module.
54029         * doc/manywarnings.texi: New file.
54030         * doc/gnulib.texi: Include it.
54031
54032 2008-12-05  Eric Blake  <ebb9@byu.net>
54033
54034         tests: silence some gcc warnings
54035         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
54036         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
54037         type mismatches.
54038
54039 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54040             Bruno Haible  <bruno@clisp.org>
54041
54042         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
54043
54044 2008-11-29  Jim Meyering  <meyering@redhat.com>
54045
54046         unicodeio.c: mark unused parameters
54047         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54048         (fallback_failure_callback): Likewise.
54049
54050         fts: fix a thinko
54051         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
54052         (set_stat_type): Return S_IF*-valued "type" directly.
54053         Prompted by James Youngman's spotting a related bug.
54054         Confirmed by further testing through find.
54055
54056         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
54057         * lib/fts.c (D_TYPE): Define.
54058         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
54059         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
54060         (s_ifmt_shift_bits): New function.
54061         (set_stat_type): New function.
54062         (fts_build): When not calling fts_stat, call set_stat_type
54063         to propagate dirent.d_type info to fts_read caller.
54064         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
54065         fts_statp->st_mode type information may be valid.
54066
54067 2008-11-28  Simon Josefsson  <simon@josefsson.org>
54068
54069         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
54070         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
54071         <sds@gnu.org>.
54072
54073 2008-11-20  Bruno Haible  <bruno@clisp.org>
54074
54075         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
54076         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
54077         INCLUDE_NEXT.
54078         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
54079         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
54080         * modules/math (Makefile.am): Substitute
54081         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
54082         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54083
54084 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
54085             Bruno Haible  <bruno@clisp.org>
54086
54087         * lib/stdint.in.h: Define all type macros so that their expansion is
54088         a single typedef'ed token. Fixes a compilation failure in Boost which
54089         does "using ::int8_t;".
54090
54091 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54092
54093         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
54094         gl_MANYWARN_ALL_GCC.
54095         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
54096         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
54097         * modules/manywarnings: New file.
54098         * MODULES.html.sh: Mention manywarnings module.
54099
54100 2008-11-18  Bruno Haible  <bruno@clisp.org>
54101
54102         * doc/gnulib-tool.texi (Unit tests): New section.
54103
54104 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54105
54106         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
54107         paths like 'lib/po/foo.po'.
54108
54109 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54110
54111         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
54112         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
54113
54114 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54115
54116         * m4/warnings.m4: Use CPPFLAGS to really check whether the
54117         parameter works.
54118
54119 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54120
54121         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
54122
54123 2008-11-17  Bruce Korb  <bkorb@gnu.org>
54124
54125         * modules/parse-duration-tests: New file.
54126         * tests/test-parse-duration.sh: New file.
54127         * tests/test-parse-duration.c: New file.
54128
54129         New module 'parse-duration'.
54130         * lib/parse-duration.h: New file.
54131         * lib/parse-duration.c: New file.
54132         * modules/parse-duration: New file.
54133
54134 2008-11-17  Bruno Haible  <bruno@clisp.org>
54135
54136         * tests/test-select-out.sh: Comment out the first pipe test.
54137         Reported by Simon Josefsson.
54138
54139 2008-11-17  Bruno Haible  <bruno@clisp.org>
54140
54141         * modules/getaddrinfo (Depends-on): Add servent, hostent.
54142         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
54143         gl_HOSTENT.
54144
54145 2008-11-17  Bruno Haible  <bruno@clisp.org>
54146
54147         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
54148         -lnetwork and -lnet. Needed for Haiku and BeOS.
54149
54150 2008-11-16  Bruno Haible  <bruno@clisp.org>
54151
54152         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
54153
54154 2008-11-16  Bruno Haible  <bruno@clisp.org>
54155
54156         Avoid test failure on Haiku.
54157         * tests/test-fsync.c: Include <errno.h>.
54158         (main): Don't require that fsync (0) fails.
54159
54160 2008-11-15  Bruno Haible  <bruno@clisp.org>
54161
54162         New module 'hostent'.
54163         * modules/hostent: New file.
54164         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
54165
54166 2008-11-15  Bruno Haible  <bruno@clisp.org>
54167
54168         New module 'servent'.
54169         * modules/servent: New file.
54170         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
54171
54172 2008-11-15  Bruno Haible  <bruno@clisp.org>
54173
54174         Avoid generating same test program with two different rules.
54175         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
54176         test-frexp to test-frexp-nolibm.
54177         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
54178         test-frexpl to test-frexpl-nolibm.
54179
54180 2008-11-15  Bruno Haible  <bruno@clisp.org>
54181
54182         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
54183         $(FREXPL_LIBM).
54184
54185 2008-11-15  Bruno Haible  <bruno@clisp.org>
54186
54187         * lib/netdb.in.h: Activate the definitions also when the system's
54188         <netdb.h> has 'struct addrinfo'.
54189         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
54190         EAI_OVERFLOW or AI_NUMERICSERV.
54191         * doc/posix-headers/netdb.texi: Document the problem.
54192
54193 2008-11-15  Bruno Haible  <bruno@clisp.org>
54194
54195         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
54196
54197         Make the 'sched' module work on platforms where <sched.h> exists but
54198         is incomplete (such as Haiku).
54199         * lib/sched.in.h; Include the system's <sched.h> if it exists.
54200         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
54201         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
54202         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
54203         HAVE_STRUCT_SCHED_PARAM.
54204         * modules/sched (Depends-on): Add include_next.
54205         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
54206         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
54207         * doc/posix-headers/sched.texi: Document the issue.
54208
54209 2008-11-13  Jim Meyering  <meyering@redhat.com>
54210
54211         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
54212         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
54213         test would fail due to the difference in the Report bugs to ...
54214         line.  The expected address is empty, "<>", while the actual
54215         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
54216
54217 2008-11-12  Bruno Haible  <bruno@clisp.org>
54218
54219         lstat: don't compile lstat.c on systems lacking lstat
54220         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
54221         which don't have lstat; this is handled by lib/sys_stat.in.h already.
54222         Reported by Daniel P. Berrange via Jim Meyering.
54223
54224 2008-11-12  Jim Meyering  <meyering@redhat.com>
54225
54226         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
54227
54228 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54229
54230         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
54231         instead.
54232
54233 2008-11-12  Bruno Haible  <bruno@clisp.org>
54234
54235         * lib/unicodeio.c: Include unistr.h.
54236         (utf8_wctomb): Remove function.
54237         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
54238
54239 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54240
54241         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
54242         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
54243         <bruno@clisp.org>.
54244         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
54245
54246 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54247
54248         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
54249         * doc/gnulib.texi: Add section for warnings.
54250
54251 2008-11-11  Bruno Haible  <bruno@clisp.org>
54252
54253         * lib/sockets.h: Add a comment.
54254
54255 2008-11-11  Karl Berry  <karl@gnu.org>
54256
54257         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
54258
54259 2008-11-11  Eric Blake  <ebb9@byu.net>
54260
54261         fdl.texi: avoid git symlinks
54262         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
54263
54264 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54265
54266         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
54267
54268 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54269
54270         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
54271         (gl_WARN_ADD): Substitute $2 if literal.
54272
54273 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54274
54275         * m4/warning.m4: Remove.
54276
54277 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54278
54279         * m4/warnings.m4: Almost complete rewrite. :-)
54280
54281 2008-11-10  Simon Josefsson  <simon@josefsson.org>
54282
54283         * modules/warnings: New module.
54284         * m4/warnings.m4: New file.
54285         * MODULES.html.sh: Mention warnings module.
54286         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
54287         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54288
54289 2008-11-10  Eric Blake  <ebb9@byu.net>
54290
54291         fdl.texi: make a symlink to the latest version
54292         * doc/standards.texi: Revert today's earlier change.
54293         * doc/fdl-1.2.texi: Rename from old fdl.texi...
54294         * doc/fdl.texi: ...and replace this with a symlink to the newer
54295         fdl-1.3.texi.
54296
54297 2008-11-10  Bruno Haible  <bruno@clisp.org>
54298
54299         * tests/test-select-fd.c (main): Accept the result file name as fourth
54300         argument.
54301         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
54302         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
54303
54304 2008-11-10  Bruno Haible  <bruno@clisp.org>
54305
54306         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
54307         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
54308         as autoconf-substituted macros.
54309         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
54310         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
54311         gl_NETDB_H_DEFAULTS. Set these variables.
54312         * modules/netdb (Makefile.am): Substitute these variables.
54313
54314 2008-11-10  Eric Blake  <ebb9@byu.net>
54315
54316         standards.texi: include correct file for FDL 1.3
54317         * doc/standards.texi (GNU Free Documentation License): Change
54318         include file to pull in FDL 1.3, not 1.2.
54319
54320         fdl.texi: revert accidental change to license
54321         * doc/fdl.texi: This is FDL 1.2, not 1.3.
54322
54323 2008-11-10  Bruno Haible  <bruno@clisp.org>
54324
54325         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
54326         cross-compiling guesses also when the native compile gives no result.
54327
54328 2008-11-10  Bruno Haible  <bruno@clisp.org>
54329
54330         * lib/spawni.c (__spawni): Force variable into the stack.
54331
54332 2008-11-10  Bruno Haible  <bruno@clisp.org>
54333
54334         Add support for Haiku.
54335         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
54336         glibc and BeOS, but also on Haiku.
54337         * lib/fpurge.c (fpurge): Likewise.
54338         * lib/freadable.c (freadable): Likewise.
54339         * lib/freadahead.c (freadahead): Likewise.
54340         * lib/freading.c (freading): Likewise.
54341         * lib/freadptr.c (freadptr): Likewise.
54342         * lib/freadseek.c (freadptrinc): Likewise.
54343         * lib/fseeko.c (rpl_fseeko): Likewise.
54344         * lib/fseterr.c (fseterr): Likewise.
54345         * lib/fwritable.c (fwritable): Likewise.
54346         * lib/fwriting.c (fwriting): Likewise.
54347         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
54348
54349 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54350
54351         * lib/config.charset: Treat Haiku like BeOS.
54352
54353 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54354
54355         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
54356         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
54357
54358 2008-11-08  Bruno Haible  <bruno@clisp.org>
54359
54360         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
54361         AC_CACHE_CHECK.
54362
54363 2008-11-08  Bruno Haible  <bruno@clisp.org>
54364
54365         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
54366
54367 2008-11-08  Bruno Haible  <bruno@clisp.org>
54368
54369         * tests/test-select-fd.c: New file.
54370         * tests/test-select-in.sh: New file.
54371         * tests/test-select-out.sh: New file.
54372         * tests/test-select-stdin.c: New file.
54373         * modules/select-tests (Files): Add the new files.
54374         (Depends-on): Add gettimeofday.
54375         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
54376         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
54377         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
54378
54379 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
54380             Bruno Haible  <bruno@clisp.org>
54381
54382         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
54383
54384 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
54385
54386         * build-aux/pmccabe2html: Added support for C++ source files.
54387
54388 2008-11-05  Ben Pfaff  <blp@gnu.org>
54389
54390         Fix lib/close.c build on Windows.
54391         * modules/close (Files): Add lib/w32sock.h.
54392
54393 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
54394
54395         Accept Bison's NEWS format.
54396         * build-aux/announce-gen (print_news_deltas): Tweak
54397         $re_prefix.
54398
54399 2008-11-04  Bruno Haible  <bruno@clisp.org>
54400
54401         * modules/random_r (Maintainer): Add glibc.
54402
54403 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54404
54405         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
54406         by karl@freefriends.org (Karl Berry).
54407         * doc/alloca.texi: Likewise.
54408         * doc/c-ctype.texi: Likewise.
54409         * doc/c-strcase.texi: Likewise.
54410         * doc/c-strcaseeq.texi: Likewise.
54411         * doc/c-strcasestr.texi: Likewise.
54412         * doc/c-strstr.texi: Likewise.
54413         * doc/c-strtod.texi: Likewise.
54414         * doc/c-strtold.texi: Likewise.
54415         * doc/ctime.texi: Likewise.
54416         * doc/error.texi: Likewise.
54417         * doc/fdl.texi: Likewise.
54418         * doc/gcd.texi: Likewise.
54419         * doc/getdate.texi: Likewise.
54420         * doc/gnulib-intro.texi: Likewise.
54421         * doc/gnulib-tool.texi: Likewise.
54422         * doc/gnulib.texi: Likewise.
54423         * doc/inet_ntoa.texi: Likewise.
54424         * doc/maintain.texi: Likewise.
54425         * doc/make-stds.texi: Likewise.
54426         * doc/quote.texi: Likewise.
54427         * doc/regexprops-generic.texi: Likewise.
54428         * doc/standards.texi: Likewise.
54429         * doc/verify.texi: Likewise.
54430         * doc/visibility.texi: Likewise.
54431         * doc/gnulib.texi (GNU Free Documentation License): Include
54432         fdl-1.3.texi instead of fdl.texi.
54433
54434 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54435
54436         * doc/fdl-1.3.texi: New file, from
54437         <http://www.gnu.org/licenses/fdl-1.3.texi>.
54438         * modules/fdl-1.3: Add.
54439         * MODULES.html.sh: Add fdl-1.3.
54440
54441 2008-11-03  Bruno Haible  <bruno@clisp.org>
54442
54443         Make determination of absolute name of header file work with AIX xlc.
54444         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
54445         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
54446         preprocessing.
54447         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54448         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54449
54450 2008-11-03  Simon Josefsson  <simon@josefsson.org>
54451
54452         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
54453         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
54454         <ludo@gnu.org>.
54455
54456 2008-11-02  Bruno Haible  <bruno@clisp.org>
54457
54458         Mark 'strpbrk' obsolete.
54459         * modules/strpbrk (Status, Notice): New sections.
54460         * modules/strtok_r (Depends-on): Add strpbrk.
54461
54462 2008-11-02  Bruno Haible  <bruno@clisp.org>
54463
54464         Mark 'strdup' obsolete.
54465         * modules/strdup (Status, Notice): New sections.
54466         * modules/findprog (Depends-on): Add strdup.
54467         * modules/getaddrinfo (Depends-on): Likewise.
54468         * modules/localename (Depends-on): Likewise.
54469         * modules/relocatable-lib (Depends-on): Likewise.
54470         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
54471         * modules/relocatable-prog (Depends-on): Likewise.
54472         * modules/trim (Depends-on): Likewise.
54473         * modules/unictype/gen-ctype (Depends-on): Likewise.
54474         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54475
54476 2008-11-02  Bruno Haible  <bruno@clisp.org>
54477
54478         Mark 'strcspn' obsolete.
54479         * modules/strcspn (Status, Notice): New sections.
54480
54481 2008-11-02  Bruno Haible  <bruno@clisp.org>
54482
54483         Mark 'rmdir' obsolete.
54484         * modules/rmdir (Status, Notice): New sections.
54485         * modules/clean-temp (Depends-on): Add rmdir.
54486         * modules/openat (Depends-on): Likewise.
54487
54488 2008-11-02  Bruno Haible  <bruno@clisp.org>
54489
54490         Mark 'raise' obsolete.
54491         * modules/raise (Status, Notice): New sections.
54492         (Include): Specify <signal.h>.
54493         * modules/stdio (Depends-on): Add raise.
54494         * modules/write (Depends-on): Likewise.
54495
54496 2008-11-02  Bruno Haible  <bruno@clisp.org>
54497
54498         Mark 'memset' obsolete.
54499         * modules/memset (Status, Notice): New sections.
54500
54501 2008-11-02  Bruno Haible  <bruno@clisp.org>
54502
54503         Mark 'memmove' obsolete.
54504         * modules/memmove (Status, Notice): New sections.
54505         * modules/argp (Depends-on): Add memmove.
54506         * modules/argz (Depends-on): Likewise.
54507         * modules/canonicalize (Depends-on): Likewise.
54508         * modules/canonicalize-lgpl (Depends-on): Likewise.
54509         * modules/fts (Depends-on): Likewise.
54510         * modules/getcwd (Depends-on): Likewise.
54511         * modules/human (Depends-on): Likewise.
54512         * modules/regex (Depends-on): Likewise.
54513         * modules/striconveh (Depends-on): Likewise.
54514         * modules/trim (Depends-on): Likewise.
54515         * modules/unistr/u8-move (Depends-on): Likewise.
54516         * modules/unistr/u16-move (Depends-on): Likewise.
54517         * modules/unistr/u32-move (Depends-on): Likewise.
54518
54519 2008-11-02  Bruno Haible  <bruno@clisp.org>
54520
54521         Mark 'memcpy' obsolete.
54522         * modules/memcpy (Status, Notice): New sections.
54523
54524 2008-11-02  Bruno Haible  <bruno@clisp.org>
54525
54526         Mark 'memcmp' obsolete.
54527         * modules/memcmp (Status, Notice): New sections.
54528         * modules/argmatch (Depends-on): Add memchr.
54529         * modules/backupfile (Depends-on): Likewise.
54530         * modules/c-strcasestr (Depends-on): Likewise.
54531         * modules/crypto/des (Depends-on): Likewise.
54532         * modules/csharpcomp (Depends-on): Likewise.
54533         * modules/fnmatch (Depends-on): Likewise.
54534         * modules/git-merge-changelog (Depends-on): Likewise.
54535         * modules/isnand (Depends-on): Likewise.
54536         * modules/isnand-nolibm (Depends-on): Likewise.
54537         * modules/isnanf (Depends-on): Likewise.
54538         * modules/isnanf-nolibm (Depends-on): Likewise.
54539         * modules/isnanl (Depends-on): Likewise.
54540         * modules/isnanl-nolibm (Depends-on): Likewise.
54541         * modules/mbchar (Depends-on): Likewise.
54542         * modules/memcoll (Depends-on): Likewise.
54543         * modules/quotearg (Depends-on): Likewise.
54544         * modules/regex (Depends-on): Likewise.
54545         * modules/relocatable-prog (Depends-on): Likewise.
54546         * modules/same (Depends-on): Likewise.
54547         * modules/signbit (Depends-on): Likewise.
54548         * modules/strcasestr-simple (Depends-on): Likewise.
54549         * modules/unictype/gen-ctype (Depends-on): Likewise.
54550         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54551         * modules/uniname/uniname (Depends-on): Likewise.
54552         * modules/unistr/u8-cmp (Depends-on): Likewise.
54553
54554 2008-11-02  Bruno Haible  <bruno@clisp.org>
54555
54556         Mark 'memchr' obsolete.
54557         * modules/memchr (Status, Notice): New sections.
54558         * modules/argp (Depends-on): Add memchr.
54559         * modules/base64 (Depends-on): Likewise.
54560         * modules/c-strcasestr (Depends-on): Likewise.
54561         * modules/chdir-long (Depends-on): Likewise.
54562         * modules/fnmatch (Depends-on): Likewise.
54563         * modules/getsubopt (Depends-on): Likewise.
54564         * modules/git-merge-changelog (Depends-on): Likewise.
54565         * modules/glob (Depends-on): Likewise.
54566         * modules/strcasestr-simple (Depends-on): Likewise.
54567         * modules/strnlen (Depends-on): Likewise.
54568
54569 2008-11-02  Bruno Haible  <bruno@clisp.org>
54570
54571         Mark 'atexit' obsolete.
54572         * modules/atexit (Status, Notice): New sections.
54573         * modules/chdir-long (Depends-on): Add atexit.
54574         * modules/wait-process (Depends-on): Likewise.
54575
54576 2008-11-02  Bruno Haible  <bruno@clisp.org>
54577
54578         * gnulib-tool: New option --with-obsolete.
54579         (func_usage): Document it.
54580         (func_modules_transitive_closure): Drop obsolete dependencies if
54581         incobsolete is not true.
54582         (func_import): Read and save the incobsolete variable to the cache.
54583
54584 2008-11-02  Bruno Haible  <bruno@clisp.org>
54585
54586         * modules/TEMPLATE-EXTENDED: New field 'Status'.
54587         * gnulib-tool: New option --extract-status.
54588         (func_usage): Document it.
54589         (sed_extract_prog): Recognize it.
54590         (func_get_status): New function.
54591
54592 2008-10-30  Simon Josefsson  <simon@josefsson.org>
54593
54594         * modules/sockets (License): Change from LGPL to LGPLv2+.
54595
54596 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54597
54598         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
54599
54600 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54601
54602         * MODULES.html.sh (Support for systems lacking POSIX:2001):
54603         Mention times and sys_times.
54604         * modules/sys_times, modules/sys_times-tests: New modules.
54605         * modules/times, modules/times-tests: Likewise
54606         * m4/sys_times_h.m4: New file.
54607         * lib/sys_times.in.h: Likewise
54608         * lib/times.c: Likewise.
54609         * tests/test-sys_times.c: Likewise.
54610         * tests/test-times.c: Likewise.
54611         * doc/posix-headers/sys_times.texi: Update.
54612         * doc/posix-functions/times.texi: Update.
54613
54614 2008-10-28  Jim Meyering  <meyering@redhat.com>
54615
54616         * modules/tempname (Depends-on): Add lstat.
54617
54618         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
54619
54620 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54621
54622         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
54623         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
54624         using idiom used elsewhere in gnulib.
54625
54626 2008-10-27  Jim Meyering  <meyering@redhat.com>
54627
54628         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
54629
54630 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54631
54632         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
54633         TESTS_ENVIRONMENT, for shell scripts that needs to call built
54634         programs.
54635         * tests/test-argp-2.sh: Use $EXEEXT when needed.
54636
54637 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54638
54639         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
54640
54641 2008-10-27  Bruno Haible  <bruno@clisp.org>
54642
54643         * tests/test-lstat.c: Include <stdio.h>.
54644
54645 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54646
54647         * modules/lstat-tests: New module.
54648         * tests/test-lstat.c: New file.
54649
54650 2008-10-26  Jim Meyering  <meyering@redhat.com>
54651
54652         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
54653
54654 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54655             Bruno Haible  <bruno@clisp.org>
54656
54657         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
54658         * modules/configmake (Include): Add a note that the include must come
54659         after all system headers.
54660         * lib/javaversion.c: Include configmake.h after all other includes.
54661
54662 2008-10-26  Bruno Haible  <bruno@clisp.org>
54663
54664         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
54665         HAVE_STRUCT_RANDOM_DATA to 1.
54666         (gl_STDLIB_H): Simplify.
54667
54668 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54669
54670         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
54671         substitute HAVE_STRUCT_RANDOM_DATA.
54672         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
54673         random_data.
54674         * modules/stdlib (Makefile.am): Substitute
54675         HAVE_STRUCT_RANDOM_DATA.
54676
54677 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54678
54679         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
54680         * doc/gnulib-intro.texi (Copyright): Likewise.
54681
54682 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54683
54684         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
54685         findings.
54686
54687 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
54688             Bruno Haible  <bruno@clisp.org>
54689
54690         * lib/unistd.in.h: Include <winsock2.h>.
54691         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
54692         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
54693         Provide dummy declarations.
54694         (gethostname): Override.
54695         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
54696         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
54697         gl_PREREQ_SYS_H_WINSOCK2.
54698         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
54699         * doc/posix-functions/gethostname.texi: More details.
54700
54701 2008-10-25  Bruno Haible  <bruno@clisp.org>
54702
54703         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54704         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
54705         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
54706
54707         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
54708         here ...
54709         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
54710         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
54711         gl_UNISTD_H_DEFAULTS.
54712
54713 2008-10-25  Eric Blake  <ebb9@byu.net>
54714
54715         signbit: avoid spurious compiler failure
54716         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
54717         declarations inside function.
54718
54719 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54720             Bruno Haible  <bruno@clisp.org>
54721
54722         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
54723         * modules/random_r (Depends-on): Add stdint.
54724
54725 2008-10-24  Bruno Haible  <bruno@clisp.org>
54726
54727         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
54728         Eggert.
54729         * modules/strerror (License): Likewise.
54730
54731 2008-10-24  Jim Meyering  <meyering@redhat.com>
54732
54733         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
54734         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
54735
54736 2008-10-24  Eric Blake  <ebb9@byu.net>
54737
54738         getgroups: fix compilation when getgroups is available
54739         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
54740         but with <config.h> override of getgroups disabled.
54741
54742 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54743
54744         * doc/gnulib.texi (Header files): Add note about C++ problems.
54745         Explained by Bruno Haible <bruno@clisp.org>.
54746
54747 2008-10-23  Bruno Haible  <bruno@clisp.org>
54748
54749         Define a dummy SA_NODEFER macro on Interix.
54750         * lib/signal.in.h (SA_NODEFER): Define fallback.
54751         Reported by Aleksey Cheusov <cheusov@tut.by> via
54752         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
54753
54754 2008-10-23  Bruno Haible  <bruno@clisp.org>
54755
54756         * modules/freadahead (License): Change to LGPLv2+.
54757         Suggested by Simon Josefsson.
54758
54759 2008-10-23  Jim Meyering  <meyering@redhat.com>
54760
54761         random_r: new module
54762         * modules/random_r: New file.
54763         * m4/random_r.m4: New file.
54764         * lib/random_r.c: New file, from glibc.
54765         * modules/random_r-tests: New file.
54766         * tests/test-random_r.c: New file.
54767         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
54768          Declare.
54769         (RAND_MAX): Define.
54770         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
54771         * modules/stdlib: Substitute them, too.
54772         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
54773         * doc/glibc-functions/initstate_r.texi: Mention the new module.
54774         * doc/glibc-functions/random_r.texi: Likewise.
54775         * doc/glibc-functions/setstate_r.texi: Likewise.
54776         * doc/glibc-functions/srandom_r.texi: Likewise.
54777         * config/srclist.txt: Mention it.
54778
54779 2008-10-23  David Lutterkort  <lutter@redhat.com>
54780
54781         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
54782         link requirement
54783
54784 2008-10-23  Jim Meyering  <meyering@redhat.com>
54785
54786         selinux-h: mark parameters of stub functions as intentionally unused
54787         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
54788         * lib/se-context.in.h: Likewise.
54789
54790 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54791
54792         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
54793
54794 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54795
54796         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
54797
54798 2008-10-22  Eric Blake  <ebb9@byu.net>
54799
54800         glthread/thread: avoid compiler warning
54801         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
54802         Add unreachable abort to silence compiler.
54803
54804 2008-10-22  Eric Blake  <ebb9@byu.net>
54805
54806         netdb: also supply struct addrinfo for cygwin 1.5.x
54807         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
54808         older cygwin.
54809         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
54810         cygwin.
54811         * doc/posix-headers/netdb.texi (netdb.h): Document this.
54812
54813 2008-10-22  Bruno Haible  <bruno@clisp.org>
54814
54815         * users.txt: Update entry about pspp.
54816
54817 2008-10-21  Bruno Haible  <bruno@clisp.org>
54818
54819         Simplification.
54820         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
54821         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
54822
54823         Simplification.
54824         * lib/ioctl.c (ioctl): Don't undefine.
54825         * lib/socket.c (socket): Don't undefine.
54826
54827         Remove unused module indicator macros.
54828         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
54829         GNULIB_$1 as a C macro.
54830
54831         * doc/posix-functions/close.texi: Undo last change.
54832         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
54833         Windows platforms.
54834
54835 2008-10-21  Bruno Haible  <bruno@clisp.org>
54836
54837         Add gethostname() declaration to <unistd.h>.
54838         * lib/unistd.in.h (gethostname): New declaration.
54839         * lib/gethostname.c: Include <unistd.h>.
54840         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
54841         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
54842         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
54843         and HAVE_GETHOSTNAME.
54844         * modules/gethostname (Depends-on): Add unistd.
54845         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54846         (Include): Specify <unistd.h>.
54847         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
54848         HAVE_GETHOSTNAME.
54849         * tests/test-gethostname.c: Include <unistd.h> first.
54850
54851 2008-10-21  Bruno Haible  <bruno@clisp.org>
54852
54853         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
54854         * modules/select-tests (Depends-on): Likewise.
54855         Reported by Simon Josefsson.
54856
54857 2008-10-21  Simon Josefsson  <simon@josefsson.org>
54858
54859         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
54860         * lib/accept.c: New file, based on winsock.c.
54861         * lib/bind.c: New file, based on winsock.c.
54862         * lib/connect.c: New file, based on winsock.c.
54863         * lib/getpeername.c: New file, based on winsock.c.
54864         * lib/getsockname.c: New file, based on winsock.c.
54865         * lib/getsockopt.c: New file, based on winsock.c.
54866         * lib/ioctl.c: New file, based on winsock.c.
54867         * lib/listen.c: New file, based on winsock.c.
54868         * lib/recv.c: New file, based on winsock.c.
54869         * lib/recvfrom.c: New file, based on winsock.c.
54870         * lib/send.c: New file, based on winsock.c.
54871         * lib/sendto.c: New file, based on winsock.c.
54872         * lib/setsockopt.c: New file, based on winsock.c.
54873         * lib/shutdown.c: New file, based on winsock.c.
54874         * lib/socket.c: New file, based on winsock.c.
54875         * lib/w32sock.h: New file, based on winsock.c.
54876         * lib/winsock.c: Remove file.
54877         * modules/accept: Likewise.
54878         * modules/bind: Likewise.
54879         * modules/connect: Likewise.
54880         * modules/getpeername: Likewise.
54881         * modules/getsockname: Likewise.
54882         * modules/getsockopt: Likewise.
54883         * modules/ioctl: Likewise.
54884         * modules/listen: Likewise.
54885         * modules/recv: Likewise.
54886         * modules/recvfrom: Likewise.
54887         * modules/send: Likewise.
54888         * modules/sendto: Likewise.
54889         * modules/setsockopt: Likewise.
54890         * modules/shutdown: Likewise.
54891         * modules/socket: Use socket.c instead of winsock.c.
54892         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
54893         * doc/posix-functions/accept.texi: Doc fix.
54894         * doc/posix-functions/bind.texi: Doc fix.
54895         * doc/posix-functions/close.texi: Doc fix.
54896         * doc/posix-functions/connect.texi: Doc fix.
54897         * doc/posix-functions/getpeername.texi: Doc fix.
54898         * doc/posix-functions/getsockname.texi: Doc fix.
54899         * doc/posix-functions/getsockopt.texi: Doc fix.
54900         * doc/posix-functions/ioctl.texi: Doc fix.
54901         * doc/posix-functions/listen.texi: Doc fix.
54902         * doc/posix-functions/recv.texi: Doc fix.
54903         * doc/posix-functions/recvfrom.texi: Doc fix.
54904         * doc/posix-functions/send.texi: Doc fix.
54905         * doc/posix-functions/sendto.texi: Doc fix.
54906         * doc/posix-functions/setsockopt.texi: Doc fix.
54907         * doc/posix-functions/shutdown.texi: Doc fix.
54908         * doc/posix-functions/socket.texi: Doc fix.
54909
54910 2008-10-20  Bruno Haible  <bruno@clisp.org>
54911
54912         Take into account the role of SIGABRT_COMPAT on Windows 2008.
54913         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
54914         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
54915         as an alias for SIGABRT.
54916         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
54917         (sigaction): Map it to SIGABRT.
54918         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
54919
54920 2008-10-20  Bruno Haible  <bruno@clisp.org>
54921
54922         * lib/fts.c: Don't include lstat.h.
54923         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
54924
54925         Move the lstat() declaration to <sys/stat.h>.
54926         * lib/lstat.h: Remove file.
54927         * lib/sys_stat.in.h: Add special invocation convention.
54928         (lstat): New declaration.
54929         * lib/lstat.c (orig_lstat): New function.
54930         (rpl_lstat): Use orig_lstat instead of lstat.
54931         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
54932         AC_C_INLINE. Set REPLACE_LSTAT.
54933         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
54934         and REPLACE_LSTAT.
54935         * modules/lstat (Files): Remove lib/lstat.h.
54936         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54937         (Include): Specify <sys/stat.h> instead of lstat.h.
54938         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
54939         REPLACE_LSTAT.
54940         * NEWS: Mention the change.
54941
54942 2008-10-20  Bruno Haible  <bruno@clisp.org>
54943
54944         * modules/posix_spawn-tests: New file.
54945         * tests/test-posix_spawn3.c: New file.
54946
54947 2008-10-20  Bruno Haible  <bruno@clisp.org>
54948
54949         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
54950         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54951         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
54952         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54953         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
54954
54955 2008-10-20  Bruno Haible  <bruno@clisp.org>
54956
54957         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
54958         of posix_spawn on AIX 5.3.
54959
54960 2008-10-20  Bruno Haible  <bruno@clisp.org>
54961
54962         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
54963
54964 2008-10-20  Bruno Haible  <bruno@clisp.org>
54965
54966         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
54967         of AC_LANG_PROGRAM.
54968
54969 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54970
54971         * lib/netdb.in.h: Don't define GNU specific constants until they
54972         are supported or needed.  Reported by Bruno Haible
54973         <bruno@clisp.org>.
54974
54975 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54976
54977         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
54978
54979 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54980
54981         * lib/getaddrinfo.h: Remove file.
54982         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
54983         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
54984         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
54985         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
54986         * modules/netdb: Substitute GNULIB_GETADDRINFO.
54987         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
54988         * tests/test-getaddrinfo.c: Likewise.
54989         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
54990         * NEWS: Mention change.
54991
54992 2008-10-19  Bruno Haible  <bruno@clisp.org>
54993
54994         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
54995
54996 2008-10-19  Bruno Haible  <bruno@clisp.org>
54997
54998         * lib/wait-process.c: Include simply <sys/wait.h>.
54999         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
55000         WIFSTOPPED): Remove fallback definitions.
55001         * modules/wait-process (Depends-on): Add sys_wait.
55002
55003         New module 'sys_wait'.
55004         * modules/sys_wait: New file.
55005         * lib/sys_wait.in.h: New file, partially copied from
55006         lib/wait-process.c.
55007         * m4/sys_wait_h.m4: New file.
55008         * doc/posix-headers/sys_wait.texi: Mention the new module.
55009
55010 2008-10-19  Bruno Haible  <bruno@clisp.org>
55011
55012         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
55013
55014 2008-10-19  Bruno Haible  <bruno@clisp.org>
55015
55016         Assume that waitpid() fills an 'int' status, not a 'union wait'.
55017         * lib/wait-process.c (WAIT_T): Remove type.
55018         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
55019         (wait_subprocess): Update.
55020
55021 2008-10-19  Bruno Haible  <bruno@clisp.org>
55022
55023         New module 'atoll'.
55024         * modules/atoll: New file.
55025         * lib/stdlib.in.h (atoll): New declaration.
55026         * lib/atoll.c: New file, from glibc with modifications.
55027         * m4/atoll.m4: New file.
55028         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
55029         HAVE_ATOLL.
55030         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
55031         * doc/posix-functions/atoll.texi: Mention the new module.
55032
55033 2008-10-19  Bruno Haible  <bruno@clisp.org>
55034
55035         Add strtoull() declaration to <stdlib.h>.
55036         * lib/stdlib.in.h (strtoull): New declaration.
55037         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55038         Set HAVE_STRTOULL.
55039         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
55040         HAVE_STRTOULL.
55041         * modules/strtoull (Depends-on): Add stdlib.
55042         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55043         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
55044         HAVE_STRTOULL.
55045
55046 2008-10-19  Bruno Haible  <bruno@clisp.org>
55047
55048         Add strtoll() declaration to <stdlib.h>.
55049         * lib/stdlib.in.h (strtoll): New declaration.
55050         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55051         Set HAVE_STRTOLL.
55052         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
55053         HAVE_STRTOLL.
55054         * modules/strtoll (Depends-on): Add stdlib.
55055         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55056         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
55057
55058 2008-10-19  Bruno Haible  <bruno@clisp.org>
55059
55060         * modules/bcopy (Depends-on): Add strings.
55061         (Include): Specify <strings.h>.
55062
55063 2008-10-19  Bruno Haible  <bruno@clisp.org>
55064
55065         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
55066
55067 2008-10-19  Bruno Haible  <bruno@clisp.org>
55068
55069         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
55070         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
55071         mingw.
55072
55073 2008-10-19  Bruno Haible  <bruno@clisp.org>
55074
55075         * lib/atanl.c: Don't include isnanl.h.
55076         * lib/cosl.c: Likewise.
55077         * lib/ldexpl.c: Likewise.
55078         * lib/logl.c: Likewise.
55079         * lib/sinl.c: Likewise.
55080         * lib/sqrtl.c: Likewise.
55081         * lib/tanl.c: Likewise.
55082
55083         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
55084         * lib/isnanf.h: Remove file.
55085         * lib/isnand.h: Remove file.
55086         * lib/isnanl.h: Remove file.
55087         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
55088         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
55089         macros.
55090         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
55091         HAVE_ISNANF, don't define it as a C macro.
55092         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
55093         HAVE_ISNAND, don't define it as a C macro.
55094         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
55095         HAVE_ISNANL, don't define it as a C macro.
55096         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
55097         HAVE_ISNAN[FDL].
55098         * modules/isnanf (Files): Remove lib/isnanf.h.
55099         (Depends-on): Add math.
55100         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55101         (Include): Specify <math.h> instead of isnanf.h.
55102         * modules/isnand (Files): Remove lib/isnand.h.
55103         (Depends-on): Add math.
55104         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55105         (Include): Specify <math.h> instead of isnand.h.
55106         * modules/isnanl (Files): Remove lib/isnanl.h.
55107         (Depends-on): Add math.
55108         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55109         (Include): Specify <math.h> instead of isnanl.h.
55110         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
55111         HAVE_ISNAN[FDL].
55112         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
55113         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
55114         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
55115         * NEWS: Mention the change.
55116
55117 2008-10-18  Bruno Haible  <bruno@clisp.org>
55118
55119         Add getusershell(), setusershell(), endusershell() declarations to
55120         <unistd.h>.
55121         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
55122         declarations.
55123         * lib/getusershell.c: Include unistd.h.
55124         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
55125         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55126         HAVE_GETUSERSHELL.
55127         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
55128         and HAVE_GETUSERSHELL.
55129         * modules/getusershell (Depends-on): Add unistd, extensions.
55130         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55131         (Include): Specify <unistd.h>.
55132         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
55133         HAVE_GETUSERSHELL.
55134
55135 2008-10-18  Bruno Haible  <bruno@clisp.org>
55136
55137         Add a getloadavg() declaration to <stdlib.h>.
55138         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
55139         getloadavg declaration.
55140         (getloadavg): New declaration.
55141         * lib/getloadavg.c: Include <stdlib.h> first.
55142         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
55143         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
55144         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
55145         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
55146         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55147         * modules/getloadavg (Depends-on): Add stdlib, extensions.
55148         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55149         (Include): Specify <stdlib.h>.
55150         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
55151         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55152
55153 2008-10-18  Bruno Haible  <bruno@clisp.org>
55154
55155         * lib/dirchownmod.c: Don't include lchmod.h.
55156
55157         Move the lchmod() declaration to <sys/stat.h>.
55158         * lib/lchmod.h: Remove file.
55159         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
55160         (lchmod): New declaration, moved here from lib/lchown.h.
55161         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
55162         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
55163         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
55164         and HAVE_LCHMOD.
55165         * modules/lchmod (Files): Remove lib/lchmod.h.
55166         (Depends-on): Add sys_stat, extensions.
55167         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55168         (Include): Specify <sys/stat.h> instead of lchmod.h.
55169         * modules/sys_stat (Depends-on): Add link-warning.
55170         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
55171         definition of GL_LINK_WARNING.
55172         * NEWS: Mention the change.
55173
55174 2008-10-18  Bruno Haible  <bruno@clisp.org>
55175
55176         * lib/fchdir.c: Don't include dirfd.h.
55177         * lib/fts.c: Likewise.
55178         * lib/getcwd.c: Likewise.
55179         * lib/glob.c: Likewise.
55180
55181         Move the dirfd() declaration to <dirent.h>.
55182         * lib/dirfd.h: Remove file.
55183         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
55184         (dirfd): New declaration.
55185         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
55186         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
55187         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
55188         HAVE_DECL_DIRFD.
55189         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
55190         HAVE_DECL_DIRFD.
55191         * modules/dirfd (Files): Remove lib/dirfd.h.
55192         (Depends-on): Add dirent, extensions.
55193         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
55194         (Include): Specify <dirent.h> instead of dirfd.h.
55195         * modules/dirent (Depends-on): Add link-warning.
55196         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
55197         definition of GL_LINK_WARNING.
55198         * NEWS: Mention the change.
55199
55200 2008-10-18  Bruno Haible  <bruno@clisp.org>
55201
55202         Move the euidaccess() declaration to <unistd.h>.
55203         * lib/euidaccess.h: Remove file.
55204         * lib/unistd.in.h (euidaccess): New declaration.
55205         * lib/euidaccess.c: Don't include euidaccess.h.
55206         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
55207         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
55208         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
55209         and HAVE_EUIDACCESS.
55210         * modules/euidaccess (Files): Remove lib/euidaccess.h.
55211         (Depends-on): Add unistd.
55212         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55213         (Include): Specify <unistd.h> instead of euidaccess.h.
55214         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
55215         HAVE_EUIDACCESS.
55216         * NEWS: Mention the change.
55217
55218 2008-10-18  Bruno Haible  <bruno@clisp.org>
55219
55220         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
55221
55222         Move the getdomainname() declaration to <unistd.h>.
55223         * lib/getdomainname.h: Remove file.
55224         * lib/unistd.in.h (getdomainname): New declaration.
55225         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
55226         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
55227         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55228         HAVE_GETDOMAINNAME.
55229         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55230         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
55231         * modules/getdomainname (Files): Remove lib/getdomainname.h.
55232         (Depends-on): Add unistd, extensions.
55233         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55234         (Includes): Specify <unistd.h> instead of getdomainname.h.
55235         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
55236         HAVE_GETDOMAINNAME.
55237         * NEWS: Mention the change.
55238
55239 2008-10-18  Bruno Haible  <bruno@clisp.org>
55240
55241         * modules/dirent: New file.
55242         * m4/dirent_h.m4: New file.
55243         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
55244         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
55245         * modules/fchdir (Files): Remove lib/dirent.in.h.
55246         (Depends-on): Add dirent.
55247         (Makefile.am): Move rules to modules/dirent.
55248         * doc/posix-headers/dirent.texi: Mention the new module.
55249
55250 2008-10-18  Bruno Haible  <bruno@clisp.org>
55251
55252         Avoid -Wunused-parameter warnings in public gnulib header files.
55253         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
55254         macro.
55255         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
55256
55257 2008-10-18  Bruno Haible  <bruno@clisp.org>
55258
55259         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
55260         * doc/glibc-functions/error.texi: Mention the module 'error'.
55261         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
55262         * doc/glibc-functions/getdomainname.texi: Mention the module
55263         'getdomainname'.
55264         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
55265         * doc/glibc-functions/getpagesize.texi: Mention the module
55266         'getpagesize'.
55267         * doc/glibc-functions/getusershell.texi: Mention the module
55268         'getusershell'.
55269         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
55270         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
55271         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
55272         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
55273         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
55274         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
55275         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
55276         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
55277         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
55278         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
55279         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
55280         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
55281         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
55282         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
55283
55284 2008-10-17  Bruno Haible  <bruno@clisp.org>
55285
55286         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
55287         HP-UX and IRIX, use -0.0L.
55288         * tests/test-ceill.c (minus_zero): Likewise.
55289         * tests/test-floorl.c (minus_zero): Likewise.
55290         * tests/test-frexpl.c (minus_zero): Likewise.
55291         * tests/test-isnan.c (minus_zerol): Likewise.
55292         * tests/test-isnanl.h (minus_zero): Likewise.
55293         * tests/test-ldexpl.c (minus_zero): Likewise.
55294         * tests/test-roundl.c (minus_zero): Likewise.
55295         * tests/test-signbit.c (minus_zerol): Likewise.
55296         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
55297         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
55298         * tests/test-truncl.c (minus_zero): Likewise.
55299         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
55300         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
55301         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
55302         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
55303
55304 2008-10-17  Bruno Haible  <bruno@clisp.org>
55305
55306         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
55307         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
55308         that it gets activated only for gcc >= 3.0.
55309         * lib/dirent.in.h: Likewise.
55310         * lib/errno.in.h: Likewise.
55311         * lib/fcntl.in.h: Likewise.
55312         * lib/float.in.h: Likewise.
55313         * lib/iconv.in.h: Likewise.
55314         * lib/inttypes.in.h: Likewise.
55315         * lib/locale.in.h: Likewise.
55316         * lib/math.in.h: Likewise.
55317         * lib/netdb.in.h: Likewise.
55318         * lib/netinet_in.in.h: Likewise.
55319         * lib/search.in.h: Likewise.
55320         * lib/signal.in.h: Likewise.
55321         * lib/spawn.in.h: Likewise.
55322         * lib/stdarg.in.h: Likewise.
55323         * lib/stdint.in.h: Likewise.
55324         * lib/stdio.in.h: Likewise.
55325         * lib/stdlib.in.h: Likewise.
55326         * lib/string.in.h: Likewise.
55327         * lib/strings.in.h: Likewise.
55328         * lib/sys_file.in.h: Likewise.
55329         * lib/sys_ioctl.in.h: Likewise.
55330         * lib/sys_select.in.h: Likewise.
55331         * lib/sys_socket.in.h: Likewise.
55332         * lib/sys_stat.in.h: Likewise.
55333         * lib/sys_time.in.h: Likewise.
55334         * lib/sysexits.in.h: Likewise.
55335         * lib/time.in.h: Likewise.
55336         * lib/unistd.in.h: Likewise.
55337         * lib/wchar.in.h: Likewise.
55338         * lib/wctype.in.h: Likewise.
55339         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55340
55341 2008-10-17  Jim Meyering  <meyering@redhat.com>
55342
55343         ignore-value: don't depend on inline module
55344         * modules/ignore-value (Depends-on): Remove 'inline'.
55345         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
55346         Suggestion from Bruno Haible.
55347
55348 2008-10-17  Bruno Haible  <bruno@clisp.org>
55349
55350         New implementation of condition variables for Win32.
55351         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
55352         (gl_linked_waitqueue_t): New type.
55353         (gl_cond_t): Use it.
55354         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
55355         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
55356         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
55357         (glthread_cond_init_func, glthread_cond_wait_func,
55358         glthread_cond_timedwait_func, glthread_cond_signal_func,
55359         glthread_cond_broadcast_func, glthread_cond_destroy_func):
55360         Reimplemented on the basis of gl_linked_waitqueue_t.
55361         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
55362         gl_waitqueue_t.
55363         (gl_rwlock_t): Update.
55364         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
55365
55366 2008-10-17  Simon Josefsson  <simon@josefsson.org>
55367
55368         * modules/recvfrom (Depends-on): Add dependency on getpeername.
55369         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55370
55371 2008-10-17  Jim Meyering  <meyering@redhat.com>
55372
55373         ignore-value: new module
55374         * modules/ignore-value: New file.
55375         * lib/ignore-value.h: New file.
55376         * MODULES.html.sh (Compiler warning management): New section,
55377         just for this module.  More to come.
55378
55379 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55380
55381         open-safer.c: avoid 'signed and unsigned in conditional...' warning
55382         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
55383         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
55384
55385 2008-10-16  Jim Meyering  <meyering@redhat.com>
55386
55387         openat-die.c: avoid 'no previous prototype' warning
55388         * lib/openat-die.c: Include "openat.h".
55389         Reported by Reuben Thomas <rrt@sc3d.org>.
55390
55391 2008-10-16  Simon Josefsson  <simon@josefsson.org>
55392
55393         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
55394         * lib/netdb.in.h: Fix typo.
55395         Reported by Bruno Haible  <bruno@clisp.org>
55396
55397         * lib/netdb.in.h: Include sys/socket.h for platforms without
55398         netdb.h, to get structures like hostent on MinGW.
55399         * modules/netdb (Depends-on): Add sys_socket.
55400
55401 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55402
55403         * modules/netdb, modules/netdb-tests: New file.
55404         * m4/netdb_h.m4: New file.
55405         * lib/netdb.in.h: Add, currently just an empty file pending
55406         definitions.
55407         * tests/test-netdb.c: New file.
55408         * doc/posix-headers/netdb.texi: Mention that we replace it if
55409         needed.
55410         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55411         netdb.
55412
55413 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55414
55415         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
55416         with code.
55417
55418 2008-10-13  Bruno Haible  <bruno@clisp.org>
55419
55420         * lib/glthread/cond.c (glthread_cond_wait_func,
55421         glthread_cond_timedwait_func): Add a comment.
55422
55423 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55424
55425         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
55426         * tests/test-select.c: Likewise,
55427
55428 2008-10-13  Bruno Haible  <bruno@clisp.org>
55429
55430         * lib/glthread/cond.c (glthread_cond_wait_func,
55431         glthread_cond_timedwait_func): Fix variable name.
55432         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55433
55434 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
55435
55436         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
55437         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
55438         struct sockaddr.sa_len.
55439         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
55440
55441 2008-10-13  Simon Josefsson  <simon@josefsson.org>
55442
55443         * build-aux/pmccabe2html: Add css and css_url parameters.
55444
55445 2008-10-12  Bruno Haible  <bruno@clisp.org>
55446
55447         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
55448         calling aclx_get.
55449         Reported by Rainer Tammer <tammer@tammer.net>.
55450
55451 2008-10-12  Bruno Haible  <bruno@clisp.org>
55452
55453         Use msvcrt aware primitives for creation/termination of Win32 threads.
55454         * lib/glthread/thread.c: Include <process.h>.
55455         (glthread_create_func): Use _beginthreadex instead of CreateThread.
55456         (wrapper_func): Update signature.
55457         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
55458
55459 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55460             Bruno Haible  <bruno@clisp.org>
55461
55462         Provide a Win32 implementation of the 'cond' module.
55463         * lib/glthread/cond.h [USE_WIN32]: New implementation.
55464         * lib/glthread/cond.c (glthread_cond_init_func,
55465         glthread_cond_wait_func, glthread_cond_timedwait_func,
55466         glthread_cond_signal_func, glthread_cond_broadcast_func,
55467         glthread_cond_destroy_func) [USE_WIN32]: New functions.
55468         * modules/cond (Dependencies): Add gettimeofday.
55469
55470 2008-10-11  Bruno Haible  <bruno@clisp.org>
55471
55472         Make sleep work on older versions of mingw.
55473         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
55474         only whether it exists.
55475         * doc/posix-functions/sleep.texi: Mention the problem with older
55476         versions of mingw.
55477
55478 2008-10-11  Bruno Haible  <bruno@clisp.org>
55479
55480         New module 'shutdown'.
55481         * modules/shutdown: New file.
55482         * lib/sys_socket.in.h (shutdown): New declaration.
55483         * lib/winsock.c (shutdown): New function.
55484         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
55485         GNULIB_SHUTDOWN.
55486         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
55487         * doc/posix-functions/shutdown.texi: Document the new module.
55488
55489 2008-10-11  Jim Meyering  <meyering@redhat.com>
55490
55491         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
55492
55493 2008-10-11  Bruno Haible  <bruno@clisp.org>
55494
55495         New module 'fclose'.
55496         * modules/fclose: New file.
55497         * lib/stdio.in.h (fclose): New declaration.
55498         * lib/fclose.c: New file.
55499         * m4/fclose.m4: New file.
55500         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
55501         REPLACE_FCLOSE.
55502         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
55503         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
55504         REPLACE_FCLOSE.
55505         * modules/close (Depends-on): fclose.
55506         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
55507
55508 2008-10-11  Bruno Haible  <bruno@clisp.org>
55509
55510         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
55511         set errno and don't call _close.
55512
55513 2008-10-10  Bruno Haible  <bruno@clisp.org>
55514
55515         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
55516         ACL, not afterwards. Fixes test failure on Cygwin.
55517
55518 2008-10-09  Ben Pfaff  <blp@gnu.org>
55519
55520         * build-aux/announce-gen: Fix gnulib version related part of usage
55521         message.  Die with a useful error message if no tarballs are
55522         found.
55523
55524 2008-10-10  Jim Meyering  <meyering@redhat.com>
55525
55526         bootstrap: use git's --depth=N option only if it's supported
55527         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
55528         recognize the --depth option.  Reported by Pádraig Brady.
55529
55530 2008-10-09  Bruno Haible  <bruno@clisp.org>
55531
55532         New module 'ioctl'.
55533         * modules/ioctl: New file.
55534         * lib/sys_socket.in.h (ioctl): Remove declaration.
55535         * lib/winsock.c: Include <sys/ioctl.h>.
55536         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
55537         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55538         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
55539         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
55540         * doc/posix-functions/ioctl.texi: Mention the new module.
55541
55542 2008-10-09  Bruno Haible  <bruno@clisp.org>
55543
55544         New module 'sys_ioctl'.
55545         * lib/sys_ioctl.in.h: New file.
55546         * m4/sys_ioctl_h.m4: New file.
55547         * modules/sys_ioctl: New file.
55548         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
55549
55550 2008-10-09  Bruno Haible  <bruno@clisp.org>
55551
55552         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
55553         * lib/winsock.c: Include <stdarg.h>.
55554         (rpl_ioctl): Change to second argument 'int' and then varargs.
55555
55556 2008-10-09  Bruno Haible  <bruno@clisp.org>
55557
55558         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
55559         when the sys_socket module is present and the system has <winsock2.h>.
55560
55561 2008-10-09  Bruno Haible  <bruno@clisp.org>
55562
55563         * doc/posix-functions/close.texi: Mention module 'close' instead of
55564         module 'sys_socket'.
55565
55566 2008-10-09  Bruno Haible  <bruno@clisp.org>
55567
55568         * doc/glibc-headers/sys_ioctl.texi: New file.
55569         * doc/gnulib.texi: Include it.
55570
55571 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55572             Bruno Haible  <bruno@clisp.org>
55573
55574         Combine the two replacements of 'close'.
55575         * lib/sys_socket.in.h (close): Define to a reminder to include
55576         <unistd.h>.
55577         (_gl_close_fd_maybe_socket): New declaration.
55578         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
55579         * lib/winsock.c (close): Remove undefinition.
55580         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
55581         needed for the gnulib module 'close'.
55582         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
55583         define to an error symbol or to a warning, if suitable.
55584         * lib/close.c: Include <sys/socket.h>.
55585         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
55586         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
55587         UNISTD_H_HAVE_WINSOCK2_H.
55588         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
55589         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55590         UNISTD_H_HAVE_WINSOCK2_H.
55591         * modules/sys_socket (Files): Add m4/unistd_h.m4.
55592         (configure.ac): Set a module indicator.
55593         (Makefile.am): Substitute GNULIB_CLOSE.
55594         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
55595         * modules/poll-tests (Depends-on): Add close.
55596         * modules/select-tests (Depends-on): Likewise.
55597
55598 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55599             Bruno Haible  <bruno@clisp.org>
55600
55601         New module 'close'.
55602         * modules/close: New file.
55603         * lib/unistd.in.h (close): Move declaration out of the
55604         FCHDIR_REPLACEMENT scope.
55605         (_gl_unregister_fd): New declaration.
55606         * lib/close.c: New file.
55607         * lib/fchdir.c (rpl_close): Remove function.
55608         * m4/close.m4: New file.
55609         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55610         close.
55611         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
55612         REPLACE_CLOSE.
55613         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
55614         REPLACE_CLOSE.
55615         * modules/fchdir (Depends-on): Add close.
55616
55617 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55618             Bruno Haible  <bruno@clisp.org>
55619
55620         * lib/fcntl.in.h (open): Simplify conditionals.
55621         (_gl_register_fd): New declaration.
55622         * lib/fchdir.c (rpl_open): Remove function.
55623         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
55624         also.
55625         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
55626         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55627         open.
55628
55629 2008-10-09  Jim Meyering  <meyering@redhat.com>
55630
55631         GNUmakefile: use the more name-space-friendly "_version"
55632         * top/GNUmakefile (_dummy): Update.
55633         (_version): Rename from "version".
55634
55635 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55636             Bruno Haible  <bruno@clisp.org>
55637
55638         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
55639         rpl_close.
55640         (_gl_register_fd): New function, extracted from rpl_open.
55641         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
55642         (rpl_open, rpl_opendir): Use _gl_register_fd.
55643
55644 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55645
55646         Fix organization of 'open' replacement.
55647         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
55648         (gl_FUNC_OPEN): Use it.
55649         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
55650
55651 2008-10-08  Bruno Haible  <bruno@clisp.org>
55652
55653         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
55654
55655 2008-10-08  Simon Josefsson  <simon@josefsson.org>
55656
55657         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
55658         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
55659         listen).
55660
55661 2008-10-08  Eric Blake  <ebb9@byu.net>
55662
55663         GNUmakefile: add 'make version' target
55664         * top/GNUmakefile (_curr-ver): Split version update rules...
55665         (version): ...into a target.
55666
55667 2008-10-07  Bruno Haible  <bruno@clisp.org>
55668
55669         Use a more portable replacement expression for -0.0L.
55670         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
55671         instead of -0.0L. Fix m4 quotation.
55672
55673         * tests/test-signbit.c: Include <float.h>.
55674         (minus_zero): New variable.
55675         (test_signbitl): Use minus_zero instead of -zero.
55676         * modules/signbit-tests (Depends-on): Add float.
55677
55678         * tests/test-ceill.c: Include <float.h>.
55679         (zero): Remove variable.
55680         (minus_zero): New variable.
55681         (main): Use minus_zero instead of -zero.
55682         * modules/ceill-tests (Depends-on): Add float.
55683
55684         * tests/test-floorl.c: Include <float.h>.
55685         (zero): Remove variable.
55686         (minus_zero): New variable.
55687         (main): Use minus_zero instead of -zero.
55688         * modules/floorl-tests (Depends-on): Add float.
55689
55690         * tests/test-roundl.c: Include <float.h>.
55691         (zero): Remove variable.
55692         (minus_zero): New variable.
55693         (main): Use minus_zero instead of -zero.
55694         * modules/roundl-tests (Depends-on): Add float.
55695
55696         * tests/test-truncl.c: Include <float.h>.
55697         (zero): Remove variable.
55698         (minus_zero): New variable.
55699         (main): Use minus_zero instead of -zero.
55700         * modules/truncl-tests (Depends-on): Add float.
55701
55702         * tests/test-frexpl.c (zero): Remove variable.
55703         (minus_zero): New variable.
55704         (main): Use minus_zero instead of -zero.
55705         * modules/frexpl-tests (Depends-on): Add float.
55706
55707         * tests/test-isnan.c (zerol): Remove variable.
55708         (minus_zerol): New variable.
55709         (test_long_double): Use minus_zerol instead of -zerol.
55710         * modules/isnan-tests (Depends-on): Add float.
55711
55712         * tests/test-isnanl.h (zero): Remove variable.
55713         (minus_zero): New variable.
55714         (main): Use minus_zero instead of -zero.
55715         * modules/isnanl-nolibm-tests (Depends-on): Add float.
55716         * modules/isnanl-tests (Depends-on): Add float.
55717
55718         * tests/test-ldexpl.c (zero): Remove variable.
55719         (minus_zero): New variable.
55720         (main): Use minus_zero instead of -zero.
55721         * modules/ldexpl-tests (Depends-on): Add float.
55722
55723         * tests/test-snprintf-posix.h (zerol): Remove variable.
55724         (minus_zerol): New variable.
55725         (test_function): Use minus_zerol instead of -zerol.
55726         * modules/snprintf-posix-tests (Depends-on): Add float.
55727         * modules/vsnprintf-posix-tests (Depends-on): Add float.
55728
55729         * tests/test-sprintf-posix.h (zerol): Remove variable.
55730         (minus_zerol): New variable.
55731         (test_function): Use minus_zerol instead of -zerol.
55732         * modules/sprintf-posix-tests (Depends-on): Add float.
55733         * modules/vsprintf-posix-tests (Depends-on): Add float.
55734
55735         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
55736         (minus_zerol): New variable.
55737         (test_function): Use minus_zerol instead of -zerol.
55738         * modules/vasnprintf-posix-tests (Depends-on): Add float.
55739
55740         * tests/test-vasprintf-posix.c (zerol): Remove variable.
55741         (minus_zerol): New variable.
55742         (test_function): Use minus_zerol instead of -zerol.
55743         * modules/vasprintf-posix-tests (Depends-on): Add float.
55744
55745 2008-10-07  Simon Josefsson  <simon@josefsson.org>
55746
55747         * MODULES.html.sh (Support for building documentation): Mention
55748         pmccabe2html.  Sort entries.
55749
55750         Add pmccabe2html module, from gnupdf.
55751         * build-aux/pmccabe.css: New file.
55752         * build-aux/pmccabe2html: New file.
55753         * m4/pmccabe2html.m4: New file.
55754         * modules/pmccabe2html: New file.
55755
55756 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
55757
55758         flock: new module
55759         * MODULES.html.sh: Add to list of modules.
55760         * lib/flock.c: flock implementation for Windows and Unix systems
55761         which have fcntl.
55762         * doc/glibc-functions/flock.texi: Update documentation.
55763         * lib/sys_file.in.h: <sys/file.h> header file.
55764         * m4/flock.m4: M4 macros.
55765         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
55766         * modules/flock: flock module.
55767         * modules/flock-tests: flock tests module.
55768         * modules/sys_file: sys/file.h module.
55769         * tests/test-flock.c: test suite for flock.
55770
55771 2008-10-06  Jim Meyering  <meyering@redhat.com>
55772
55773         bootstrap: check for LT_INIT more portably still ;-)
55774         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
55775         Spotted by Bruno Haible.
55776
55777 2008-10-06  Eric Blake  <ebb9@byu.net>
55778
55779         test-signbit: avoid tripping Irix cc bug on -0.0L
55780         * tests/test-signbit.c (minus_zerol): Delete, and replace with
55781         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
55782         entire testsuite consistent and avoids an Irix 6.2 bug.
55783
55784 2008-10-05  Bruno Haible  <bruno@clisp.org>
55785             Jim Meyering  <jim@meyering.net>
55786
55787         Add an option for ignoring EPIPE during close_stdout.
55788         * lib/closeout.h: Include <stdbool.h>.
55789         (close_stdout_set_ignore_EPIPE): New declaration.
55790         * lib/closeout.c: Include <stdbool.h>.
55791         (ignore_EPIPE): New variable.
55792         (close_stdout_set_ignore_EPIPE): New function.
55793         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
55794         * lib/close-stream.c (close_stream): Mention the possible EPIPE
55795         failure.
55796         * modules/closeout (Depends-on): Add stdbool.
55797
55798 2008-10-05  Bruno Haible  <bruno@clisp.org>
55799
55800         * modules/accept: New file.
55801         * modules/bind: New file.
55802         * modules/connect: New file.
55803         * modules/getpeername: New file.
55804         * modules/getsockname: New file.
55805         * modules/getsockopt: New file.
55806         * modules/listen: New file.
55807         * modules/recv: New file.
55808         * modules/recvfrom: New file.
55809         * modules/send: New file.
55810         * modules/sendto: New file.
55811         * modules/setsockopt: New file.
55812         * modules/socket: New file.
55813         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
55814         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
55815         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
55816         the particular module is requested. Add a link warning when the
55817         particular module is not requested.
55818         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
55819         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
55820         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
55821         the particular module is requested.
55822         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
55823         gl_SYS_SOCKET_H_DEFAULTS): New macros.
55824         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
55825         * modules/sys_socket (Depends-on): Add link-warning.
55826         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
55827         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
55828         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
55829         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
55830         GL_LINK_WARNING.
55831         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
55832         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
55833         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
55834         * doc/posix-functions/getpeername.texi: Mention the new module
55835         'getpeername'.
55836         * doc/posix-functions/getsockname.texi: Mention the new module
55837         'getsockname'.
55838         * doc/posix-functions/getsockopt.texi: Mention the new module
55839         'getsockopt'.
55840         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
55841         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
55842         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
55843         * doc/posix-functions/send.texi: Mention the new module 'send'.
55844         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
55845         * doc/posix-functions/setsockopt.texi: Mention the new module
55846         'setsockopt'.
55847         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
55848         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
55849         listen, connect, accept.
55850         * modules/select-tests (Depends-on): Likewise.
55851
55852 2008-10-05  Bruno Haible  <bruno@clisp.org>
55853
55854         * lib/winsock.c (strerror): Remove unused #undef.
55855         (rpl_close): Remove unused local variable.
55856
55857         * modules/sys_socket (Depends-on); Add errno.
55858
55859 2008-10-05  Bruno Haible  <bruno@clisp.org>
55860
55861         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
55862         (select): Add a link warning when the 'select' module is not used.
55863         * modules/sys_select (Depends-on): Add link-warning.
55864         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
55865         Suggested by Paolo Bonzini.
55866
55867 2008-10-05  Jim Meyering  <meyering@redhat.com>
55868
55869         bootstrap: check for LT_INIT more portably
55870         * build-aux/bootstrap: Avoid using grep -E, since it's not
55871         portable enough.  Suggestion from Bruno Haible.
55872
55873 2008-10-05  Bruno Haible  <bruno@clisp.org>
55874
55875         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
55876         as being fixed by gnulib.
55877
55878 2008-10-05  Bruno Haible  <bruno@clisp.org>
55879
55880         * modules/select-tests: New file, mostly copied from
55881         modules/sys_select-tests.
55882         * tests/test-select.c: New file, mostly copied from
55883         tests/test-sys_select.c.
55884         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
55885         * modules/sys_select-tests (Depends-on): Remove all dependencies.
55886         (Makefile.am): Remove test_sys_select_LDADD.
55887
55888         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
55889         to an undefined symbol, for an error message.
55890         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
55891         (gl_SYS_SELECT_H_DEFAULTS): New macro.
55892         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
55893         winsock-select.c here.
55894         * modules/sys_select (Files): Remove lib/winsock-select.c.
55895         (Depends-on): Remove alloca.
55896         (Makefile.am): Substitute GNULIB_SELECT.
55897         * modules/select: New file.
55898         * doc/posix-functions/select.texi: Update.
55899
55900 2008-10-05  Bruno Haible  <bruno@clisp.org>
55901
55902         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
55903         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
55904         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
55905         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
55906         getdtablesize.
55907         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55908         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55909
55910 2008-10-05  Bruno Haible  <bruno@clisp.org>
55911
55912         * modules/getdtablesize-tests: New file.
55913         * tests/test-getdtablesize.c: New file.
55914
55915         New module 'getdtablesize'.
55916         * lib/unistd.in.h (getdtablesize): New declaration.
55917         * lib/getdtablesize.c: New file.
55918         * m4/getdtablesize.m4: New file.
55919         * modules/getdtablesize: New file.
55920         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55921         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
55922         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
55923         HAVE_GETDTABLESIZE.
55924         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
55925
55926 2008-10-05  Bruno Haible  <bruno@clisp.org>
55927
55928         * modules/sched (Makefile.am): Fix typo.
55929         Reported by Simon Josefsson.
55930
55931 2008-10-05  Jim Meyering  <meyering@redhat.com>
55932
55933         bootstrap: check for LT_INIT, too
55934         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
55935         are deprecated.  Suggestion from Ralf Wildenhues.
55936
55937 2008-10-05  Bruno Haible  <bruno@clisp.org>
55938
55939         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
55940         overriding them by ours.
55941         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
55942
55943 2008-10-05  Jim Meyering  <meyering@redhat.com>
55944
55945         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
55946         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
55947         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
55948
55949 2008-10-04  Bruno Haible  <bruno@clisp.org>
55950
55951         * modules/dup2 (License): Change to LGPLv2+.
55952         * modules/sleep (License): Likewise.
55953         * modules/perror (License): Likewise.
55954         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
55955         Blake.
55956         * modules/signal (License): Likewise.
55957         * modules/sigprocmask (License): Likewise.
55958         * modules/raise (License): Change to LGPLv2+, with approval by Jim
55959         Meyering.
55960
55961 2008-10-04  Bruno Haible  <bruno@clisp.org>
55962
55963         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
55964         Reported by Rainer Tammer <tammer@tammer.net>.
55965
55966 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
55967             Bruno Haible  <bruno@clisp.org>
55968
55969         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
55970         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
55971         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
55972
55973 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
55974
55975         filevercmp: new module
55976         * lib/filevercmp.h: New function filevercmp comparing version strings.
55977         * lib/filevercmp.c: Implementation of filevercmp function.
55978         * modules/filevercmp: Module metadata.
55979         * tests/test-filevercmp.c: Unit test for new module.
55980         * modules/filevercmp-tests: Unit test metadata.
55981         * MODULES.html.sh: Add filevercmp module.
55982
55983 2008-10-03  Bruno Haible  <bruno@clisp.org>
55984
55985         * lib/c-ctype.h: Add comment.
55986         Reported by Jim Meyering.
55987
55988 2008-10-02  Bruno Haible  <bruno@clisp.org>
55989
55990         * modules/posix_spawn-internal (Depends-on): Add 'open'.
55991
55992 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55993
55994         * build-aux/bootstrap: Allow renaming bootstrap, and change the
55995         name of bootstrap.conf accordingly.
55996
55997 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55998
55999         * build-aux/bootstrap: Install git-merge-changelog configuration
56000         items into .gitconfig if needed.
56001
56002 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56003
56004         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
56005         git repository, and initialize/update it accordingly.
56006
56007 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
56008
56009         * modules/fsync-tests: New file.
56010         * tests/test-fsync.c: New file.
56011
56012         New module 'fsync'.
56013         * lib/fsync.c: New file.
56014         * m4/fsync.m4: New file.
56015         * modules/fsync: New file.
56016         * lib/unistd.in.h (fsync): New declaration.
56017         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
56018         GNULIB_FSYNC and HAVE_FSYNC.
56019         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
56020         * MODULES.html.sh (posix_functions): Add fsync.
56021         * doc/posix-functions/fsync.texi: Mention the new module.
56022
56023 2008-10-02  Jim Meyering  <meyering@redhat.com>
56024
56025         fts.c: sync with similar code from coreutils' remove.c
56026         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
56027         Guard also with "#if defined __linux__", since for now at least,
56028         this code is Linux-kernel-specific.
56029
56030 2008-10-02  Jim Meyering  <meyering@redhat.com>
56031
56032         fts: bug fixes
56033         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
56034         Include <sys/vfs.h>, not <sys/statfs.h>.
56035
56036         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
56037         Include <sys/vfs.h>, not <sys/statfs.h>.
56038
56039 2008-10-01  Bruno Haible  <bruno@clisp.org>
56040
56041         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
56042         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
56043         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
56044         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
56045         * doc/posix-functions/posix_spawnp.texi: Likewise.
56046         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
56047         whether posix_spawn actually works.
56048         * m4/pipe.m4 (gl_PIPE): Likewise.
56049         * modules/execute (Files): Add m4/posix_spawn.m4.
56050         * modules/pipe (Files): Add m4/posix_spawn.m4.
56051         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
56052
56053 2008-10-01  Jim Meyering  <meyering@redhat.com>
56054
56055         remove trailing spaces
56056         * NEWS: Likewise.
56057         * lib/poll.c (poll): Likewise.
56058         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
56059         * lib/winsock.c (rpl_close): Likewise.
56060         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
56061         * modules/yield: Likewise.
56062         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
56063         * tests/test-sys_select.c (connect_to_socket): Likewise.
56064
56065         fts.c: adjust a new interface to be more generally useful
56066         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
56067         (fts_build): Adjust caller.
56068
56069 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56070
56071         * modules/cond-tests: New file.
56072         * tests/test-cond.c: New file.
56073
56074 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56075             Bruno Haible  <bruno@clisp.org>
56076
56077         * modules/cond (Dependencies): Add errno, time.
56078         * lib/glthread/cond.h: Include <time.h>.
56079         (gl_cond_define, gl_cond_define_initialized): Use the same definition
56080         across platforms.
56081
56082 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56083             Bruno Haible  <bruno@clisp.org>
56084
56085         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
56086
56087 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56088             Bruno Haible  <bruno@clisp.org>
56089
56090         * modules/tls-tests (Depends-on): Add thread, yield.
56091         (configure.ac): Remove all checks.
56092         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
56093         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56094         gl_thread_self): Remove definitions. Include glthread/thread.h and
56095         glthread/yield.h instead.
56096         (test_tls): Pass an additional NULL argument to gl_thread_join.
56097
56098 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56099             Bruno Haible  <bruno@clisp.org>
56100
56101         * modules/lock-tests (Depends-on): Add thread, yield.
56102         (configure.ac): Remove all checks.
56103         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
56104         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56105         gl_thread_self): Remove definitions. Include glthread/thread.h and
56106         glthread/yield.h instead.
56107         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
56108         additional NULL argument to gl_thread_join.
56109
56110 2008-09-30  Bruno Haible  <bruno@clisp.org>
56111
56112         Fix the Win32 implementation of the 'thread' module.
56113         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
56114         pointer type.
56115         (gl_thread_self): Invoke gl_thread_self_func.
56116         (gl_thread_self_func): New declaration.
56117         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
56118         (do_init_self_key, init_self_key): New functions.
56119         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
56120         Remove some fields.
56121         (running_threads, running_lock): Remove variables.
56122         (get_current_thread_handle): New function.
56123         (gl_thread_self_func, wrapper_func, glthread_create_func,
56124         glthread_join_func, gl_thread_exit_func): Largely rewritten and
56125         simplified.
56126
56127 2008-09-30  Bruno Haible  <bruno@clisp.org>
56128
56129         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
56130         files.
56131
56132 2008-09-30  Jim Meyering  <meyering@redhat.com>
56133
56134         fts.m4: correct the test for statfs.f_type
56135         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
56136         when checking for statfs.f_type.
56137
56138 2008-09-15  Simon Josefsson  <simon@josefsson.org>
56139
56140         tests: avoid some compiler warnings
56141         * tests/test-memchr.c (main): Pass NULL indirectly.
56142         * tests/test-getdate.c (main): Remove unused variable 'ret'.
56143
56144 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
56145
56146         getdate.y: disallow countable dayshifts like "4 yesterday ago"
56147         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
56148         exactly specified dayshifts.
56149         (dayshift): New rule.
56150         (rel): Add dayshift.
56151         (relative_time_table) [tomorrow, yesterday, today, now]:
56152         Use tDAY_SHIFT in place of tDAY_UNIT.
56153         * tests/test-getdate.c: Add tests for now-disallowed countable
56154         dayshifts, e.g., "4 yesterday ago".
56155
56156 2008-09-29  Bruno Haible  <bruno@clisp.org>
56157
56158         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
56159         * tests/test-posix_spawn1.in.sh: Renamed from
56160         tests/test-posix_spawn.in.sh.
56161         * tests/test-posix_spawn2.c: New file.
56162         * tests/test-posix_spawn2.in.sh: New file.
56163         * modules/posix_spawnp-tests (Files): Update.
56164         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
56165
56166 2008-09-29  Bruno Haible  <bruno@clisp.org>
56167
56168         Propagate effects of putenv/setenv/unsetenv to child processes.
56169         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
56170         * lib/pipe.c (create_pipe): Likewise.
56171
56172 2008-09-29  Bruno Haible  <bruno@clisp.org>
56173
56174         Enable use of shell scripts as executables in mingw.
56175         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
56176         run the program as a shell script.
56177         * lib/pipe.c (create_pipe): Likewise.
56178         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
56179         resulting array.
56180
56181 2008-09-29  Eric Blake  <ebb9@byu.net>
56182
56183         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
56184
56185 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
56186
56187         * doc/posix-functions/accept.texi: Update mingw problems.
56188         * doc/posix-functions/bind.texi: Update mingw problems.
56189         * doc/posix-functions/close.texi: Update mingw problems.
56190         * doc/posix-functions/connect.texi: Update mingw problems.
56191         * doc/posix-functions/getpeername.texi: Update mingw problems.
56192         * doc/posix-functions/getsockname.texi: Update mingw problems.
56193         * doc/posix-functions/getsockopt.texi: Update mingw problems.
56194         * doc/posix-functions/ioctl.texi: Update mingw problems.
56195         * doc/posix-functions/listen.texi: Update mingw problems.
56196         * doc/posix-functions/recv.texi: Update mingw problems.
56197         * doc/posix-functions/recvfrom.texi: Update mingw problems.
56198         * doc/posix-functions/select.texi: Update mingw problems.
56199         * doc/posix-functions/send.texi: Update mingw problems.
56200         * doc/posix-functions/sendto.texi: Update mingw problems.
56201         * doc/posix-functions/setsockopt.texi: Update mingw problems.
56202         * doc/posix-functions/socket.texi: Update mingw problems.
56203
56204 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
56205             Bruno Haible  <bruno@clisp.org>
56206
56207         * lib/sys_select.in.h: Include sys/time.h.
56208         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
56209         * modules/sys_select: Depend on sys_time.
56210         * tests/test-sys_select.c: Test that sys/select.h defines struct
56211         timeval fully.
56212
56213 2008-09-29  Bruno Haible  <bruno@clisp.org>
56214
56215         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
56216         * lib/sys_select.in.h: Likewise.
56217
56218 2008-09-29  Bruno Haible  <bruno@clisp.org>
56219
56220         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
56221
56222 2008-09-29  Bruno Haible  <bruno@clisp.org>
56223
56224         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
56225         Set LIBSOCKET instead of augmenting LIBS.
56226         * modules/sockets (Link): New section.
56227         * modules/sockets-tests (test_sockets_LDADD): New variable.
56228         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
56229         * modules/poll-tests (test_poll_LDADD): New variable.
56230         * NEWS: Document the change.
56231
56232 2008-09-29  Bruno Haible  <bruno@clisp.org>
56233
56234         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
56235         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
56236         ARPA_INET_H directly.
56237         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56238
56239 2008-09-28  Bruno Haible  <bruno@clisp.org>
56240
56241         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
56242         from gl_HEADER_SYS_SOCKET.
56243         (gl_HEADER_SYS_SOCKET): Invoke it.
56244         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56245
56246 2008-09-28  Bruno Haible  <bruno@clisp.org>
56247
56248         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
56249         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
56250         Needed on OSF/1 4.0.
56251
56252 2008-09-28  Bruno Haible  <bruno@clisp.org>
56253
56254         Override open more carefully.
56255         * lib/open.c (orig_open): New function.
56256         (rpl_open): Use orig_open instead of open.
56257         * lib/fcntl.in.h: Add special invocation convention.
56258         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
56259         (gl_FUNC_OPEN): Invoke it.
56260
56261         Override freopen more carefully.
56262         * lib/freopen.c (orig_freopen): New function.
56263         (rpl_freopen): Use orig_freopen instead of freopen.
56264         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
56265         (gl_FUNC_FREOPEN): Invoke it.
56266
56267         Override fopen more carefully.
56268         * lib/fopen.c (orig_fopen): New function.
56269         (rpl_fopen): Use orig_fopen instead of fopen.
56270         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
56271         (gl_FUNC_FOPEN): Invoke it.
56272         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
56273
56274 2008-09-28  Bruno Haible  <bruno@clisp.org>
56275
56276         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
56277         SIGPIPE.
56278
56279 2008-09-28  Bruno Haible  <bruno@clisp.org>
56280
56281         * tests/test-sigaction.c (handler, main): Disable the check whether
56282         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
56283         glibc systems with LinuxThreads.
56284
56285 2008-09-28  Bruno Haible  <bruno@clisp.org>
56286
56287         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
56288
56289         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
56290         with AIX xlc.
56291         * lib/fcntl.in.h (open): Likewise.
56292         Reported by Rainer Tammer <tammer@tammer.net>.
56293
56294 2008-09-28  Bruno Haible  <bruno@clisp.org>
56295
56296         * modules/posix_spawnp-tests: New file.
56297         * tests/test-posix_spawn.c: New file.
56298         * tests/test-posix_spawn.in.sh: New file.
56299
56300         New module 'posix_spawnp'.
56301         * modules/posix_spawnp: New file.
56302         * lib/spawnp.c: New file, from GNU libc with modifications.
56303         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
56304
56305         New module 'posix_spawn'.
56306         * modules/posix_spawn: New file.
56307         * lib/spawn.c: New file, from GNU libc with modifications.
56308         * doc/posix-functions/posix_spawn.texi: Mention the new module.
56309
56310         New module 'posix_spawnattr_destroy'.
56311         * modules/posix_spawnattr_destroy: New file.
56312         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
56313         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
56314         module.
56315
56316         New module 'posix_spawnattr_setsigmask'.
56317         * modules/posix_spawnattr_setsigmask: New file.
56318         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
56319         modifications.
56320         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
56321         new module.
56322
56323         New module 'posix_spawnattr_getsigmask'.
56324         * modules/posix_spawnattr_getsigmask: New file.
56325         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
56326         modifications.
56327         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
56328         new module.
56329
56330         New module 'posix_spawnattr_setsigdefault'.
56331         * modules/posix_spawnattr_setsigdefault: New file.
56332         * lib/spawnattr_setdefault.c: New file, from GNU libc with
56333         modifications.
56334         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
56335         new module.
56336
56337         New module 'posix_spawnattr_getsigdefault'.
56338         * modules/posix_spawnattr_getsigdefault: New file.
56339         * lib/spawnattr_getdefault.c: New file, from GNU libc with
56340         modifications.
56341         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
56342         new module.
56343
56344         New module 'posix_spawnattr_setschedpolicy'.
56345         * modules/posix_spawnattr_setschedpolicy: New file.
56346         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
56347         modifications.
56348         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
56349         new module.
56350
56351         New module 'posix_spawnattr_getschedpolicy'.
56352         * modules/posix_spawnattr_getschedpolicy: New file.
56353         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
56354         modifications.
56355         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
56356         new module.
56357
56358         New module 'posix_spawnattr_setschedparam'.
56359         * modules/posix_spawnattr_setschedparam: New file.
56360         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
56361         modifications.
56362         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
56363         new module.
56364
56365         New module 'posix_spawnattr_getschedparam'.
56366         * modules/posix_spawnattr_getschedparam: New file.
56367         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
56368         modifications.
56369         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
56370         new module.
56371
56372         New module 'posix_spawnattr_setpgroup'.
56373         * modules/posix_spawnattr_setpgroup: New file.
56374         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
56375         modifications.
56376         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
56377         module.
56378
56379         New module 'posix_spawnattr_getpgroup'.
56380         * modules/posix_spawnattr_getpgroup: New file.
56381         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
56382         modifications.
56383         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
56384         module.
56385
56386         New module 'posix_spawnattr_setflags'.
56387         * modules/posix_spawnattr_setflags: New file.
56388         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
56389         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
56390         module.
56391
56392         New module 'posix_spawnattr_getflags'.
56393         * modules/posix_spawnattr_getflags: New file.
56394         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
56395         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
56396         module.
56397
56398         New module 'posix_spawnattr_init'.
56399         * modules/posix_spawnattr_init: New file.
56400         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
56401         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
56402         module.
56403
56404         New module 'posix_spawn_file_actions_destroy'.
56405         * modules/posix_spawn_file_actions_destroy: New file.
56406         * lib/spawn_faction_destroy.c: New file, from GNU libc with
56407         modifications.
56408         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
56409         the new module.
56410
56411         New module 'posix_spawn_file_actions_addopen'.
56412         * modules/posix_spawn_file_actions_addopen: New file.
56413         * lib/spawn_faction_addopen.c: New file, from GNU libc with
56414         modifications.
56415         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
56416         the new module.
56417
56418         New module 'posix_spawn_file_actions_adddup2'.
56419         * modules/posix_spawn_file_actions_adddup2: New file.
56420         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
56421         modifications.
56422         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
56423         the new module.
56424
56425         New module 'posix_spawn_file_actions_addclose'.
56426         * modules/posix_spawn_file_actions_addclose: New file.
56427         * lib/spawn_faction_addclose.c: New file, from GNU libc with
56428         modifications.
56429         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
56430         the new module.
56431
56432         New module 'posix_spawn_file_actions_init'.
56433         * modules/posix_spawn_file_actions_init: New file.
56434         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
56435         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
56436         new module.
56437
56438         New module 'posix_spawn-internal'.
56439         * modules/posix_spawn-internal: New file.
56440         * lib/spawn_int.h: New file, from GNU libc with modifications.
56441         * lib/spawni.c: New file, from GNU libc with modifications.
56442         * m4/posix_spawn.m4: New file.
56443
56444         New module 'spawn'.
56445         * modules/spawn: New file.
56446         * lib/spawn.in.h: New file, from GNU libc with modifications.
56447         * m4/spawn_h.m4: New file.
56448         * doc/posix-headers/spawn.texi: Mention the new module.
56449
56450 2008-09-28  Bruno Haible  <bruno@clisp.org>
56451
56452         * modules/sched-tests: New file.
56453         * tests/test-sched.c: New file.
56454
56455         New module 'sched'.
56456         * modules/sched: New file.
56457         * lib/sched.in.h: New file.
56458         * m4/sched_h.m4: New file.
56459         * doc/posix-headers/sched.texi: Mention the new module.
56460
56461 2008-09-27  Eric Blake  <ebb9@byu.net>
56462
56463         Fix previous patch, and tweak references to $0.
56464         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
56465         (func_version, func_gnulib_dir): Don't call this program
56466         gnulib-tool.
56467         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
56468         with using $0 in function.
56469         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
56470         (func_fatal_error): Reuse the name the user invoked us with.
56471
56472 2008-09-27  Bruno Haible  <bruno@clisp.org>
56473
56474         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
56475         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
56476         (gl_ICONV_H): Not here.
56477         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
56478         instead of assigning ICONV_H directly.
56479
56480         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
56481         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
56482         WCHAR_H directly.
56483
56484 2008-09-27  Bruno Haible  <bruno@clisp.org>
56485
56486         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
56487         * modules/arpa_inet (Depends-on): Add link-warning.
56488         (Makefile.am): Insert the definition of GL_LINK-WARNING.
56489         * modules/unistd (Makefile.am): Likewise.
56490
56491 2008-09-26  Bruno Haible  <bruno@clisp.org>
56492
56493         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
56494         variables.
56495         (func_version): Essentially copied from gnulib-tool.
56496         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
56497         func_readlink): Copied from gnulib-tool.
56498
56499 2008-09-26  Bruno Haible  <bruno@clisp.org>
56500
56501         * gnulib-tool (func_version): Change directory to $gnulib_dir before
56502         invoking git-version-gen.
56503
56504 2008-09-26  Bruno Haible  <bruno@clisp.org>
56505
56506         * posix-modules: Update to directory names changed on 2008-01-19.
56507         Remove commas in output before splitting into words. No more need to
56508         avoid 'ftruncate' since 2007-02-19.
56509
56510 2008-09-26  Bruno Haible  <bruno@clisp.org>
56511
56512         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
56513
56514 2008-09-26  Bruno Haible  <bruno@clisp.org>
56515
56516         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
56517         * modules/fwriteerror (Depends-on): Add errno.
56518
56519 2008-09-26  Bruno Haible  <bruno@clisp.org>
56520
56521         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
56522         * tests/test-vc-list-files-cvs.sh: Likewise.
56523
56524 2008-09-26  Bruno Haible  <bruno@clisp.org>
56525
56526         * doc/posix-headers/sys_resource.texi: Reorder items.
56527
56528 2008-09-26  Jim Meyering  <meyering@redhat.com>
56529
56530         fts: tweak inode comparison function
56531         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
56532         inode numbers, as documented.
56533
56534         fts: sort dirent entries on inode number before traversing
56535         This avoids a quadratic, seek-related performance penalty when
56536         operating on a directory containing many entries (measurable at 10k;
56537         3.5 hours at 2 million entries with a cold cache) on certain types
56538         of file systems, including ext3 and ext4, but not tmpfs.
56539         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
56540         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
56541         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
56542         (fs_handles_readdir_ordered_dirents_efficiently): New function.
56543         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
56544         (fts_build): Set the stat.st_ino member from D_INO.
56545         If it is likely to be useful, sort dirent entries on inode number.
56546
56547         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
56548         and the struct statfs.f_type member.
56549         * modules/fts (Depends-on): Add d-ino.
56550
56551 2008-09-26  Bruno Haible  <bruno@clisp.org>
56552
56553         * modules/sigpipe-die (Depends-on): Add sigpipe.
56554
56555         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
56556         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
56557         and GNULIB_STDIO_H_SIGPIPE are set.
56558         * lib/stdio-write.c: New file.
56559         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
56560         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56561         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56562         REPLACE_STDIO_WRITE_FUNCS.
56563         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
56564         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56565         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56566         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56567         * modules/stdio (Files): Add lib/stdio-write.c.
56568         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
56569         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56570         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56571         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56572         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
56573         REPLACE_FPRINTF_POSIX.
56574         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
56575         REPLACE_PRINTF_POSIX.
56576         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
56577         REPLACE_VFPRINTF_POSIX.
56578         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
56579         REPLACE_VPRINTF_POSIX.
56580         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
56581         SIGPIPE issue.
56582         * doc/posix-functions/fputc.texi: Likewise.
56583         * doc/posix-functions/fputs.texi: Likewise.
56584         * doc/posix-functions/fwrite.texi: Likewise.
56585         * doc/posix-functions/printf.texi: Likewise.
56586         * doc/posix-functions/putc.texi: Likewise.
56587         * doc/posix-functions/putchar.texi: Likewise.
56588         * doc/posix-functions/puts.texi: Likewise.
56589         * doc/posix-functions/vfprintf.texi: Likewise.
56590         * doc/posix-functions/vprintf.texi: Likewise.
56591
56592         * modules/safe-write (Depends-on): Add write.
56593
56594         * modules/sigpipe-tests: New file.
56595         * tests/test-sigpipe.c: New file.
56596         * tests/test-sigpipe.sh: New file.
56597
56598         * modules/write: New file.
56599         * lib/unistd.in.h: Include <sys/types.h>.
56600         (write): New declaration.
56601         * lib/write.c: New file.
56602         * m4/write.m4: New file.
56603         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56604         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
56605         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
56606         GNULIB_WRITE, REPLACE_WRITE.
56607         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
56608         and the SIGPIPE issue.
56609
56610         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
56611         (raise): New declaration.
56612         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
56613         (ext_signal): New function.
56614         (rpl_raise): New function.
56615         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
56616         GNULIB_SIGNAL_H_SIGPIPE.
56617         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
56618         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
56619
56620         * modules/sigpipe: New file.
56621         * m4/sigpipe.m4: New file.
56622
56623 2008-09-25  Derek Price  <derek@ximbiot.com>
56624             Bruno Haible  <bruno@clisp.org>
56625
56626         * gnulib-tool (func_import): Report all license incompatibilities, not
56627         just the first one.
56628
56629 2008-09-25  Bruno Haible  <bruno@clisp.org>
56630
56631         * gnulib-tool (func_import): When computing the edits, consider not
56632         only the Makefile.ams that exist but also those that will be generated.
56633
56634 2008-09-25  Simon Josefsson  <simon@josefsson.org>
56635
56636         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
56637         fixes gnulib-tool --test warning about duplicate dependency.
56638
56639 2008-09-25  Bruno Haible  <bruno@clisp.org>
56640
56641         * gnulib-tool: Don't ask the user to perform edits in the generated
56642         Makefile.ams.
56643         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
56644         apply to the Makefile.am being generated.
56645         (func_emit_tests_Makefile_am): Execute edits that apply to the
56646         Makefile.am being generated.
56647         (func_import): Setup list of Makefile.am edits before emitting the
56648         Makefile.ams, not at the end.
56649         (func_create_testdir): Update.
56650         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56651
56652 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56653
56654         * gnulib-tool (func_import): Store the --tests-base option in the
56655         comment in gnulib-cache.m4.
56656
56657 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
56658
56659         * NEWS: Document increased portability that sys_select now provides.
56660
56661         * lib/sys_select.in.h: Install select wrapper.
56662         * lib/sys_socket.in.h: Use more descriptive name when there is no
56663         select wrapper.
56664         * lib/winsock-select.c: New.
56665         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
56666         Require gl_HEADER_SYS_SOCKET.
56667         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
56668         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
56669         * tests/test-sys_select.c: Add functional tests.
56670
56671 2008-09-24  Eric Blake  <ebb9@byu.net>
56672
56673         open, fopen: close fd leak in last patch
56674         * lib/open.c (rpl_open): Close fd before returning error.
56675         * lib/fopen.c (rpl_fopen): Close fd before returning error.
56676         * doc/posix-functions/open.texi (open): Document that Irix also
56677         has the bug.
56678         * doc/posix-functions/fopen.texi (fopen): Likewise.
56679         Reported by Paolo Bonzini.
56680
56681 2008-09-24  Bruno Haible  <bruno@clisp.org>
56682
56683         Ensure that a filename ending in a slash cannot be used to access a
56684         non-directory.
56685         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
56686         to check whether it's really a directory.
56687         * lib/fopen.c: Include fcntl.h, unistd.h.
56688         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
56689         and fdopen().
56690         * modules/fopen (Depends-on): Add unistd.
56691         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
56692         * tests/test-fopen.c (main): Likewise.
56693         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
56694         * doc/posix-functions/fopen.texi: Likewise.
56695         Reported by Eric Blake.
56696
56697 2008-09-23  Eric Blake  <ebb9@byu.net>
56698
56699         c-stack: avoid compiler optimizations when provoking overflow
56700         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
56701         recursion harder to optimize, to ensure a stack overflow occurs.
56702         * tests/test-c-stack.c (recurse): Likewise.
56703         Borrowed from libsigsegv.
56704
56705         c-stack: work around Irix sigaltstack bug
56706         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
56707         whether sigaltstack uses wrong end of stack_t (copied in part from
56708         libsigsegv).
56709         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
56710         Irix bug, without requiring an over-allocation.
56711         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
56712         bug.
56713
56714         fopen: document mingw bug on directories
56715         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
56716         not allowing a stream visiting a directory, even though reading
56717         from such a stream is not portable.
56718
56719 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56720
56721         * lib/poll.c: Rewrite.
56722         * modules/poll: Depend on alloca.
56723
56724 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56725
56726         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
56727         instead define prototypes for a full set of wrappers.  Ensure
56728         that Cygwin does not use the compatibility code, which is only
56729         for MinGW.
56730         * lib/winsock.c: New.
56731         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
56732         * modules/sys_socket: Add lib/winsock.c.
56733
56734         * modules/poll-tests: Add errno and perror.
56735         * tests/test-poll.c: Use ioctl, not ioctlsocket.
56736
56737 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56738
56739         * tests/test-poll.c: Downgrade minimum needed Winsock version.
56740
56741 2008-09-23  Bruno Haible  <bruno@clisp.org>
56742
56743         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
56744         * doc/glibc-functions/*: Likewise.
56745
56746 2008-09-23  Simon Josefsson  <simon@josefsson.org>
56747
56748         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
56749         success.
56750
56751 2008-09-22  Eric Blake  <ebb9@byu.net>
56752             Bruno Haible  <bruno@clisp.org>
56753
56754         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
56755         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
56756         supply %A but mishandle pseudo-NaN.
56757         Reported by Simon Josefsson.
56758
56759 2008-09-21  Bruno Haible  <bruno@clisp.org>
56760
56761         * tests/test-lock.c (main): Tweak skip message.
56762         * tests/test-tls.c (main): Likewise.
56763
56764 2008-09-21  Bruno Haible  <bruno@clisp.org>
56765
56766         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
56767         whether 'struct sigaction' has sa_sigaction here...
56768         (gl_PREREQ_SIG_HANDLER_H): ... not here.
56769         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
56770
56771 2008-09-21  Bruno Haible  <bruno@clisp.org>
56772
56773         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
56774         section.
56775         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
56776         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
56777         the new section.
56778         (Support for obsolete systems lacking POSIX:2001): New section.
56779         (String handling <string.h>): Move strdup to the new section.
56780         Suggested by Simon Josefsson and Paolo Bonzini.
56781
56782 2008-09-21  Bruno Haible  <bruno@clisp.org>
56783
56784         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
56785         exponents in %e and %g results on 'long double'. Needed for mingw's
56786         improved *printf functions.
56787         * tests/test-vasprintf-posix.c (test_function): Likewise.
56788         * tests/test-snprintf-posix.h (test_function): Likewise.
56789         * tests/test-sprintf-posix.h (test_function): Likewise.
56790         Reported by Eric Blake.
56791
56792 2008-09-21  Bruno Haible  <bruno@clisp.org>
56793
56794         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
56795         * tests/test-sprintf-posix.h (test_function): Likewise.
56796
56797 2008-09-21  Bruno Haible  <bruno@clisp.org>
56798
56799         * modules/getpass (Depends-on): Add strdup-posix.
56800
56801         New module 'strdup-posix'.
56802         * modules/strdup-posix: New file.
56803         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
56804         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
56805         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56806         REPLACE_STRDUP.
56807         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
56808         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
56809         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56810         strdup-posix.
56811
56812         * modules/strdup (Depends-on): Remove malloc-posix.
56813
56814 2008-09-20  Bruno Haible  <bruno@clisp.org>
56815
56816         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
56817         Wildenhues.
56818
56819 2008-09-20  Bruno Haible  <bruno@clisp.org>
56820
56821         Ensure that wint_t gets defined on IRIX 5.3.
56822         * lib/wchar.in.h (wint_t): Define if not defined by the system.
56823         * lib/wctype.in.h (wint_t): Likewise.
56824         (__wctype_wint_t): Remove type.
56825         (isw*): Use wint_t instead of __wctype_wint_t.
56826         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
56827         * modules/wchar (Files): Add m4/wint_t.m4.
56828         (Makefile.am): Substitute HAVE_WINT_T.
56829         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
56830         * tests/test-wctype.c: Check that wint_t is defined.
56831         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
56832         * doc/posix-headers/wctype.texi: Likewise.
56833         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
56834
56835 2008-09-18  Bruno Haible  <bruno@clisp.org>
56836
56837         * gnulib-tool (func_exit): Update comment.
56838
56839 2008-09-18  Simon Josefsson  <simon@josefsson.org>
56840
56841         * modules/getaddrinfo (Depends-on): Remove strdup, this module
56842         assumes strdup exists and does not depend on strdup to return
56843         ENOMEM on out of memory conditions.
56844
56845 2008-09-18  Bruno Haible  <bruno@clisp.org>
56846
56847         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
56848         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
56849         digits for the exponent.
56850
56851 2008-09-18  Jim Meyering  <meyering@redhat.com>
56852             Bruno Haible  <bruno@clisp.org>
56853
56854         * lib/vasnprintf.c (decimal_point_char): Define also if
56855         NEED_PRINTF_INFINITE_LONG_DOUBLE.
56856
56857 2008-09-16  Bruno Haible  <bruno@clisp.org>
56858         and Eric Blake  <ebb9@byu.net>
56859
56860         vasnprintf: support Irix 5.3
56861         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
56862         that mishandle long double infinity.
56863         Reported by Tom G. Christensen.
56864
56865 2008-09-16  Bruno Haible  <bruno@clisp.org>
56866
56867         * doc/glibc-functions/scandir.texi: Mention the function is missing on
56868         Solaris 9.
56869         * doc/glibc-functions/alphasort.texi: Likewise.
56870         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
56871
56872 2008-09-16  Jim Meyering  <meyering@redhat.com>
56873
56874         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
56875         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
56876         a umask modification leak out of a subshell.  Otherwise, the
56877         opensolaris /bin/sh would be accepted and thus cause unwarranted
56878         failures in the coreutils test suite.
56879
56880 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
56881
56882         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
56883         to succeed.
56884
56885 2008-09-16  Jim Meyering  <meyering@redhat.com>
56886
56887         avoid spurious test failure when library is built without ACL support
56888         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
56889         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
56890         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
56891         * tests/test-copy-acl.sh: Likewise.
56892
56893 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56894
56895         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
56896         based on character occurrence counts.
56897
56898 2008-09-15  Eric Blake  <ebb9@byu.net>
56899
56900         tests: avoid some compiler warnings
56901         * tests/test-memchr.c (main): Pass NULL indirectly.
56902         * tests/test-closein.c (main): Avoid unused variable.
56903
56904 2008-09-15  Bruno Haible  <bruno@clisp.org>
56905
56906         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
56907         are missing on OpenBSD 4.0 individually.
56908         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56909
56910 2008-09-15  Bruno Haible  <bruno@clisp.org>
56911
56912         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
56913         * doc/posix-functions/strerror.texi: Mention also Cygwin.
56914         * doc/posix-functions/perror.texi: Likewise.
56915         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
56916         is missing.
56917         Reported by Eric Blake.
56918
56919         * lib/errno.in.h: Use replacement values >= 2000.
56920         Reported by Eric Blake.
56921
56922 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56923
56924         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
56925         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
56926         limit.
56927         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
56928         compareseq was aborted.
56929
56930 2008-09-14  Bruno Haible  <bruno@clisp.org>
56931
56932         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
56933         yvec_edit_count.
56934         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
56935         (fstrcmp_bounded): Simplify result computation accordingly.
56936
56937 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56938
56939         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
56940         (fstrcmp): Define in terms of fstrcmp_bounded.
56941         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
56942         lower_bound argument.
56943         Return quickly if the result is certainly < lower_bound.
56944         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
56945
56946 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56947
56948         * lib/diffseq.h (EARLY_ABORT): New macro.
56949         (compareseq): Change return type to bool. Return true when EARLY_ABORT
56950         evaluates to true.
56951
56952 2008-09-14  Bruno Haible  <bruno@clisp.org>
56953
56954         * modules/perror-tests: New file.
56955         * tests/test-perror.sh: New file.
56956         * tests/test-perror.c: New file.
56957
56958         New module 'perror'.
56959         * lib/stdio.in.h (perror): New declaration.
56960         * lib/perror.c: New file.
56961         * m4/perror.m4: New file.
56962         * modules/perror: New file.
56963         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
56964         * doc/posix-functions/perror.texi: Mention the perror module.
56965         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
56966         REPLACE_PERROR.
56967         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
56968         REPLACE_PERROR.
56969
56970 2008-09-14  Bruno Haible  <bruno@clisp.org>
56971
56972         * modules/stdio (Makefile.am): Reorder to match the order in
56973         lib/stdio.in.h.
56974         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56975
56976 2008-09-13  Bruno Haible  <bruno@clisp.org>
56977
56978         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
56979
56980 2008-09-13  Bruno Haible  <bruno@clisp.org>
56981
56982         Extend strerror to cover the added errno values.
56983         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
56984         (rpl_strerror): Provide error messages for the added errno values and
56985         for the WSA* values.
56986         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
56987         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
56988         strerror.
56989         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
56990         * modules/strerror (Depends-on): Add errno.
56991         * doc/posix-functions/strerror.texi: Document the change.
56992         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
56993         and EOVERFLOW.
56994
56995 2008-09-13  Bruno Haible  <bruno@clisp.org>
56996
56997         * modules/EOVERFLOW: Remove file.
56998         * m4/eoverflow.m4: Remove file.
56999         * modules/EOVERFLOW-tests: Remove file.
57000         * tests/test-EOVERFLOW.c: Remove file.
57001         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
57002         * modules/ftell (Depends-on): Likewise.
57003         * modules/getdelim (Depends-on): Likewise.
57004         * modules/getugroups (Depends-on): Likewise.
57005         * modules/poll (Depends-on): Likewise.
57006         * modules/snprintf (Depends-on): Likewise.
57007         * modules/sprintf-posix (Depends-on): Likewise.
57008         * modules/vasnprintf (Depends-on): Likewise.
57009         * modules/vasprintf (Depends-on): Likewise.
57010         * modules/vfprintf-posix (Depends-on): Likewise.
57011         * modules/vsnprintf (Depends-on): Likewise.
57012         * modules/vsprintf-posix (Depends-on): Likewise.
57013         * modules/xvasprintf (Depends-on): Likewise.
57014         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57015         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
57016         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
57017         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
57018         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57019         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
57020         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
57021         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
57022         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57023         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
57024         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
57025         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
57026         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57027         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
57028         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
57029         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
57030         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57031         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
57032         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
57033         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
57034         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57035         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
57036         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
57037         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
57038         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
57039         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57040         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
57041         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
57042         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
57043         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
57044         * MODULES.html.sh: Remove EOVERFLOW.
57045         * NEWS: Mention the change.
57046
57047 2008-09-13  Bruno Haible  <bruno@clisp.org>
57048
57049         * modules/errno-tests: New file.
57050         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
57051
57052         * lib/errno.in.h: New file.
57053         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
57054         * modules/errno: New file.
57055         * doc/posix-headers/errno.texi: Update documentation.
57056         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
57057
57058 2008-09-13  Bruno Haible  <bruno@clisp.org>
57059
57060         * tests/test-poll.c: Use #if for native Windows, rather than testing
57061         __MSVCRT__.
57062
57063 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57064             Bruno Haible  <bruno@clisp.org>
57065
57066         * lib/glob.c: Don't include <pwd.h> on native Windows.
57067         (WINDOWS32): New macro.
57068         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
57069
57070 2008-09-13  Bruno Haible  <bruno@clisp.org>
57071
57072         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
57073         (ETIMEDOUT): Remove macro.
57074         (glthread_cond_timedwait_multithreaded): New declaration.
57075         (glthread_cond_timedwait): Use it.
57076         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
57077         (glthread_cond_timedwait_multithreaded): New function.
57078
57079 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57080
57081         * modules/poll-tests: Do not check for io.h.
57082         * tests/test-poll.c: Check for __MSVCRT__ instead.
57083
57084 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57085
57086         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
57087         * modules/poll-tests: Add inet_pton, stdbool, sockets.
57088         * tests/test-poll.c: Use them.  Use _pipe on Windows.
57089
57090 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57091
57092         * modules/poll-tests: New.
57093         * tests/test-poll.c: New.
57094
57095 2008-09-12  Eric Blake  <ebb9@byu.net>
57096
57097         frexp: test for NetBSD failure on -0.0
57098         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
57099         not all, bugs from NetBSD 3.0 have been fixed.
57100         * doc/posix-functions/frexp.texi (frexp): Document bug.
57101         Reported by Thomas Klausner.
57102
57103         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
57104         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
57105         literal -0.0.
57106         Reported by Jonathan C. Patschke <jp@centtech.com>.
57107
57108 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57109
57110         * lib/glthread/cond.h: Use dummy implementation also if
57111         USE_WIN32_THREADS.
57112
57113 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57114
57115         * modules/fnmatch-posix (License): Change to LGPLv2+.
57116         * modules/fnmatch-gnu (License): Likewise.
57117
57118 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57119
57120         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
57121
57122 2008-09-11  Jim Meyering  <meyering@redhat.com>
57123
57124         * users.txt: Add gtk-vnc.
57125
57126 2008-09-08  Simon Josefsson  <simon@josefsson.org>
57127
57128         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
57129         rotate amounts.
57130
57131         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
57132         required for 16-bit and 8-bit rotates.
57133         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
57134         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
57135         UINT8_MAX instead of hard-coded constants.
57136         Suggested by Paul Eggert.
57137
57138 2008-09-07  Bruno Haible  <bruno@clisp.org>
57139
57140         * tests/test-striconveh.c (main): Check behaviour when converting from
57141         UTF-7.
57142
57143         Make striconveh work better with stateful encodings.
57144         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
57145         that iconv does not increment the inptr when returning -1/EINVAL.
57146
57147 2008-09-07  Bruno Haible  <bruno@clisp.org>
57148
57149         * build-aux/config.rpath: Update according to libtool-2.2.6.
57150         * build-aux/config.libpath: Likewise.
57151
57152 2008-09-06  Bruno Haible  <bruno@clisp.org>
57153
57154         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
57155         * lib/freadptr.c (freadptr): Likewise.
57156         * lib/freadseek.c (freadptrinc): Likewise.
57157         Reported by Simon Josefsson.
57158
57159 2008-09-06  Bruno Haible  <bruno@clisp.org>
57160
57161         * modules/freadptr (License): Change to LGPLv2+.
57162         * modules/freadseek (License): Likewise.
57163         Suggested by Eric Blake.
57164
57165         * modules/memchr2 (License): Change to LGPLv2+.
57166         Approved by Eric Blake.
57167
57168 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57169             Bruno Haible  <bruno@clisp.org>
57170
57171         Make gnulib-tool work with native 'sed' on AIX.
57172         * gnulib-tool (sed_noop): New variable.
57173         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
57174         func_add_or_update, func_create_testdir): Use it to initialize sed
57175         script variables.
57176         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57177
57178 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
57179             Bruno Haible  <bruno@clisp.org>
57180
57181         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
57182         also works after #include directives.
57183
57184 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
57185
57186         getdate.y: reject an out-of-range timezone value
57187         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
57188         the range [-24...+24].  When specified with only one or two digits,
57189         * tests/test-getdate.c: Tests for the fix.
57190         * doc/getdate.texi: Document this change.
57191
57192 2008-09-03  Bruno Haible  <bruno@clisp.org>
57193
57194         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
57195
57196 2008-09-02  Simon Josefsson  <simon@josefsson.org>
57197
57198         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
57199         <bruce.korb@gmail.com> with ideas from Ben Pfaff
57200         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
57201         Blake <ebb9@byu.net>.
57202
57203         * tests/test-bitrotate.c: Add more test vectors.
57204
57205 2008-09-02  Eric Blake  <ebb9@byu.net>
57206
57207         vasnprintf-posix: handle large precision via %.*d
57208         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
57209         when handling it ourselves.
57210         * tests/test-vasnprintf-posix.c (test_function): Add test.
57211         * tests/test-snprintf-posix.h (test_function): Likewise.
57212         * tests/test-sprintf-posix.h (test_function): Likewise.
57213         * tests/test-vasprintf-posix.c (test_function): Likewise.
57214         Reported by Alain Guibert.
57215
57216 2008-09-01  Eric Blake  <ebb9@byu.net>
57217
57218         c-stack: make configure-time check more robust
57219         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
57220         successful sigaction call.
57221         Reported by Tom G. Christensen.
57222
57223 2008-09-01  Bruno Haible  <bruno@clisp.org>
57224
57225         New module 'findprog-lgpl'.
57226         * modules/findprog-lgpl: New file.
57227         * lib/findprog-lgpl.c: New file.
57228         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
57229         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
57230         to decide whether to use strdup or xstrdup, concatenated_filename or
57231         xconcatenated_filename.
57232
57233 2008-09-01  Bruno Haible  <bruno@clisp.org>
57234
57235         Split module 'concat-filename' into 'concat-filename' (LGPL) and
57236         'xconcat-filename' (GPL).
57237         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
57238         (License): Change to LGPLv2+.
57239         * modules/xconcat-filename: New file.
57240         * lib/concat-filename.h (concatenated_filename): Change specification.
57241         (xconcatenated_filename): New declaration.
57242         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
57243         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
57244         memory situations.
57245         * lib/xconcat-filename.c: New file.
57246         * NEWS: Mention the change.
57247         * lib/findprog.c: Include concat-filename.h, not filename.h.
57248         (find_in_path): Use xconcatenated_filename instead of
57249         concatenated_filename.
57250         * lib/javacomp.c: Include concat-filename.h, not filename.h.
57251         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57252         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57253         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57254         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
57255         instead of concatenated_filename.
57256         * lib/javaexec.c: Include concat-filename.h, not filename.h.
57257         (execute_java_class): Use xconcatenated_filename instead of
57258         concatenated_filename.
57259         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
57260         * modules/javacomp (Depends-on): Likewise.
57261         * modules/javaexec (Depends-on): Likewise.
57262
57263 2008-09-01  Bruno Haible  <bruno@clisp.org>
57264
57265         Split module 'filename' into 'filename' and 'concat-filename'.
57266         * modules/filename: Keep only lib/filename.h.
57267         (License): Change to LGPLv2+.
57268         * modules/concat-filename: New file, extracted from modules/filename.
57269         * lib/filename.h (concatenated_filename): Remove declaration.
57270         * lib/concat-filename.h: New file, extracted from lib/filename.h.
57271         * lib/concat-filename.c: Include concat-filename.h.
57272         * NEWS: Mention the change.
57273
57274 2008-09-01  Simon Josefsson  <simon@josefsson.org>
57275
57276         * lib/bitrotate.h (rotl8, rotr8): Add.
57277
57278         * modules/bitrotate (configure.ac): Need
57279         AC_REQUIRE([AC_C_INLINE]).
57280         (Description): Mention stdint.h.  Reported by Bruno Haible
57281         <bruno@clisp.org>.
57282
57283         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
57284         Paolo Bonzini <bonzini@gnu.org>.
57285
57286 2008-08-31  Bruno Haible  <bruno@clisp.org>
57287
57288         Assume Solaris specific bi-arch conventions on Solaris systems.
57289         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
57290         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
57291         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
57292         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
57293         like acl_libdirstem.
57294         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
57295         acl_libdirstem.
57296         * NEWS: Mention the change.
57297         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
57298
57299 2008-08-31  Jim Meyering  <meyering@redhat.com>
57300
57301         * lib/strftime.h: Add comments describing the two added arguments.
57302
57303         remove duplicate #include directives
57304         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
57305         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
57306
57307 2008-08-31  Bruno Haible  <bruno@clisp.org>
57308
57309         New module 'sigpipe-die'.
57310         * modules/sigpipe-die: New file.
57311         * lib/sigpipe-die.h: New file.
57312         * lib/sigpipe-die.c: New file.
57313         * MODULES.html.sh (Signal handling): Add sigpipe-die.
57314
57315 2008-08-31  Bruno Haible  <bruno@clisp.org>
57316
57317         Don't override previously installed signal handlers.
57318         * lib/fatal-signal.c (saved_sigactions): New variable.
57319         (uninstall_handlers): Reset the signal to the saved handler, not
57320         to SIG_DFL (except when ignored).
57321         (install_handlers): Save the previous handlers.
57322
57323 2008-08-30  Bruno Haible  <bruno@clisp.org>
57324
57325         * gnulib-tool (func_reset_sigpipe): New function.
57326         (func_get_automake_snippet, func_modules_transitive_closure,
57327         func_import): Invoke it before a join command that reads from stdin,
57328         to avoid "echo: write error: Broken pipe" error messages on stderr.
57329         Reported by Sam Steingold <sds@gnu.org>.
57330
57331 2008-08-30  Bruno Haible  <bruno@clisp.org>
57332
57333         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
57334         Code copied from m4/open.m4.
57335         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
57336         access and the filename ends in a slash. Code copied from lib/open.c.
57337         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
57338         * tests/test-fopen.c (main): Check against bug with trailing slash.
57339
57340 2008-08-29  Bruno Haible  <bruno@clisp.org>
57341
57342         Avoid some "gcc -pedantic" warnings.
57343         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
57344         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
57345         * lib/dirent.in.h: Likewise.
57346         * lib/fcntl.in.h: Likewise.
57347         * lib/float.in.h: Likewise.
57348         * lib/iconv.in.h: Likewise.
57349         * lib/inttypes.in.h: Likewise.
57350         * lib/locale.in.h: Likewise.
57351         * lib/math.in.h: Likewise.
57352         * lib/netinet_in.in.h: Likewise.
57353         * lib/search.in.h: Likewise.
57354         * lib/signal.in.h: Likewise.
57355         * lib/stdarg.in.h: Likewise.
57356         * lib/stdint.in.h: Likewise.
57357         * lib/stdio.in.h: Likewise.
57358         * lib/stdlib.in.h: Likewise.
57359         * lib/string.in.h: Likewise.
57360         * lib/strings.in.h: Likewise.
57361         * lib/sys_select.in.h: Likewise.
57362         * lib/sys_socket.in.h: Likewise.
57363         * lib/sys_stat.in.h: Likewise.
57364         * lib/sys_time.in.h: Likewise.
57365         * lib/sysexits.in.h: Likewise.
57366         * lib/time.in.h: Likewise.
57367         * lib/unistd.in.h: Likewise.
57368         * lib/wchar.in.h: Likewise.
57369         * lib/wctype.in.h: Likewise.
57370         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
57371         * modules/fchdir (Makefile.am): Likewise.
57372         * modules/fcntl (Makefile.am): Likewise.
57373         * modules/float (Makefile.am): Likewise.
57374         * modules/iconv_open (Makefile.am): Likewise.
57375         * modules/inttypes (Makefile.am): Likewise.
57376         * modules/locale (Makefile.am): Likewise.
57377         * modules/math (Makefile.am): Likewise.
57378         * modules/netinet_in (Makefile.am): Likewise.
57379         * modules/search (Makefile.am): Likewise.
57380         * modules/signal (Makefile.am): Likewise.
57381         * modules/stdarg (Makefile.am): Likewise.
57382         * modules/stdint (Makefile.am): Likewise.
57383         * modules/stdio (Makefile.am): Likewise.
57384         * modules/stdlib (Makefile.am): Likewise.
57385         * modules/string (Makefile.am): Likewise.
57386         * modules/strings (Makefile.am): Likewise.
57387         * modules/sys_select (Makefile.am): Likewise.
57388         * modules/sys_socket (Makefile.am): Likewise.
57389         * modules/sys_stat (Makefile.am): Likewise.
57390         * modules/sys_time (Makefile.am): Likewise.
57391         * modules/sysexits (Makefile.am): Likewise.
57392         * modules/time (Makefile.am): Likewise.
57393         * modules/unistd (Makefile.am): Likewise.
57394         * modules/wchar (Makefile.am): Likewise.
57395         * modules/wctype (Makefile.am): Likewise.
57396         Reported by Reuben Thomas <rrt@sc3d.org>.
57397
57398 2008-08-29  Bruno Haible  <bruno@clisp.org>
57399
57400         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
57401         any more.
57402
57403 2008-08-29  Simon Josefsson  <simon@josefsson.org>
57404
57405         * MODULES.html.sh (Misc): Add bitrotate.
57406
57407         * modules/bitrotate: New file.
57408
57409         * lib/bitrotate.h: New file.
57410
57411         * modules/bitrotate-tests: New file.
57412
57413         * tests/test-bitrotate.c: New file.
57414
57415         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
57416         on the bitrotate module.
57417
57418         * lib/arctwo.c: Use new bitrotate module.
57419
57420 2008-08-29  Jim Meyering  <meyering@redhat.com>
57421
57422         bootstrap: merge changes from coreutils
57423         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
57424         of copied files.  Remove a kludge, now that this is fixed.
57425         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
57426         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
57427         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
57428
57429 2008-08-29  Bruno Haible  <bruno@clisp.org>
57430
57431         * MODULES.html.sh: Remove --cvs-urls option.
57432
57433 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
57434
57435         maint.mk: adjust to file name change
57436         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
57437
57438 2008-08-28  Jim Meyering  <meyering@redhat.com>
57439
57440         * modules/getndelim2 (License): Relicense to LGPLv2+.
57441         Approved by Richard Stallman for the version of 1995, and by
57442         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
57443
57444 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
57445
57446         * lib/getdelim.c (flockfile, funlockfile): Make all of them
57447         dummy if one is not available.  Do not touch them if
57448         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
57449         (getc_maybe_unlocked): New.
57450         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
57451
57452 2008-08-26  Eric Blake  <ebb9@byu.net>
57453
57454         doc/INSTALL: resync from autoconf
57455         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
57456         (INSTALL_PRELUDE): Delete; this is done more efficiently by
57457         moving...
57458         * install.texi [!autoconf]: ...here.  Resync from autoconf.
57459         * INSTALL: Regenerate.
57460         * INSTALL.ISO: New file.
57461         * INSTALL.UTF-8: Likewise.
57462
57463 2008-08-26  Jim Meyering  <meyering@redhat.com>
57464
57465         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
57466         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
57467         these definitions conditional, so that they may be overridden, too.
57468
57469 2008-08-26  Bruno Haible  <bruno@clisp.org>
57470
57471         Generate INSTALL file variants with prettier quotes.
57472         * doc/Makefile (INSTALL_PRELUDE): New macro.
57473         (INSTALL): Use it.
57474         (INSTALL.ISO, INSTALL.UTF-8): New rules.
57475
57476 2008-08-26  Bruno Haible  <bruno@clisp.org>
57477
57478         Run makeinfo in an English locale.
57479         * doc/Makefile (MAKEINFO): New variable.
57480
57481 2008-08-26  Bruno Haible  <bruno@clisp.org>
57482
57483         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
57484         Suggested by Eric Blake.
57485
57486 2008-08-25  Bruno Haible  <bruno@clisp.org>
57487
57488         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
57489
57490 2008-08-25  Eric Blake  <ebb9@byu.net>
57491
57492         c-stack: test that stack overflow can be caught
57493         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
57494         that platform allows handling stack overflow; at least OS/2 EMX
57495         has sigaltstack, but crashes before transferring control to
57496         handler on stack overflow.
57497         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
57498         check for HAVE_STACK_OVERFLOW_HANDLING.
57499         Reported by Elbert Pol.
57500
57501 2008-08-25  Bruno Haible  <bruno@clisp.org>
57502
57503         * doc/posix-functions/strftime.texi: Fix description of strftime
57504         module.
57505
57506 2008-08-24  Bruno Haible  <bruno@clisp.org>
57507
57508         * tests/uniwidth/test-uc_width2.c: New file.
57509         * tests/uniwidth/test-uc_width2.sh: New file.
57510         * modules/uniwidth/width-tests (Files): Add the new files.
57511         (TESTS): Add uniwidth/test-uc_width2.sh.
57512         (TESTS_ENVIRONMENT): New variable.
57513         (check_PROGRAMS): Add test-uc_width2.
57514         (test_uc_width2_SOURCES): New variable.
57515
57516         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
57517         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
57518         not 0x00AB.
57519         Reported by Alexander V. Lukyanov <lav@netis.ru>.
57520
57521 2008-08-22  Eric Blake  <ebb9@byu.net>
57522
57523         test-lock, test-tls: mention why a test is skipped
57524         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
57525         skipped.
57526         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
57527
57528         count-one-bits: relax license
57529         * modules/count-one-bits (License): Relicense to LGPLv2+.
57530         Suggested by Ludovic Courtès, approved by Ben Pfaff.
57531
57532 2008-08-22  Andreas Schwab  <schwab@suse.de>
57533
57534         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
57535         Remove spurious space in assignment.
57536
57537 2008-08-21  Simon Josefsson  <simon@josefsson.org>
57538
57539         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
57540         Paul Eggert <eggert@CS.UCLA.EDU>.
57541
57542 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
57543
57544         * modules/gettext: Add m4/threadlib.m4.
57545
57546 2008-08-19  Eric Blake  <ebb9@byu.net>
57547
57548         test-c-stack: fix compilation failure on FreeBSD 5.0
57549         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
57550         headers before <sys/resource.h>.
57551         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
57552         the bug.
57553         Reported by Nelson H. F. Beebe.
57554
57555         strverscmp: migrate from "strverscmp.h" to <string.h>
57556         * modules/string (Makefile.am): Add new hooks.
57557         * modules/strverscmp (Files): Remove strverscmp.h.
57558         (Depends-on): Add string.
57559         (configure.ac): Add indicator.
57560         (Include): Mention new header.
57561         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
57562         defaults.
57563         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
57564         results.
57565         * lib/strverscmp.h: Delete.
57566         * lib/string.in.h (strverscmp): Provide declaration, when needed.
57567         * tests/test-strverscmp.c (includes): Adjust client.
57568         * lib/check-version.c (includes): Likewise.
57569         * NEWS: Document the change.
57570
57571         strverscmp: add unit test
57572         * modules/strverscmp-tests: New file.
57573         * tests/test-strverscmp.c: Likewise.
57574
57575 2008-08-19  Simon Josefsson  <simon@josefsson.org>
57576
57577         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
57578         regarding Windows crypto stuff, from Mono.
57579
57580 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
57581
57582         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
57583         if present, for intel RND.  Return error on failures.
57584
57585 2008-08-18  Ben Pfaff  <blp@gnu.org>
57586
57587         gitlog-to-changelog: give better diagnostic for failed pipe-open
57588         * build-aux/gitlog-to-changelog: Improve error message: suggest
57589         that the version of Git may be too old.
57590
57591 2008-08-18  Simon Josefsson  <simon@josefsson.org>
57592
57593         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
57594         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
57595
57596 2008-08-18  Bruno Haible  <bruno@clisp.org>
57597
57598         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
57599         pthread_in_use().
57600
57601 2008-08-18  Bruno Haible  <bruno@clisp.org>
57602
57603         * lib/glthread/threadlib.c: Include <pthread.h>.
57604
57605 2008-08-18  Bruno Haible  <bruno@clisp.org>
57606
57607         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
57608         glthread_recursive_lock_* macros.
57609         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
57610         Fix syntax error.
57611
57612 2008-08-18  Bruno Haible  <bruno@clisp.org>
57613
57614         * lib/glthread/thread.c: Avoid forcing a context switch right after
57615         thread creation.
57616
57617 2008-08-17  Bruno Haible  <bruno@clisp.org>
57618
57619         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
57620         * lib/glthread/thread.h: Provide Win32 specific implementation.
57621         * modules/thread (Files): Add lib/glthread/thread.c.
57622         (Depends-on): Add lock.
57623         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
57624
57625 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57626
57627         New module 'yield'.
57628         * modules/yield: New file.
57629         * lib/glthread/yield.h: New file.
57630         * m4/yield.m4: New file.
57631         * MODULES.html.sh (Multithreading): Add yield.
57632
57633 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57634
57635         New module 'thread'.
57636         * modules/thread: New file.
57637         * lib/glthread/thread.h: New file.
57638         * m4/thread.m4: New file.
57639         * MODULES.html.sh (Multithreading): Add thread.
57640
57641 2008-08-17  Bruno Haible  <bruno@clisp.org>
57642
57643         * lib/glthread/lock.h: Include <stdlib.h> always.
57644         * lib/glthread/tls.h: Likewise.
57645         * lib/glthread/cond.h: Likewise.
57646
57647 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57648
57649         New module 'cond'.
57650         * modules/cond: New file.
57651         * lib/glthread/cond.h: New file.
57652         * lib/glthread/cond.c: New file.
57653         * m4/cond.m4: New file.
57654         * MODULES.html.sh (Multithreading): Add cond.
57655
57656 2008-08-16  Eric Blake  <ebb9@byu.net>
57657
57658         c-stack: fix regression on Irix 5.3 from 2008-06-21
57659         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
57660         sa_sigaction...
57661         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
57662         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
57663         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
57664         * modules/signal (Makefile.am): Use the value.
57665         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
57666         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
57667         * doc/posix-headers/signal.texi (signal.h): Document this
57668         portability issue.
57669         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
57670         Reported by Tom G. Christensen.
57671
57672 2008-08-17  Bruno Haible  <bruno@clisp.org>
57673
57674         New module 'threadlib'.
57675         * modules/threadlib: New file.
57676         * lib/glthread/threadlib.c: New file, extracted from
57677         lib/glthread/lock.c.
57678         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
57679         functions.
57680         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
57681         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
57682         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
57683         macros.
57684         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
57685         (gl_DISABLE_THREADS): Remove macro.
57686         * modules/lock (Files): Remove build-aux/config.rpath.
57687         (Depends-on): Remove havelib. Add threadlib.
57688         (configure.ac-early): Remove section.
57689         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
57690         * modules/tls (Depends-on): Remove lock. Add threadlib.
57691         (Link): New section, copied from threadlib.
57692         * MODULES.html.sh (Multithreading): Add threadlib.
57693
57694 2008-08-14  Bruno Haible  <bruno@clisp.org>
57695
57696         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
57697         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
57698         glthread_rwlock_unlock, glthread_rwlock_destroy,
57699         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
57700         glthread_recursive_lock_destroy): Define as macros always.
57701         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
57702         glthread_lock_lock.
57703         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
57704         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
57705         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
57706         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
57707         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
57708         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
57709         (glthread_recursive_lock_lock_func): Renamed from
57710         glthread_recursive_lock_lock.
57711         (glthread_recursive_lock_unlock_func): Renamed from
57712         glthread_recursive_lock_unlock.
57713         (glthread_recursive_lock_destroy_func): Renamed from
57714         glthread_recursive_lock_destroy.
57715
57716 2008-08-14  Bruno Haible  <bruno@clisp.org>
57717
57718         * lib/glthread/lock.h: Renamed from lib/lock.h.
57719         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
57720         * lib/glthread/tls.h: Renamed from lib/tls.h.
57721         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
57722         * lib/fstrcmp.c: Update includes.
57723         * lib/strsignal.c: Update includes.
57724         * modules/lock (Files, Makefile.am): Update.
57725         (Include): Change to "glthread/lock.h".
57726         * modules/tls (Files, Makefile.am): Update.
57727         (Include): Change to "glthread/tls.h".
57728         * tests/test-lock.c: Update includes.
57729         * tests/test-tls.c: Update includes.
57730         * NEWS: Mention the renamed header files.
57731
57732 2008-08-11  Jim Meyering  <meyering@redhat.com>
57733
57734         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
57735
57736 2008-08-11  Eric Blake  <ebb9@byu.net>
57737
57738         test-c-stack: avoid C99-ism
57739         * tests/test-c-stack.c (main): Fix whitespace, move declaration
57740         before statement.
57741         Reported by Alain Guibert.
57742
57743 2008-08-10  Jim Meyering  <meyering@redhat.com>
57744
57745         ensure that return value of uinttostr et al are not ignored
57746         * lib/inttostr.h (__GNUC_PREREQ): Define.
57747         (__attribute_warn_unused_result__): Define.
57748         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
57749
57750 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
57751
57752         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
57753         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
57754
57755 2008-08-07  Jim Meyering  <meyering@redhat.com>
57756
57757         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
57758
57759         * modules/mkstemp (License): Relicense under LGPLv2+.
57760         * modules/tempname (License): Likewise.
57761
57762 2008-08-06  Bruno Haible  <bruno@clisp.org>
57763
57764         * lib/poll.c (poll): Further micro-optimization.
57765
57766 2008-08-06  Jim Meyering  <meyering@redhat.com>
57767
57768         inet_pton.c: use locale-independent tolower
57769         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
57770         (inet_pton6): Use c_tolower rather than tolower.
57771         * modules/inet_pton (Depends-on): Add c-ctype.
57772
57773 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
57774
57775         * lib/poll.c (poll): Avoid division when timeout is 0, cache
57776         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
57777
57778 2008-08-06  Jim Meyering  <meyering@redhat.com>
57779
57780         * modules/inet_pton (License): Relicense under LGPLv2+.
57781
57782 2008-08-03  Bruno Haible  <bruno@clisp.org>
57783
57784         Additional non-aborting API for lock and tls.
57785         * lib/lock.h: Include <errno.h>.
57786         (glthread_lock_init): New macro/function.
57787         (gl_lock_init): Define as wrapper around glthread_lock_init.
57788         (glthread_lock_lock): New macro/function.
57789         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
57790         (glthread_lock_unlock): New macro/function.
57791         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
57792         (glthread_lock_destroy): New macro/function.
57793         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
57794         (glthread_rwlock_init): New macro/function.
57795         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
57796         (glthread_rwlock_rdlock): New macro/function.
57797         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
57798         (glthread_rwlock_wrlock): New macro/function.
57799         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
57800         (glthread_rwlock_unlock): New macro/function.
57801         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
57802         (glthread_rwlock_destroy): New macro/function.
57803         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
57804         (glthread_recursive_lock_init): New macro/function.
57805         (gl_recursive_lock_init): Define as wrapper around
57806         glthread_recursive_lock_init.
57807         (glthread_recursive_lock_lock): New macro/function.
57808         (gl_recursive_lock_lock): Define as wrapper around
57809         glthread_recursive_lock_lock.
57810         (glthread_recursive_lock_unlock): New macro/function.
57811         (gl_recursive_lock_unlock): Define as wrapper around
57812         glthread_recursive_lock_unlock.
57813         (glthread_recursive_lock_destroy): New macro/function.
57814         (gl_recursive_lock_destroy): Define as wrapper around
57815         glthread_recursive_lock_destroy.
57816         (glthread_once): New macro/function.
57817         (gl_once): Define as wrapper around glthread_once.
57818         Update function declarations.
57819         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
57820         glthread_rwlock_init. Return error code.
57821         (glthread_rwlock_rdlock_multithreaded): Renamed from
57822         glthread_rwlock_rdlock. Return error code.
57823         (glthread_rwlock_wrlock_multithreaded): Renamed from
57824         glthread_rwlock_wrlock. Return error code.
57825         (glthread_rwlock_unlock_multithreaded): Renamed from
57826         glthread_rwlock_unlock. Return error code.
57827         (glthread_rwlock_destroy_multithreaded): Renamed from
57828         glthread_rwlock_destroy. Return error code.
57829         (glthread_recursive_lock_init_multithreaded): Renamed from
57830         glthread_recursive_lock_init. Return error code.
57831         (glthread_recursive_lock_lock_multithreaded): Renamed from
57832         glthread_recursive_lock_lock. Return error code.
57833         (glthread_recursive_lock_unlock_multithreaded): Renamed from
57834         glthread_recursive_lock_unlock. Return error code.
57835         (glthread_recursive_lock_destroy_multithreaded): Renamed from
57836         glthread_recursive_lock_destroy. Return error code.
57837         (glthread_once_call): Make static.
57838         (glthread_once_multithreaded): Renamed from glthread_once.
57839         * lib/tls.h: Include <errno.h>.
57840         (glthread_tls_key_init): New macro/function.
57841         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
57842         (glthread_tls_set): New macro/function.
57843         (gl_tls_set): Define as wrapper around glthread_tls_set.
57844         (glthread_tls_key_destroy): New macro/function.
57845         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
57846         Update function declarations.
57847         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
57848         glthread_tls_get.
57849         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
57850
57851 2008-08-04  Eric Blake  <ebb9@byu.net>
57852
57853         gnumakefile: use space, not TAB, outside of targets
57854         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
57855
57856 2008-08-02  Jim Meyering  <meyering@redhat.com>
57857
57858         getdate.y: avoid locale-dependent date parsing failure
57859         In Turkish locales, getdate would fail to recognize keywords
57860         containing a lowercase "i".  The solution is not to rely on
57861         locale-sensitive case-conversion.
57862         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
57863         (lookup_word): Use c_toupper in place of toupper.
57864         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
57865         Reported by Vefa Bicakci <bicave@superonline.com> in
57866         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
57867         * modules/getdate (Depends-on): Add c-ctype.
57868
57869 2008-08-02  Bruno Haible  <bruno@clisp.org>
57870
57871         * gnulib-tool (func_import): When updating or creating a .gitignore
57872         file, prepend each added line with a slash, and ignore leading slashes
57873         from the existing lines.
57874         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57875
57876 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57877
57878         Portability fix for GNU make 3.79.1.
57879         * top/GNUmakefile: Avoid 'else COND', which older GNU make
57880         versions do not understand.
57881
57882 2008-08-01  Bruno Haible  <bruno@clisp.org>
57883
57884         Work around bug of HP-UX 10.20 cc with -0.0 literal.
57885         * tests/test-isnanf.h (zero): New variable.
57886         (main): Avoid literal -0.0f.
57887         * tests/test-isnand.h (zero): New variable.
57888         (main): Avoid literal -0.0.
57889         * tests/test-isnanl.h (zero): New variable.
57890         (main): Avoid literal -0.0L.
57891         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
57892         (test_float, test_double, test_long_double): Avoid literals -0.0f,
57893         -0.0, -0.0L.
57894         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
57895         (test_signbitd): Avoid literal -0.0.
57896         (test_signbitl): Avoid literal -0.0L.
57897         * tests/test-ceilf1.c (zero): New variable.
57898         (main): Avoid literal -0.0f.
57899         * tests/test-ceill.c (zero): New variable.
57900         (main): Avoid literal -0.0L.
57901         * tests/test-floorf1.c (zero): New variable.
57902         (main): Avoid literal -0.0f.
57903         * tests/test-floorl.c (zero): New variable.
57904         (main): Avoid literal -0.0L.
57905         * tests/test-roundf1.c (zero): New variable.
57906         (main): Avoid literal -0.0f.
57907         * tests/test-round1.c (zero): New variable.
57908         (main): Avoid literal -0.0.
57909         * tests/test-roundl.c (zero): New variable.
57910         (main): Avoid literal -0.0L.
57911         * tests/test-truncf1.c (zero): New variable.
57912         (main): Avoid literal -0.0f.
57913         * tests/test-trunc1.c (zero): New variable.
57914         (main): Avoid literal -0.0.
57915         * tests/test-truncl.c (zero): New variable.
57916         (main): Avoid literal -0.0L.
57917         * tests/test-frexp.c (zero): New variable.
57918         (main): Avoid literal -0.0.
57919         * tests/test-frexpl.c (zero): New variable.
57920         (main): Avoid literal -0.0L.
57921         * tests/test-ldexpl.c (zero): New variable.
57922         (main): Avoid literal -0.0L.
57923         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57924         (zerod, zerol): New variables.
57925         (test_function): Avoid literals -0.0, -0.0L.
57926         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57927         (zerod, zerol): New variables.
57928         (test_function): Avoid literals -0.0, -0.0L.
57929         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57930         (zerod, zerol): New variables.
57931         (test_function): Avoid literals -0.0, -0.0L.
57932         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57933         (zerod, zerol): New variables.
57934         (test_function): Avoid literals -0.0, -0.0L.
57935         * tests/test-strtod.c (zero): New variable.
57936         (main): Avoid literal -0.0.
57937         Reported by Jonathan C. Patschke <jp@centtech.com>.
57938
57939 2008-07-31  Jim Meyering  <meyering@redhat.com>
57940
57941         sha256.h: correct definition of SHA224_DIGEST_SIZE
57942         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
57943         Reported by Paulie Pena IV <paulie4@gmail.com>.
57944         Define as 224 / 8, rather than as a literal.
57945         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
57946         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
57947         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
57948
57949 2008-07-31  Bruno Haible  <bruno@clisp.org>
57950
57951         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
57952         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
57953         Reported by Jonathan Patschke <jp@centtech.com>.
57954
57955 2008-07-31  Bruno Haible  <bruno@clisp.org>
57956
57957         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
57958         Reported by Paolo Bonzini <bonzini@gnu.org>.
57959
57960 2008-07-30  Eric Blake  <ebb9@byu.net>
57961
57962         test-strtod: allow compilation without -lm
57963         * tests/test-strtod.c (main): Avoid link dependence on fabs.
57964         Reported by Dennis Clarke <blastwave@gmail.com>.
57965
57966 2008-07-28  Jim Meyering  <meyering@redhat.com>
57967
57968         bootstrap: work also when there are no .po files in po/
57969         * build-aux/bootstrap (update_po_files): Complete the change
57970         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
57971
57972 2008-07-27  Jim Meyering  <meyering@redhat.com>
57973
57974         * users.txt: Add zile.
57975
57976 2008-07-26  Ben Pfaff  <blp@gnu.org>
57977
57978         Add missing dependencies on new m4/exponent[fdl].m4 files.
57979         * modules/isnanf-nolibm: Add m4/exponentf.m4.
57980         * modules/isnand-nolibm: Add m4/exponentd.m4.
57981         * modules/isnanl-nolibm: Add m4/exponentl.m4.
57982         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
57983         m4/isnan[fdl].m4, because the macros actually used moved.
57984         Reported by Jim Meyering.
57985
57986 2008-07-14  Ben Pfaff  <blp@gnu.org>
57987
57988         Add isinf module.
57989         * lib/isinf.c: New file.
57990         * lib/math.in.h: Define isinf macro if we have decided to replace
57991         it.
57992         * m4/isinf.m4: New file.
57993         * m4/math_h.m4: Initialize and substitute variables for isinf
57994         module.
57995         * modules/isinf: New file.
57996         * modules/isinf-tests: New file.
57997         * modules/math: Add substitutions for new module.
57998         * tests/test-isinf.c: New file.
57999         * doc/posix-functions/isinf.texi: Mention new module.
58000         * MODULES.html.sh: Mention new module.
58001
58002 2008-07-14  Ben Pfaff  <blp@gnu.org>
58003
58004         Factor out some macros for use by additional modules.
58005         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
58006         exponentf.m4.
58007         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
58008         exponentd.m4.
58009         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
58010         file exponentl.m4.
58011         * m4/exponentf.m4: New file.
58012         * m4/exponentd.m4: New file.
58013         * m4/exponentl.m4: New file.
58014         * modules/isnanf: Use new file m4/exponentf.m4.
58015         * modules/isnand: Use new file m4/exponentd.m4.
58016         * modules/isnanl: Use new file m4/exponentl.m4.
58017
58018 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
58019
58020         mktime.c: normalize tp->tm_isdst value to -1/0/1.
58021         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
58022         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
58023         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
58024
58025         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
58026         readlink on platforms without PATH_MAX.
58027
58028 2008-07-21  Eric Blake  <ebb9@byu.net>
58029
58030         Warn, not fail, on stale version.
58031         * top/GNUmakefile (_curr-ver): Tone down previous patch.
58032
58033         Don't allow installation with stale devel version number.
58034         * top/GNUmakefile (_is-install-target): New macro.
58035         (_curr-ver): Forbid installation with stale version number.
58036
58037 2008-07-20  Bruno Haible  <bruno@clisp.org>
58038
58039         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
58040         TESTS_ENVIRONMENT.
58041         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
58042
58043 2008-07-20  Bruno Haible  <bruno@clisp.org>
58044
58045         * lib/c-stack.h (c_stack_action): Add documentation.
58046         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
58047
58048 2008-07-20  Bruno Haible  <bruno@clisp.org>
58049
58050         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
58051         * modules/readlink (License): Likewise.
58052
58053 2008-07-17  Eric Blake  <ebb9@byu.net>
58054
58055         * modules/c-stack (Link): Fix typo.
58056
58057         Make c-stack use libsigsegv, when available.
58058         * modules/c-stack (Depends-on): Add libsigsegv.
58059         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
58060         needed.
58061         * lib/c-stack.c (SIGSTKSZ): Define fallback.
58062         (segv_handler, overflow_handler, c_stack_action)
58063         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
58064         implementation when libsigsegv is available, but only when using
58065         the library is necessary.
58066         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
58067         comment, explaining why XSI check fails on Linux.
58068         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
58069         * tests/test-c-stack2.sh: Tweak skip message.
58070         * NEWS: Document new link-time requirements.
58071
58072 2008-07-16  Eric Blake  <ebb9@byu.net>
58073
58074         c-stack: Expose false positives when not using libsigsegv.
58075         * modules/c-stack-tests (Files): Expand test.
58076         * tests/test-c-stack.c (main): Add means to conditionally trigger
58077         non-overflow SIGSEGV.
58078         * tests/test-c-stack2.sh: New file.
58079
58080 2008-07-14  Bruno Haible  <bruno@clisp.org>
58081
58082         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
58083         Reported by Eric Blake.
58084
58085 2008-07-14  Sam Steingold  <sds@gnu.org>
58086             Bruno Haible  <bruno@clisp.org>
58087
58088         New module libsigsegv.
58089         * modules/libsigsegv: New file.
58090         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
58091         modifications.
58092         * MODULES.html.sh (Signal handling): New section.
58093
58094 2008-07-14  Bruno Haible  <bruno@clisp.org>
58095
58096         * modules/unictype/ctype-* (Description): Add the word "function".
58097         Improves the resulting doc in MODULES.html.
58098
58099 2008-07-12  Ben Pfaff  <blp@gnu.org>
58100
58101         Add longlong module.
58102         * modules/longlong: New file.
58103
58104 2008-07-12  Bruno Haible  <bruno@clisp.org>
58105
58106         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
58107         to empty.
58108
58109 2008-07-10  Ben Pfaff  <blp@gnu.org>
58110
58111         Add isnan module.
58112         * doc/posix-functions/isnan.texi: Mention new module.
58113         * lib/math.in.h: Define isnan macro if we have decided to replace
58114         it.
58115         * m4/isnan.m4: New file.
58116         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
58117         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
58118         also.
58119         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
58120         redundancy.
58121         * m4/math_h.m4: Initialize and substitute variables for isnan
58122         module.
58123         * modules/isnan: New file.
58124         * modules/isnan-tests: New file.
58125         * modules/math: Add substitutions for new module.
58126         * tests/test-isnan.c: New file.
58127         * MODULES.html.sh: Mention new module.
58128
58129 2008-07-10  Ben Pfaff  <blp@gnu.org>
58130
58131         Add isnanf module.
58132         * lib/isnanf.m4: New file.
58133         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
58134         (gl_HAVE_ISNANF_IN_LIBM): New macro.
58135         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
58136         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
58137         * modules/isnanf: New file.
58138         * modules/isnanf-tests: New file.
58139         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
58140         files.
58141         * tests/test-isnanf-nolibm.c: factored most of its contents into
58142         new file tests/test-isnanf.h.
58143         * tests/test-isnanf.h: New file.
58144         * tests/test-isnanf.c: New file.
58145         * MODULES.html.sh: Mention new module.
58146         * doc/glibc-functions/isnanf.texi: Mention new module.
58147
58148 2008-07-10  Ben Pfaff  <blp@gnu.org>
58149
58150         Add isnand module.
58151         * lib/isnand.h: New file.
58152         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
58153         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
58154         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
58155         functionality also.
58156         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
58157         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
58158         (gl_HAVE_ISNAND_IN_LIBM): New macro.
58159         * modules/isnand: New file.
58160         * modules/isnand-tests: New file.
58161         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
58162         files.
58163         * tests/test-isnand-nolibm.c: factored most of its contents into
58164         new file tests/test-isnand.h.
58165         * tests/test-isnand.h: New file.
58166         * tests/test-isnand.c: New file.
58167         * MODULES.html.sh: Mention new module.
58168
58169 2008-07-10  Ben Pfaff  <blp@gnu.org>
58170
58171         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
58172         * lib/isnand.h: Rename lib/isnand-nolibm.h.
58173         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
58174         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
58175         * modules/isnanf-nolibm: Update references to renamed files.
58176         * modules/isnand-nolibm: Likewise.
58177         * modules/isnanf-nolibm-tests: Likewise.
58178         * modules/isnand-nolibm-tests: Likewise.
58179         * lib/frexp.c: Likewise.
58180         * lib/isfinite.c: Likewise.
58181         * lib/signbitd.c: Likewise.
58182         * lib/signbitf.c: Likewise.
58183         * lib/vasnprintf.c: Likewise.
58184         * tests/test-ceilf1.c: Likewise.
58185         * tests/test-ceilf2.c: Likewise.
58186         * tests/test-floorf1.c: Likewise.
58187         * tests/test-floorf2.c: Likewise.
58188         * tests/test-frexp.c: Likewise.
58189         * tests/test-round1.c: Likewise.
58190         * tests/test-round2.c: Likewise.
58191         * tests/test-roundf1.c: Likewise.
58192         * tests/test-strtod.c: Likewise.
58193         * tests/test-trunc1.c: Likewise.
58194         * tests/test-trunc2.c: Likewise.
58195         * tests/test-truncf1.c: Likewise.
58196         * tests/test-truncf2.c: Likewise.
58197         * NEWS: Mention the renamed header files.
58198
58199 2008-07-11  Jim Meyering  <meyering@redhat.com>
58200
58201         vc-list-files: make the last-resort awk code more portable
58202         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
58203         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
58204         does not support it.
58205
58206 2008-07-10  Eric Blake  <ebb9@byu.net>
58207
58208         Work with tar's bootstrap.
58209         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
58210         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
58211         an m4 comment.
58212
58213 2008-07-09  Jim Meyering  <meyering@redhat.com>
58214
58215         posix-shell.m4: fix typo that made this test malfunction
58216         * m4/posix-shell.m4: Remove capitalization in variable name.
58217
58218 2008-07-08  Bruno Haible  <bruno@clisp.org>
58219
58220         * m4/onceonly.m4: Update comments.
58221         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58222
58223 2008-07-04  Jim Meyering  <meyering@redhat.com>
58224
58225         * users.txt: Add vc-dwim.
58226         (bison, coreutils): Use the gitweb URL.
58227
58228 2008-07-03  Jim Meyering  <meyering@redhat.com>
58229
58230         * users.txt: Add libffcall.  From Sam Steingold.
58231
58232 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
58233
58234         getdate.y: do not ignore TZ with relative day, month or year offset
58235         * lib/getdate.y (get_date): Move the tz-handling block to follow the
58236         relative-date-handling, since otherwise, the latter would clobber the
58237         sole output (an updated Start value) of the tz-handling block.
58238         * tests/test-getdate.c: Tests for the fix
58239
58240 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58241
58242         Recognize 'foo_LIBRARIES += libgnu.a'.
58243         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
58244         makefile snippet has already specified an installation location,
58245         also using '+='.
58246
58247 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
58248
58249         getdate.y: factor out common actions
58250         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
58251         Use them in place of open-coded actions.
58252
58253 2008-07-01  Simon Josefsson  <simon@josefsson.org>
58254
58255         Add self-test for getdate module.
58256         * modules/getdate-tests: New file.
58257         * tests/test-getdate.c: New file.
58258
58259 2008-06-29  Bruno Haible  <bruno@clisp.org>
58260
58261         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
58262         .gitignore.
58263         Reported by Sylvain Beucler <beuc@beuc.net>.
58264
58265 2008-06-29  Bruno Haible  <bruno@clisp.org>
58266
58267         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
58268         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
58269
58270 2008-06-29  Bruno Haible  <bruno@clisp.org>
58271
58272         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
58273         EXTRA_DIST.
58274         Reported by Sylvain Beucler <beuc@beuc.net>.
58275
58276 2008-06-26  Jim Meyering  <meyering@redhat.com>
58277
58278         make several modules depend on the "open" module
58279         This provides slightly increased consistency when opening-for-write
58280         the name of a non-directory spelled with a trailing slash.
58281         * modules/chdir-safer: Likewise.
58282         * modules/chown: Likewise.
58283         * modules/clean-temp: Likewise.
58284         * modules/copy-file: Likewise.
58285         * modules/fchdir: Likewise.
58286         * modules/fcntl-safer: Likewise.
58287         * modules/pipe: Likewise.
58288         * modules/utime: Likewise.
58289         Prompted by Eric Blake and Bruno Haible.
58290
58291 2008-06-24  Andreas Schwab  <schwab@suse.de>
58292
58293         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
58294         literals can be used as initializers for global variables.
58295
58296 2008-06-23  Eric Blake  <ebb9@byu.net>
58297
58298         Make gnulib-cache.m4 easier to diff.
58299         * gnulib-tool (func_import): Allow newlines when reading cached
58300         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
58301
58302 2008-06-23  Bruno Haible  <bruno@clisp.org>
58303
58304         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
58305         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
58306         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
58307         m4/signalblocking.m4.
58308         (gl_PREREQ_SIGACTION): Don't invoke it.
58309         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
58310         gl_PREREQ_SIG_HANDLER_H.
58311         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58312         Don't check for sigaction here.
58313
58314 2008-06-23  Bruno Haible  <bruno@clisp.org>
58315
58316         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
58317         (install_handlers): Don't set the SA_RESETHAND flag.
58318
58319 2008-06-23  Bruno Haible  <bruno@clisp.org>
58320
58321         * m4/sigaction.m4: Comment fixes.
58322         * lib/signal.in.h: Likewise.
58323
58324 2008-06-23  Eric Blake  <ebb9@byu.net>
58325
58326         Fix typo.
58327         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
58328
58329         Avoid SA_ namespace.
58330         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
58331         Reported by Ralf Wildenhues.
58332
58333         Avoid test failure due to SA_RESTORER.
58334         * tests/test-sigaction.c (SA_MASK): New macro.
58335         (main): Avoid failing due to extension flags being set.
58336         Reported by Jim Meyering.
58337
58338         Revert use of sig-handler.h in sigprocmask.c.
58339         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
58340         it requires the existence of struct sigaction.
58341         * lib/sigprocmask.c (handler_t): Restore typedef.
58342         (rpl_signal, old_handlers): Use local type.
58343
58344 2008-06-22  Bruno Haible  <bruno@clisp.org>
58345
58346         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
58347         conditionally.
58348         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58349
58350 2008-06-22  Bruno Haible  <bruno@clisp.org>
58351
58352         * doc/posix-functions/siginterrupt.texi: Move note.
58353
58354         * lib/signal.in.h (SA_RESTART): New macro.
58355         * lib/sigaction.c: Update comment.
58356
58357         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
58358
58359         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
58360         (gl_PREREQ_SIGPROCMASK): Invoke it.
58361         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
58362
58363         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
58364
58365         * lib/sigprocmask.c: Update a comment.
58366
58367 2008-06-21  Eric Blake  <ebb9@byu.net>
58368
58369         Use sigaction module rather than signal().
58370         * modules/c-stack (Depends-on): Add sigaction.
58371         * modules/fatal-signal (Depends-on): Likewise.
58372         * modules/nanosleep (Depends-on): Likewise.
58373         * modules/sigprocmask (Files): Add sig-handler.h.
58374         * modules/sigaction (Files): Likewise.
58375         * lib/sig-handler.h (get_handler): New file, suggested by Paul
58376         Eggert.
58377         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
58378         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
58379         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
58380         (init_fatal_signals): Likewise.
58381         * lib/nanosleep.c (rpl_nanosleep): Likewise.
58382         (siginterrupt): Delete fallback.
58383         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
58384         instead.
58385         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
58386         siginterrupt.
58387
58388         New module sigaction, for mingw.
58389         * modules/sigaction: New module...
58390         * modules/sigaction-tests: ...and its test.
58391         * m4/sigaction.m4: New file.
58392         * lib/sigaction.c: Likewise.
58393         * tests/test-sigaction.c: Likewise.
58394         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
58395         * modules/signal (Makefile.am): Likewise.
58396         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
58397         needed.
58398         * doc/posix-headers/signal.texi (signal.h): Mention provided
58399         types.
58400         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
58401         that sigaction is preferable.
58402         * doc/posix-functions/sigaction.texi (sigaction): Mention new
58403         module.
58404         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58405         sigaction.
58406
58407         Improve robustness of sigprocmask by overriding signal.
58408         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
58409         is in use.
58410         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
58411         (SIGKILL, SIGSTOP): Provide fallbacks.
58412         (rpl_signal): Implement.
58413         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
58414         signal can be called inside handlers.
58415
58416         Fix nanosleep module on mingw.
58417         * modules/nanosleep (Depends-on): Add sys_select.
58418         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
58419
58420         Fix licensing of sigprocmask.
58421         * modules/raise (License): Relicense as LGPL.
58422
58423 2008-06-21  Bruno Haible  <bruno@clisp.org>
58424
58425         * lib/propername.c (proper_name_utf8): Don't use the transliterated
58426         result if it contains question marks.
58427         Reported by Michael Geng <linux@michaelgeng.de>.
58428
58429 2008-06-19  Bruno Haible  <bruno@clisp.org>
58430
58431         Fix CVS-ism.
58432         * doc/gnulib.texi: Include updated-stamp.texi.
58433         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
58434         (updated-stamp.texi): New rule.
58435         (gnulib.info): Depend on it.
58436         * doc/.gitignore: Add updated-stamp.texi.
58437         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
58438
58439 2008-06-19  Bruno Haible  <bruno@clisp.org>
58440
58441         * doc/Makefile (gnulib.info): Update and simplify dependencies.
58442         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58443
58444 2008-06-19  Eric Blake  <ebb9@byu.net>
58445
58446         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
58447         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
58448         Reported by Stepan Kasal.
58449
58450 2008-06-18  Bruno Haible  <bruno@clisp.org>
58451
58452         * lib/fatal-signal.c (init_fatal_signals): Add comment.
58453         Reported by Eric Blake.
58454
58455 2008-06-18  Eric Blake  <ebb9@byu.net>
58456
58457         Work around cygwin 1.5.25 strsignal bug.
58458         * tests/test-strsignal.c: Allow for const char *.
58459         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
58460
58461 2008-06-18  Simon Josefsson  <simon@josefsson.org>
58462
58463         * users.txt: Update URL to article and add author/date
58464         information.
58465
58466 2008-06-17  Bruno Haible  <bruno@clisp.org>
58467
58468         New macro gl_DISABLE_THREADS.
58469         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
58470         if the user did not pass --enable-threads or --disable-threads option.
58471         (gl_DISABLE_THREADS): New macro.
58472         Reported by Eric Blake <ebb9@byu.net>.
58473
58474 2008-06-17  Bruno Haible  <bruno@clisp.org>
58475
58476         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
58477         when the macro ignores it.
58478         Based on a patch by Eric Blake <ebb9@byu.net>.
58479
58480 2008-06-17  Bruno Haible  <bruno@clisp.org>
58481
58482         * modules/tls (License): Change to LGPLv2+.
58483         Reported by Eric Blake.
58484
58485 2008-06-17  Eric Blake  <ebb9@byu.net>
58486
58487         Simplify c-stack prerequisites.
58488         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
58489         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
58490         no longer requires <ucontext.h> to exist.  Optimize setrlimit
58491         check.
58492         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
58493         <sys/resource.h>.
58494
58495         Move c-stack test into testsuite.
58496         * modules/c-stack-tests: New file.
58497         * lib/c-stack.c [DEBUG]: Move test program...
58498         * tests/test-c-stack.c: ...into this new file.  Skip rather than
58499         fail test if sigaltstack is lacking.
58500         * tests/test-c-stack.sh: New driver file.
58501
58502 2008-06-16  Eric Blake  <ebb9@byu.net>
58503
58504         Use raise module consistently.
58505         * modules/fatal-signal (Depends-on): Add raise.
58506         * modules/sigprocmask (Depends-on): Likewise.
58507         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
58508         * lib/sigprocmask.c (sigprocmask): Likewise.
58509         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58510         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
58511
58512         Fix compliance bug in sigpending.
58513         * lib/sigprocmask.c (sigpending): Return pending array via
58514         parameter, not return value.
58515
58516 2008-06-14  Eric Blake  <ebb9@byu.net>
58517
58518         Improve obstack-printf test code.
58519         * tests/test-obstack-printf.c (test_function): Fix comment, and
58520         simplify usage of obstack_* in macros.  Add a test for coverage.
58521         Reported by Bruno Haible.
58522
58523 2008-06-14  Bruno Haible  <bruno@clisp.org>
58524
58525         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
58526         array size as a constant, not as a const variable.
58527         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
58528         AC_USE_SYSTEM_EXTENSIONS.
58529         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
58530         Test whether the obstack_printf function actually exists.
58531         * modules/obstack-printf (Depends-on): Add extensions.
58532         (Include): Remove obstack.h.
58533         * modules/obstack-printf-posix (Depends-on): Add extensions.
58534         (Include): Remove obstack.h.
58535
58536 2008-06-13  Eric Blake  <ebb9@byu.net>
58537
58538         Add obstack-printf and obstack-printf-posix modules.
58539         * modules/obstack-printf: New file.
58540         * modules/obstack-printf-posix: Likewise.
58541         * MODULES.html.sh (Misc): Mention them.
58542         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
58543         Likewise.
58544         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
58545         Likewise.
58546         * modules/stdio (Makefile.am): Accomodate new modules.
58547         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
58548         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
58549         Declare.
58550         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
58551         functions.
58552         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
58553         (gl_REPLACE_OBSTACK_PRINTF): New macros
58554         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
58555         * tests/test-obstack-printf.c: New file.
58556         * modules/obstack-printf-tests: Likewise.
58557         * modules/obstack-printf-posix-tests: Likewise.
58558
58559 2008-06-11  Bruno Haible  <bruno@clisp.org>
58560
58561         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
58562         * lib/open.c: Include errno.h.
58563         (open): Fail when attempting to write to a file that has a trailing
58564         slash.
58565         * tests/test-open.c (main): Test against trailing slash bug.
58566         * doc/posix-functions/open.texi: Mention the trailing slash bug.
58567
58568 2008-06-10  Bruno Haible  <bruno@clisp.org>
58569
58570         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
58571         for $? to work inside the trap command, with various /bin/sh-s.
58572         * tests/test-vc-list-files-cvs.sh: Likewise.
58573
58574 2008-06-10  Bruno Haible  <bruno@clisp.org>
58575
58576         * lib/acl-internal.h: Don't include gettext.h here.
58577         * lib/set-mode-acl.c: Include gettext.h here.
58578         * lib/copy-acl.c: Likewise.
58579
58580 2008-06-10  Bruno Haible  <bruno@clisp.org>
58581
58582         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
58583         * lib/wait-process.c (wait_subprocess): Likewise.
58584         * lib/execute.h (execute): Add termsigp argument.
58585         * lib/execute.c (execute): Likewise.
58586         * lib/csharpcomp.c (compile_csharp_using_pnet,
58587         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
58588         * lib/csharpexec.c (execute_csharp_using_pnet,
58589         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
58590         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
58591         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
58592         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
58593         is_jikes_present): Update.
58594         * lib/javaexec.c (execute_java_class): Update.
58595         * lib/javaversion.c (execute_and_read_line): Update.
58596         * NEWS: Document the changes.
58597         Reported by Eric Blake.
58598
58599 2008-06-10  Eric Blake  <ebb9@byu.net>
58600
58601         Add missing include.
58602         * tests/test-strstr.c (includes): Add <signal.h>.
58603         * tests/test-strcasestr.c (includes): Likewise.
58604         * tests/test-memmem.c (includes): Likewise.
58605
58606 2008-06-10  Bruno Haible  <bruno@clisp.org>
58607
58608         * lib/wait-process.c (wait_subprocess): Add an assertion.
58609
58610 2008-06-10  Bruno Haible  <bruno@clisp.org>
58611
58612         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
58613
58614 2008-06-10  Bruno Haible  <bruno@clisp.org>
58615
58616         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
58617         using alarm().
58618         * tests/test-strcasestr.c (main): Likewise.
58619         * tests/test-strstr.c (main): Likewise.
58620
58621 2008-06-09  Bruno Haible  <bruno@clisp.org>
58622
58623         Work around the Solaris 10 ACE ACLs ABI change.
58624         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
58625         declare if ACL_NO_TRIVIAL is present.
58626         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
58627         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
58628         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
58629         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
58630         define if ACL_NO_TRIVIAL is present.
58631         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
58632         and use the current ABI.
58633         (file_has_acl): Use same #if condition as elsewhere.
58634         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
58635         in use, and use the current ABI.
58636         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
58637         Reported by Jim Meyering.
58638
58639 2008-06-09  Eric Blake  <ebb9@byu.net>
58640
58641         Work around environments that (stupidly) ignore SIGALRM.
58642         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
58643         before using alarm().
58644         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58645         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58646         Reported by Ian Beckwith <ianb@erislabs.net>.
58647
58648         Produce autobuild blurb earlier in log.
58649         * modules/autobuild (configure.ac-early): Move AB_INIT here.
58650
58651 2008-06-09  Jim Meyering  <meyering@redhat.com>
58652         and OndÅ™ej Vašík  <ovasik@redhat.com>
58653
58654         utimens.c: correct kernel bug work-around
58655         OndÅ™ej Vašík found that the invalid return value of 280 indicates
58656         failure, not success, and the kernel bug we're trying to work
58657         around affects not just the utimensat call, but also the fallback
58658         futimens call.
58659         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
58660         not success.
58661         [HAVE_FUTIMENS]: Use the same work-around, here.
58662
58663 2008-06-09  Jim Meyering  <meyering@redhat.com>
58664
58665         add more guards around definition of ACE_-related code
58666         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
58667         ALLOW and ACE_OWNER are also defined.
58668
58669 2008-06-08  Bruno Haible  <bruno@clisp.org>
58670
58671         * lib/acl-internal.h: Add me as co-author.
58672         * lib/file-has-acl.c: Likewise.
58673         * lib/set-mode-acl.c: Likewise.
58674         * lib/copy-acl.c: Likewise.
58675
58676 2008-06-08  Bruno Haible  <bruno@clisp.org>
58677
58678         Add support for AIX ACLs.
58679         * lib/acl-internal.h (acl_nontrivial): New declaration.
58680         * lib/file-has-acl.c (acl_nontrivial): New function.
58681         (file_has_acl): Add implementation using AIX 4 ACL API.
58682         * lib/set-mode-acl.c (qset_acl): Likewise.
58683         * lib/copy-acl.c (qcopy_acl): Likewise.
58684
58685 2008-06-08  Bruno Haible  <bruno@clisp.org>
58686
58687         Add support for HP-UX ACLs.
58688         * lib/acl-internal.h (acl_nontrivial): New declaration.
58689         * lib/file-has-acl.c (acl_nontrivial): New function.
58690         (file_has_acl): Add implementation using HP-UX 11 ACL API.
58691         * lib/set-mode-acl.c (qset_acl): Likewise.
58692         * lib/copy-acl.c (qcopy_acl): Likewise.
58693
58694 2008-06-08  Bruno Haible  <bruno@clisp.org>
58695
58696         Add support for Cygwin ACLs.
58697         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
58698         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
58699         the chmod_or_fchmod call.
58700         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
58701
58702 2008-06-08  Bruno Haible  <bruno@clisp.org>
58703
58704         Fix bug with setuid modes in Solaris 10+ code.
58705         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
58706         succeeded, when the mode contains some special bits.
58707
58708 2008-06-08  Bruno Haible  <bruno@clisp.org>
58709
58710         Add support for Solaris 7..10 ACLs.
58711         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
58712         declarations.
58713         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
58714         functions.
58715         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
58716         * lib/set-mode-acl.c (qset_acl): Likewise.
58717         * lib/copy-acl.c (qcopy_acl): Likewise.
58718
58719 2008-06-08  Bruno Haible  <bruno@clisp.org>
58720
58721         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
58722         declaration.
58723         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
58724         (acl_access_nontrivial): Remove MacOS X case.
58725         (file_has_acl): Use acl_extended_nontrivial.
58726         * lib/copy-acl.c (qcopy_acl): Likewise.
58727
58728 2008-06-08  Bruno Haible  <bruno@clisp.org>
58729
58730         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
58731
58732 2008-06-08  Jim Meyering  <meyering@redhat.com>
58733
58734         * modules/acl (Maintainer): Add Bruno Haible.
58735
58736 2008-06-07  Bruno Haible  <bruno@clisp.org>
58737
58738         Improve support for Tru64 ACLs.
58739         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
58740         ACL on OSF/1.
58741
58742 2008-06-07  Bruno Haible  <bruno@clisp.org>
58743
58744         Add support for MacOS X ACLs.
58745         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
58746         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
58747         * lib/set-mode-acl.c (qset_acl): Likewise.
58748         * lib/copy-acl.c (qcopy_acl): Likewise.
58749
58750 2008-06-07  Bruno Haible  <bruno@clisp.org>
58751
58752         Fix memory leak introduced on 2008-05-22.
58753         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
58754         use.
58755
58756 2008-06-07  Bruno Haible  <bruno@clisp.org>
58757
58758         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
58759         to construct an empty ACL.
58760
58761 2008-06-07  Bruno Haible  <bruno@clisp.org>
58762
58763         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
58764         precisely.
58765         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
58766
58767 2008-06-07  Bruno Haible  <bruno@clisp.org>
58768
58769         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
58770         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
58771
58772 2008-06-07  Bruno Haible  <bruno@clisp.org>
58773
58774         * doc/posix-functions/_setjmp.texi: Explain the use of this function
58775         regardless of POSIX.
58776         * doc/posix-functions/_longjmp.texi: Likewise.
58777         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
58778         SystemV platform in this case.
58779
58780 2008-06-06  Eric Blake  <ebb9@byu.net>
58781
58782         Document abort() bugs.
58783         * doc/posix-functions/abort.texi (abort): Mention anomalies.
58784
58785         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
58786         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
58787         sigsetjmp.
58788         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
58789         siglongjmp, but only as a macro.
58790         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
58791         is obsolete.
58792         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
58793
58794         Tweak documentation to cover cygwin argz bugs.
58795         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
58796         argz bug fix; no code change needed since no cygwin releases
58797         occurred between the last fix and the bug being tested.
58798         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
58799         module and recently fixed cygwin bugs.
58800         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
58801         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
58802         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
58803         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
58804         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
58805         Likewise.
58806         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
58807         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
58808         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
58809         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
58810         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
58811         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
58812         Likewise.
58813
58814         Avoid gcc warning on cygwin.
58815         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
58816         !ACL_NO_TRIVIAL]: Avoid unused variable.
58817
58818 2008-06-05  Eric Blake  <ebb9@byu.net>
58819
58820         Be tolerant of UNKNOWN version in gnulib-tool test dir.
58821         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
58822         git-version-gen fails to come up with a version.
58823         Reported by Simon Josefsson.
58824
58825 2008-06-05  Jim Meyering  <meyering@redhat.com>
58826             Paul Eggert  <eggert@cs.ucla.edu>
58827
58828         utimens.c: work around a probable Linux kernel bug
58829         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
58830         appears to be a kernel bug that causes utimensat to return 280
58831         instead of 0, indicating success.
58832
58833 2008-06-04  Bruno Haible  <bruno@clisp.org>
58834
58835         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
58836         2008-06-01 commit.
58837
58838 2008-06-04  Bruno Haible  <bruno@clisp.org>
58839
58840         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
58841         * lib/file-has-acl.c (acl_access_nontrivial): New function.
58842         (file_has_acl): Use it. Save errno afterwards.
58843         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
58844
58845 2008-06-03  Bruno Haible  <bruno@clisp.org>
58846
58847         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
58848         draft code. Simplify #ifs.
58849         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
58850         Put Solaris code after POSIX-draft code. Fix comments regarding
58851         Solaris 10, HP-UX. Mention Cygwin.
58852         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
58853
58854 2008-06-03  Eric Blake  <ebb9@byu.net>
58855
58856         Provide fallback for older kernels.
58857         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
58858         Provide runtime fallback if kernel lacks support.
58859         Reported by Mike Frysinger.
58860
58861 2008-06-02  Bruno Haible  <bruno@clisp.org>
58862
58863         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
58864         it exists.
58865
58866 2008-06-02  Bruno Haible  <bruno@clisp.org>
58867
58868         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
58869         * lib/copy-acl.c (qcopy_acl): Update comment.
58870
58871 2008-06-02  Bruno Haible  <bruno@clisp.org>
58872
58873         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
58874         like ACL APIs.
58875
58876 2008-06-02  Bruno Haible  <bruno@clisp.org>
58877
58878         * tests/test-file-has-acl.sh: Use different code for Cygwin.
58879         * tests/test-set-mode-acl.sh: Likewise.
58880         * tests/test-copy-acl.sh: Likewise.
58881         * tests/test-copy-file.sh: Likewise.
58882
58883 2008-06-02  Bruno Haible  <bruno@clisp.org>
58884
58885         * tests/test-file-has-acl.sh: Remove unused code.
58886
58887 2008-06-01  Bruno Haible  <bruno@clisp.org>
58888
58889         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
58890         (copy_acl): Just a wrapper around qcopy_acl that emits the error
58891         messages.
58892         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
58893
58894 2008-06-01  Bruno Haible  <bruno@clisp.org>
58895
58896         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
58897         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
58898         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
58899         APIs.
58900         * modules/acl-tests (configure.ac): Remove tests now contained in
58901         m4/acl.m4.
58902
58903 2008-06-02  Jim Meyering  <meyering@redhat.com>
58904
58905         announce-gen: use a better key-server host name
58906         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
58907         it may be more consistently reliable.  Suggested by Werner Koch
58908         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
58909
58910 2008-06-01  Bruno Haible  <bruno@clisp.org>
58911
58912         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
58913         Reported by Voroskoi Andras <voroskoi@gmail.com>.
58914
58915 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
58916
58917         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
58918
58919 2008-06-01  Bruno Haible  <bruno@clisp.org>
58920
58921         New ACL tests.
58922         * tests/test-file-has-acl.sh: New file.
58923         * tests/test-file-has-acl.c: New file.
58924         * tests/test-set-mode-acl.sh: New file.
58925         * tests/test-set-mode-acl.c: New file.
58926         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
58927         * tests/test-copy-acl.c: New file.
58928         * modules/acl-tests: New file, based on modules/copy-file-tests.
58929         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
58930         (Depends-on): Add acl-tests.
58931         (configure.ac): Remove checks.
58932         (Makefile.am): Don't create test-sameacls program here any more.
58933
58934 2008-06-01  Bruno Haible  <bruno@clisp.org>
58935
58936         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
58937         * tests/test-sameacls.c: Include progname.h.
58938         (main): Invoke set_program_name. Portability fixes for MacOS X,
58939         Solaris, HP-UX.
58940
58941 2008-06-01  Bruno Haible  <bruno@clisp.org>
58942
58943         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
58944         function.
58945         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
58946
58947 2008-06-01  Bruno Haible  <bruno@clisp.org>
58948
58949         * modules/rpmatch (Depends-on): Add strdup.
58950
58951 2008-06-01  Bruno Haible  <bruno@clisp.org>
58952
58953         * lib/pipe.c: Include unistd-safer.h.
58954         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
58955         * modules/pipe (Depends-on): Add unistd-safer.
58956
58957 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58958
58959         * modules/autobuild (configure.ac): Call AB_INIT.
58960
58961 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58962
58963         * tests/test-getaddrinfo.c: Don't print debug messages by default.
58964         Suggested by Bruno Haible <bruno@clisp.org>.
58965
58966 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58967
58968         * tests/test-base64.c: Cast size_t to unsigned long when invoking
58969         printf.  Use %lu instead of %d.  Reported by Bruno Haible
58970         <bruno@clisp.org>.
58971
58972 2008-05-29  Eric Blake  <ebb9@byu.net>
58973
58974         Prefer new POSIX 200x interfaces over futimesat.
58975         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
58976         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
58977         when available.
58978         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
58979
58980 2008-05-28  Bruno Haible  <bruno@clisp.org>
58981
58982         * modules/stpcpy (License): Change to LGPLv2+.
58983         Requested by David Lutterkort <dlutter@redhat.com>.
58984
58985 2008-05-27  Bruno Haible  <bruno@clisp.org>
58986
58987         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
58988         current mingw.
58989         Reported by Jose E. Marchesi <jemarch@gnu.org>.
58990
58991 2008-05-27  Bruno Haible  <bruno@clisp.org>
58992
58993         * modules/iconv_open (Link): New section, from module 'iconv'.
58994         * modules/striconv (Link): Likewise.
58995         * modules/striconveh (Link): Likewise.
58996         * modules/xstriconv (Link): Likewise.
58997         * modules/unicodeio (Link): Likewise.
58998         * modules/propername (Link): Likewise.
58999         Reported by Jim Meyering.
59000
59001 2008-05-26  Jim Meyering  <meyering@redhat.com>
59002
59003         sha256: do not artificially restrict buffer length to be < 2^32
59004         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
59005         uint32_t to size_t.
59006         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
59007         to match.
59008
59009         avoid unaligned access errors, e.g., on sparc
59010         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
59011         direct access through a possibly-unaligned uint64* pointer.
59012         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
59013         direct access through a possibly-unaligned uint32* pointer.
59014         Prompted by this patch from Tom "spot" Callaway:
59015         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
59016
59017         sha512.c: fix typo in comment
59018         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
59019
59020 2008-05-25  Bruno Haible  <bruno@clisp.org>
59021
59022         * lib/set-mode-acl.c: Renamed from lib/acl.c.
59023         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
59024         (Makefile.am): Update lib_SOURCES.
59025
59026 2008-05-25  Bruno Haible  <bruno@clisp.org>
59027
59028         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
59029
59030 2008-05-25  Jim Meyering  <meyering@redhat.com>
59031
59032         useless-if-before-free: freed expr may have white-space differences
59033         * build-aux/useless-if-before-free: Recognize cases in which the
59034         freed expression differs from the tested one in embedded white
59035         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
59036         $1 was used, so we can't make any regexp shy.  Improved tests now
59037         detect this.
59038
59039         useless-if-before-free: accept white space in the expression.
59040         * build-aux/useless-if-before-free: For now, any white space
59041         in the expression must be identical in the free argument.
59042
59043         useless-if-before-free: efficiency tweak
59044         * build-aux/useless-if-before-free: Make the expression-matching
59045         regexp "shy".
59046         Make the *outer* regexp shy, not the expr-matching one.
59047
59048         update code-in-comment to accept cast of free arg
59049         * build-aux/useless-if-before-free: Update regexp.
59050
59051 2008-05-25  Bruno Haible  <bruno@clisp.org>
59052
59053         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
59054         * modules/copy-file-tests (Files, Makefile.am): Update.
59055         * tests/test-copy-file.c (func_test_copy): Update.
59056
59057 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
59058
59059         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
59060
59061 2008-05-23  Bruno Haible  <bruno@clisp.org>
59062
59063         Improve support for ACLs on OSF/1.
59064         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
59065         Remove fallback for unknown flavors of ACLs.
59066
59067 2008-05-22  Bruno Haible  <bruno@clisp.org>
59068
59069         Add support for ACLs on OSF/1.
59070         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
59071         replacements.
59072         (acl_free_text): New macro fallback.
59073         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
59074         acl_free.
59075         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
59076         acl_free_text function. Require AC_C_INLINE.
59077
59078 2008-05-22  Bruno Haible  <bruno@clisp.org>
59079
59080         Make copy_acl work on MacOS X 10.5.
59081         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
59082         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
59083         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
59084         If MODE_INSIDE_ACL, don't assume that every system has the same text
59085         representation for ACLs as FreeBSD.
59086         * lib/copy-acl.c (copy_acl): Add support for platforms with
59087         !MODE_INSIDE_ACL.
59088         * lib/file-has-acl.c (file_has_acl): Likewise.
59089         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
59090         FreeBSD, MacOS X, or IRIX, respectively.
59091
59092 2008-05-22  Bruno Haible  <bruno@clisp.org>
59093
59094         * lib/acl.h: Don't include <sys/acl.h>.
59095         (GETACLCNT): Move fallback to lib/acl-internal.h.
59096         * lib/acl-internal.h: Include <sys/acl.h> here.
59097         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
59098
59099 2008-05-22  Bruno Haible  <bruno@clisp.org>
59100
59101         Split off copy_acl function to separate file.
59102         * lib/copy-acl.c: New file, extracted from lib/acl.c.
59103         * lib/acl.c (copy_acl): Moved function to separate file.
59104         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
59105         * modules/acl (Files): Add lib/copy-acl.c.
59106         (Makefiles.am): Augment lib_SOURCES.
59107
59108 2008-05-22  Bruno Haible  <bruno@clisp.org>
59109
59110         * modules/copy-file-tests: New file.
59111         * tests/test-copy-file.sh: New file.
59112         * tests/test-copy-file.c: New file.
59113         * tests/test-copy-file-sameacls.c: New file.
59114
59115 2008-05-22  Eric Blake  <ebb9@byu.net>
59116
59117         Avoid gcc warning.
59118         * tests/test-memcmp.c (main): Pass NULL indirectly.
59119
59120 2008-05-21  Bruno Haible  <bruno@clisp.org>
59121
59122         Add reference doc about ACLs.
59123         * doc/acl-resources.txt: New file.
59124         * doc/acl-cygwin.txt: New file.
59125
59126 2008-05-21  Bruno Haible  <bruno@clisp.org>
59127
59128         Avoid one more warning from gcc.
59129         * lib/vasnprintf.c (IF_LINT): Update comments.
59130         (VASNPRINTF): Use it also for the 'prefix' array initializer.
59131
59132 2008-05-21  Jim Meyering  <meyering@redhat.com>
59133
59134         avoid a warning from gcc
59135         * lib/vasnprintf.c (IF_LINT): Define.
59136         (scale10_round_decimal_long_double):
59137         Use it to avoid a "may be used uninitialized" warning.
59138         (scale10_round_decimal_double): Likewise.
59139
59140 2008-05-21  Simon Josefsson  <simon@josefsson.org>
59141
59142         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
59143         declared.
59144
59145 2008-05-20  Bruno Haible  <bruno@clisp.org>
59146
59147         * tests/test-memcmp.c (main): Test also the sign of the result. Test
59148         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
59149
59150 2008-05-20  Simon Josefsson  <simon@josefsson.org>
59151
59152         * modules/memcmp-tests: New file.
59153         * tests/test-memcmp.c: New file.
59154
59155 2008-05-19  Bruno Haible  <bruno@clisp.org>
59156
59157         * modules/propername (Notice, configure.ac): Put quoted "..." into
59158         --keyword option.
59159         * lib/propername.h: Update comments accordingly.
59160         Reported by Eric Blake.
59161
59162 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
59163
59164         * modules/getpass-gnu (Depends-on): Add fseeko.
59165
59166 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59167
59168         * modules/base64-tests: New file.
59169
59170 2008-05-19  Bo Borgerson <gigabo@gmail.com>
59171
59172         * lib/base64.c (base64_decode_ctx): If a decode context structure
59173         was passed in use it to ignore newlines.  If a context structure
59174         was _not_ passed in, continue to treat newlines as garbage (this
59175         is the historical behavior).  Formerly base64_decode.
59176         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59177         takes a decode context structure.
59178         * lib/base64.h (base64_decode): Macro for four-argument calls.
59179         (base64_decode_alloc): Likewise.
59180         * lib/base64.c (base64_decode_ctx): If a decode context structure
59181         was passed in use it to ignore newlines.  If a context structure
59182         was _not_ passed in, continue to treat newlines as garbage (this
59183         is the historical behavior).  Formerly base64_decode.
59184         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59185         takes a decode context structure.
59186         * lib/base64.h (base64_decode): Macro for four-argument calls.
59187         (base64_decode_alloc): Likewise.
59188
59189 2008-05-19  Jim Meyering  <meyering@redhat.com>
59190
59191         avoid a warning from gcc
59192         * lib/trim.c (IF_LINT): Define.
59193         (trim2): Use it to avoid a "may be used uninitialized" warning.
59194
59195         Fix doc typo.
59196         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
59197
59198 2008-05-19  Bruno Haible  <bruno@clisp.org>
59199
59200         * doc/glibc-functions/getpass.texi: Document limits of other
59201         implementations.
59202
59203 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59204             Bruno Haible <bruno@clisp.org>
59205
59206         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
59207
59208 2008-05-18  Bruno Haible  <bruno@clisp.org>
59209
59210         * modules/propername: New file, from GNU gettext.
59211         * lib/propername.h: New file, from GNU gettext.
59212         * lib/propername.c: New file, from GNU gettext.
59213         * MODULES.html.sh (Internationalization functions): Add propername.
59214
59215 2008-05-16  Jim Meyering  <meyering@redhat.com>
59216             Bruno Haible  <bruno@clisp.org>
59217
59218         Avoid some warnings from "gcc -Wshadow".
59219         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
59220
59221 2008-05-15  Eric Blake  <ebb9@byu.net>
59222
59223         Extend previous patch to cygwin 1.7.0.
59224         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
59225         fast implementation in cygwin >= 1.7.0.
59226         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59227         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59228
59229 2008-05-15  Bruno Haible  <bruno@clisp.org>
59230
59231         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
59232         implementation in glibc >= 2.9.
59233         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59234         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59235
59236 2008-05-15  Bruno Haible  <bruno@clisp.org>
59237
59238         * MODULES.html.sh (Internationalization functions): Remove linebreak.
59239         (Unicode string functions): Add unilbrk/*.
59240         Reported by Karl Berry.
59241
59242 2008-05-15  Eric Blake  <ebb9@byu.net>
59243
59244         Fix violation of <stdbool.h> replacement in regex.
59245         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
59246         * lib/regexec.c (re_search_internal): Likewise.
59247         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
59248
59249 2008-05-15  Jim Meyering  <meyering@redhat.com>
59250
59251         avoid distracting test output when git or cvs is not found
59252         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
59253         * tests/test-vc-list-files-git.sh: Likewise.
59254
59255 2008-05-15  Eric Blake  <ebb9@byu.net>
59256
59257         Glibc finally accepted the memmem speedup code, bugzilla #5514.
59258         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
59259         glibc version.
59260         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
59261         * doc/posix-functions/strstr.texi (strstr): Likewise.
59262         * lib/str-two-way.h (MAX): Sychronize with glibc.
59263
59264 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
59265
59266         * lib/regcomp.c (optimize_utf8): Add a note on why we test
59267         opr.ctx_type.
59268         (calc_first): Initialize constraint field.
59269         (duplicate_node_closure): Use it instead of special casing ANCHORS.
59270         Fix grammar.
59271         (duplicate_node): Merge constraint field for all node types.
59272         (calc_eclosure_iter): Look at constraint field for all node types.
59273         * lib/regex_internal.c (create_cd_newstate): Don't look at
59274         opr.ctx_type.
59275
59276 2008-05-14  Bruno Haible  <bruno@clisp.org>
59277
59278         Help GCC to do better code generation.
59279         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
59280         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
59281         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
59282         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
59283         Declare with attribute 'malloc' if supported.
59284
59285 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
59286
59287         use "echo STR|wc -c" rather than unportable "expr length STR"
59288         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
59289         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
59290
59291 2008-05-14  Jim Meyering  <meyering@redhat.com>
59292
59293         use dd ibs=$n count=1 ... rather than less-portable head -c$n
59294         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
59295         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
59296         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
59297         via Collin Lasse.
59298
59299 2008-05-14  Eric Blake  <ebb9@byu.net>
59300
59301         Avoid quadratic growth in gl_LIBSOURCES.
59302         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
59303         Suggested by Bruno Haible.
59304
59305         Test xmemdup0.
59306         * modules/xmemdup0-tests: New file.
59307         * tests/test-xmemdup0.c: Likewise.
59308
59309 2008-05-13  Eric Blake  <ebb9@byu.net>
59310
59311         Split xmemdup0 into its own module.
59312         * modules/xmemdup0: New file.
59313         * lib/xmemdup0.h: Likewise.
59314         * lib/xmemdup0.c: Likewise.
59315         * MODULES.html.sh (Memory management functions): Add xmemdup0.
59316         * lib/xalloc.h (xmemdup0): Remove.
59317         * lib/xmalloc.c (xmemdup0): Likewise.
59318
59319 2008-05-13  Eric Blake  <ebb9@byu.net>
59320             Bruno Haible  <bruno@clisp.org>
59321
59322         Reduce number of forks required during autoconf.
59323         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
59324         and gl_LIBSOURCES_DIR.
59325         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
59326         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
59327         m4_syscmd per file.
59328         <m4_foreach_w>: Move...
59329         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
59330
59331 2008-05-13  Eric Blake  <ebb9@byu.net>
59332
59333         * gnulib-tool: Fix various comment typos.
59334
59335 2008-05-12  Bruno Haible  <bruno@clisp.org>
59336
59337         Tailor the linebreaking algorithm.
59338         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
59339
59340 2008-05-12  Bruno Haible  <bruno@clisp.org>
59341
59342         Update to Unicode 5.0.0.
59343         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59344         LBP_JV, LBP_JT. Redistribute values.
59345         (unilbrk_table): Change size.
59346         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
59347         Unicode TR#14 rev. 22.
59348         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59349         LBP_JV, LBP_JT. Redistribute values.
59350         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
59351         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
59352         Update.
59353         * lib/unilbrk/lbrkprop1.h: Regenerated.
59354         * lib/unilbrk/lbrkprop2.h: Regenerated.
59355         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
59356         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
59357         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
59358         Likewise.
59359         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
59360         Likewise.
59361         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
59362         result.
59363         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59364         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59365         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
59366         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
59367         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
59368         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
59369
59370 2008-05-11  Bruno Haible  <bruno@clisp.org>
59371
59372         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
59373
59374 2008-05-11  Bruno Haible  <bruno@clisp.org>
59375
59376         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
59377         * modules/unilbrk/gen-lbrk: New file.
59378
59379 2008-05-11  Bruno Haible  <bruno@clisp.org>
59380
59381         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
59382         * m4/sha512.m4 (gl_SHA512): Likewise.
59383
59384 2008-05-11  Jim Meyering  <meyering@redhat.com>
59385
59386         New modules: crypto/sha256, crypto/sha512 (from coreutils)
59387         * modules/crypto/sha256: New file.
59388         * modules/crypto/sha512: Likewise.
59389         * lib/sha256.c: Likewise.
59390         * lib/sha256.h: Likewise.
59391         * lib/sha512.c: Likewise.
59392         * lib/sha512.h: Likewise.
59393         * lib/u64.h: Likewise.
59394         * m4/sha256.m4: Likewise.
59395         * m4/sha512.m4: Likewise.
59396         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
59397
59398 2008-05-10  Bruno Haible  <bruno@clisp.org>
59399
59400         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
59401         (Input/Output <stdio.h>): Add xprintf.
59402         (Signal handling <signal.h>): Add strsignal.
59403         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
59404         (Core language properties): Add func.
59405         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
59406         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
59407         strings.
59408         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
59409         (Input/output): New section.
59410         (File system functions): Add openat-die, stat-macros.
59411         (Networking functions): Add sockets.
59412         (Unicode string functions): Add unictype/*.
59413         (Support for building libraries and executables): Add gperf.
59414         (Support for building documentation): Add agpl-3.0.
59415         (Misc): Add nocrash.
59416
59417 2008-05-10  Bruno Haible  <bruno@clisp.org>
59418
59419         * modules/unictype/gen-ctype: New file.
59420
59421 2008-05-10  Jim Meyering  <meyering@redhat.com>
59422
59423         Make chdir-safer.c more efficient on a system with no symlinks.
59424         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
59425         also if ELOOP is zero.  Suggested by Bruno Haible.
59426
59427         Make chdir-safer.c slightly safer.
59428         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
59429         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
59430
59431         Avoid compile failure on systems without ELOOP (like mingw).
59432         * lib/chdir-safer.c (ELOOP): Define if not already defined.
59433         Reported by Bruno Haible.
59434
59435 2008-05-10  Bruno Haible  <bruno@clisp.org>
59436
59437         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
59438         (is_utf8_encoding): Use a case-insensitive comparison.
59439         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
59440         streq.
59441
59442 2008-05-10  Bruno Haible  <bruno@clisp.org>
59443
59444         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
59445         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
59446         * lib/unilbrk/ulc-common.h (iconv_string_length,
59447         iconv_string_keeping_offsets): Remove declarations.
59448         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
59449         Don't include <iconv.h>, streq.h, xsize.h.
59450         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
59451         conversion.
59452         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
59453         <iconv.h>, streq.h, xsize.h.
59454         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
59455         conversion.
59456         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
59457         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
59458         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
59459         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
59460
59461 2008-05-10  Bruno Haible  <bruno@clisp.org>
59462
59463         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
59464         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
59465
59466         * modules/unilbrk/u32-width-linebreaks-tests: New file.
59467         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
59468
59469         * modules/unilbrk/u16-width-linebreaks-tests: New file.
59470         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
59471
59472         * modules/unilbrk/u8-width-linebreaks-tests: New file.
59473         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
59474
59475         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
59476         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
59477
59478         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
59479         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
59480
59481         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
59482         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
59483
59484         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
59485         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
59486
59487 2008-05-10  Bruno Haible  <bruno@clisp.org>
59488
59489         Split up 'linebreak' module.
59490         * lib/unilbrk.h: New file, based on lib/linebreak.h.
59491         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
59492         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
59493         modifications.
59494         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
59495         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
59496         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
59497         lib/linebreak.c.
59498         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
59499         lib/linebreak.c.
59500         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
59501         lib/linebreak.c.
59502         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
59503         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
59504         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
59505         lib/linebreak.c.
59506         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
59507         lib/linebreak.c.
59508         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
59509         lib/linebreak.c.
59510         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
59511         lib/linebreak.c.
59512         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
59513         lib/linebreak.c.
59514         * modules/unilbrk/base: New file.
59515         * modules/unilbrk/tables: New file.
59516         * modules/unilbrk/u8-possible-linebreaks: New file.
59517         * modules/unilbrk/u16-possible-linebreaks: New file.
59518         * modules/unilbrk/u32-possible-linebreaks: New file.
59519         * modules/unilbrk/ulc-common: New file.
59520         * modules/unilbrk/ulc-possible-linebreaks: New file.
59521         * modules/unilbrk/u8-width-linebreaks: New file.
59522         * modules/unilbrk/u16-width-linebreaks: New file.
59523         * modules/unilbrk/u32-width-linebreaks: New file.
59524         * modules/unilbrk/ulc-width-linebreaks: New file.
59525         * lib/linebreak.h: Remove file.
59526         * lib/linebreak.c: Remove file.
59527         * m4/linebreak.m4: Remove file.
59528         * modules/linebreak: Remove file.
59529         * NEWS: Mention the changes.
59530
59531 2008-05-09  Eric Blake  <ebb9@byu.net>
59532
59533         Add xmemdup0.
59534         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
59535         implementation.
59536         * lib/xmalloc.c (xmemdup0): New C implementation.
59537
59538 2008-05-08  Bruno Haible  <bruno@clisp.org>
59539
59540         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
59541
59542 2008-05-07  Eric Blake  <ebb9@byu.net>
59543
59544         Support cross-compilation of <wctype.h>.
59545         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
59546         AC_CACHE_CHECK.
59547
59548 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
59549
59550         * build-aux/vc-list-files: Add support for bzr.
59551
59552 2008-05-03  Jim Meyering  <meyering@redhat.com>
59553
59554         avoid failed assertion with tight malloc
59555         * tests/test-getndelim2.c: Correct an off-by-one assertion.
59556
59557 2008-05-03  Simon Josefsson  <simon@josefsson.org>
59558
59559         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
59560         are needed from arpa/inet.h.
59561         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
59562         Reported by Bruno Haible.
59563
59564 2008-05-02  Jim Meyering  <meyering@redhat.com>
59565
59566         avoid compilation error on FreeBSD 6
59567         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
59568
59569 2008-05-01  Jim Meyering  <meyering@redhat.com>
59570
59571         useless-if-before-free: correct --help's exit status description
59572         * build-aux/useless-if-before-free (usage): Like grep, exit 0
59573         for one or more matches, etc.  Reported by Bruno Haible.
59574
59575         vc-list-files: make the stand-alone gnulib test work
59576         * modules/vc-list-files-tests (configure.ac):
59577         Define and AC_SUBST abs_aux_dir.
59578         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
59579         $(abs_top_srcdir) to each script and having each of them
59580         duplicate the work of setting PATH, set PATH here, using
59581         the new variable, abs_aux_dir instead.
59582         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
59583         * tests/test-vc-list-files-git.sh: Likewise.
59584         Reported by Bruno Haible.
59585
59586 2008-05-01  Bruno Haible  <bruno@clisp.org>
59587
59588         * lib/getndelim2.c (getndelim2): Fix newsize computation during
59589         reallocation. Rename 'done' to 'found_delimiter'.
59590
59591 2008-05-01  Jim Meyering  <meyering@redhat.com>
59592
59593         vc-list-files: accommodate /bin/sh like the one from Solaris 10
59594         * build-aux/vc-list-files: Use `...`, not $(...).
59595
59596 2008-04-30  Jim Meyering  <meyering@redhat.com>
59597
59598         add tests for vc-list-files
59599         * modules/vc-list-files-tests: New module.
59600         * tests/test-vc-list-files-cvs.sh: New file.
59601         * tests/test-vc-list-files-git.sh: New file.
59602
59603         avoid a warning from gcc
59604         * lib/getndelim2.c (IF_LINT): Define.
59605         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
59606
59607         vc-list-files: work properly with build-aux/cvsu, too
59608         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
59609         to all cvs-based clauses.
59610
59611         vc-list-files: work properly in the CVS+awk case, too
59612         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
59613
59614         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
59615         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
59616         take more than one file argument, so .  Add quotes, just in case $dir
59617         ever contains a shell meta-character.  Prompted by Soren Hansen in
59618         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
59619
59620 2008-04-29  Eric Blake  <ebb9@byu.net>
59621
59622         Optimize getndelim2 to use block operations when possible.
59623         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
59624         freadseek, and memchr2.
59625         * lib/getndelim2.c (getndelim2): Use them for block reads.
59626
59627 2008-04-29  Bruno Haible  <bruno@clisp.org>
59628
59629         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
59630         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59631         * modules/inet_ntop (Depends-on): Add extensions.
59632         * modules/inet_pton (Depends-on): Likewise.
59633         Reported by Simon Josefsson.
59634
59635 2008-04-29  Jim Meyering  <meyering@redhat.com>
59636
59637         When the is more than one match in a block, match all of them.
59638         * build-aux/useless-if-before-free: Iterate through each block
59639         until there are no more matches.
59640
59641         Fix broken useless-if-before-free script.
59642         * build-aux/useless-if-before-free: Fix typo: missing "?" after
59643         the expression to match cast of argument to free-like function.
59644
59645 2008-04-29  Eric Blake  <ebb9@byu.net>
59646
59647         Use new header.
59648         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
59649
59650 2008-04-29  Jim Meyering  <meyering@redhat.com>
59651
59652         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
59653         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
59654         by gnulib to exist and to declare e.g., inet_ntop.
59655         Don't include "inet_ntop.h", now removed.
59656
59657         * m4/arpa_inet_h.m4: Remove trailing blanks.
59658
59659 2008-04-29  Eric Blake  <ebb9@byu.net>
59660
59661         Silence valgrind on safe reads beyond potential array bounds.
59662         * lib/rawmemchr.valgrind: New file.
59663         * lib/strchrnul.valgrind: Likewise.
59664         * modules/rawmemchr (Files): Distribute new file.
59665         * modules/strchrnul (Files): Likewise.
59666         Suggested by Bruno Haible.
59667
59668 2008-04-29  Bruno Haible  <bruno@clisp.org>
59669
59670         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
59671         (inet_ntop, inet_pton): Change portability warning's wording.
59672         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
59673         Invoke gl_CHECK_NEXT_HEADERS.
59674         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
59675         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
59676         set ARPA_INET_H.
59677         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59678         * modules/arpa_inet (Description): No longer only for systems that
59679         lack it.
59680         (Depends-on): Add include_next.
59681         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
59682         HAVE_ARPA_INET_H.
59683
59684 2008-04-29  Jim Meyering  <meyering@redhat.com>
59685
59686         * modules/mkdir (License): Re-license as LGPLv2+.
59687
59688 2008-04-29  Bruno Haible  <bruno@clisp.org>
59689
59690         * modules/rawmemchr (Maintainer): Set to Eric.
59691         * modules/strchrnul (Maintainer): Likewise.
59692
59693 2008-04-29  Simon Josefsson  <simon@josefsson.org>
59694
59695         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
59696         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
59697
59698         * modules/arpa_inet (arpa/inet.h): Use them.
59699
59700 2008-04-28  Eric Blake  <ebb9@byu.net>
59701
59702         Test getndelim2.
59703         * modules/getndelim2-tests: New file.
59704         * tests/test-getndelim2.c: Likewise.
59705         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
59706         stream.
59707         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
59708
59709         * MODULES.html.sh: Document new module.
59710
59711 2008-04-20  Bruno Haible  <bruno@clisp.org>
59712
59713         * lib/c-stack.c (die): Use raise.
59714         * modules/c-stack (Depends-on): Add raise.
59715
59716 2008-04-28  Bruno Haible  <bruno@clisp.org>
59717
59718         Expect rpmatch to be declared.
59719         * lib/yesno.c (rpmatch): Remove declaration.
59720
59721         Declare rpmatch.
59722         * lib/stdlib.in.h (rpmatch): New declaration.
59723         * lib/rpmatch.c: Include <stdlib.h> first.
59724         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
59725         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
59726         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
59727         HAVE_RPMATCH.
59728         * modules/rpmatch (Depends-on): Add stdlib, extensions.
59729         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59730         (Include): Set to <stdlib.h>.
59731         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
59732         HAVE_RPMATCH.
59733         * NEWS: Document the change.
59734
59735 2008-04-28  Bruno Haible  <bruno@clisp.org>
59736
59737         Change rpmatch to use nl_langinfo when appropriate.
59738         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
59739         (N_): New macro.
59740         (localized_pattern): New function/macro.
59741         (try): Remove match, nomatch arguments. Copy the pattern into safe
59742         memory before caching it.
59743         (rpmatch): Use localized_pattern. Add translator comments.
59744         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
59745         Suggested by Eric Blake.
59746         * modules/rpmatch (Depends-on): Add stdbool.
59747
59748 2008-04-28  Eric Blake  <ebb9@byu.net>
59749
59750         Add rawmemchr module, matching glibc.
59751         * modules/string (Makefile.am): New indicator.
59752         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
59753         * lib/string.in.h (rawmemchr): Declare when appropriate.
59754         * modules/rawmemchr: New file.
59755         * m4/rawmemchr.m4: Likewise.
59756         * lib/rawmemchr.c: Likewise.
59757         * modules/rawmemchr-tests: Likewise.
59758         * tests/test-rawmemchr.c: Likewise.
59759         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
59760         module.
59761         * modules/strchrnul (Depends-on): Add rawmemchr.
59762         * lib/strchrnul.c (strchrnul): Optimize a corner case.
59763
59764         Whitespace cleanup.
59765         * tests/test-strchrnul.c: Reindent.
59766         * lib/strchrnul.c: Likewise.
59767
59768         Optimize and test strchrnul.
59769         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
59770         * modules/strchrnul-tests: New file.
59771         * tests/test-strchrnul.c: Likewise.
59772
59773         Remove intprops dependency.
59774         * modules/memchr (Depends-on): Remove intprops.
59775         * modules/memrchr (Depends-on): Likewise.
59776         * modules/memchr2 (Depends-on): Likewise.
59777         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
59778         * lib/memrchr.c (__memrchr): Likewise.
59779         * lib/memrchr2.c (memchr2): Likewise.
59780         Reported by Simon Josefsson.
59781
59782 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59783
59784         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
59785         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59786
59787 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59788
59789         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
59790
59791         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
59792
59793         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
59794
59795         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
59796         declarations.
59797         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
59798
59799         * m4/inet_pton.m4: Don't check for header files.
59800
59801         * m4/inet_ntop.m4: Don't check for header files.
59802
59803 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59804
59805         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
59806         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
59807         trigger for cygwin).
59808         Reported by Bruno Haible  <bruno@clisp.org>.
59809
59810 2008-04-28  Bruno Haible  <bruno@clisp.org>
59811
59812         * doc/posix-functions/strdup.texi: Mention mingw problem.
59813
59814 2008-04-27  Bruno Haible  <bruno@clisp.org>
59815
59816         * modules/stat-time-tests (Depends-on): Add sleep.
59817         * tests/test-stat-time.c (force_unlink): New function.
59818         (cleanup): Use it.
59819         (test_mtime): Remove the ctime related tests.
59820         (test_ctime): New function, containing the ctime related tests.
59821         (main): Call test_ctime, except on native Windows platforms.
59822
59823 2008-04-27  Bruno Haible  <bruno@clisp.org>
59824
59825         * lib/rpmatch.c (rpmatch): Add some comments.
59826         Reported by James Youngman <jay@gnu.org>.
59827
59828 2008-04-27  Bruno Haible  <bruno@clisp.org>
59829
59830         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
59831         quiet NaNs.
59832
59833 2008-04-27  Bruno Haible  <bruno@clisp.org>
59834
59835         Make test-yesno.sh work on mingw.
59836         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
59837         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
59838         (main): Set stdin to binary mode.
59839         * modules/yesno-tests (Depends-on): Add binary-io.
59840
59841 2008-04-27  Bruno Haible  <bruno@clisp.org>
59842
59843         Fix 'isfinite' on x86, x86_64, ia64 platforms.
59844         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
59845         argument that lie outside the IEEE 854 domain.
59846         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
59847         (gl_ISFINITE): Use it.
59848         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
59849
59850 2008-04-27  Bruno Haible  <bruno@clisp.org>
59851
59852         Allow local renaming in config.h.
59853         * lib/memrchr.c (memrchr): Don't undefine outside libc.
59854
59855 2008-04-27  Bruno Haible  <bruno@clisp.org>
59856
59857         * lib/memchr.c (__memchr): Change type of 'i'.
59858         * lib/memchr2.c (memchr2): Likewise.
59859
59860 2008-04-26  Eric Blake  <ebb9@byu.net>
59861         and Bruno Haible  <bruno@clisp.org>
59862
59863         Optimize and test memrchr.
59864         * modules/memrchr (Depends-on): Add intprops.
59865         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
59866         * modules/memrchr-tests: New file.
59867         * tests/test-memrchr.c: New file.
59868
59869 2008-04-26  Bruno Haible  <bruno@clisp.org>
59870
59871         Add tentative support for DragonFly BSD.
59872         * lib/stdio-impl.h: Add macros for DragonFly BSD.
59873         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
59874         fp.
59875         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59876         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
59877         * lib/fpurge.c (fpurge): Likewise.
59878         * lib/freadable.c (freaadable): Likewise.
59879         * lib/freadahead.c (freadahead): Likewise.
59880         * lib/freading.c (freading): Likewise.
59881         * lib/freadptr.c (freadptr): Likewise.
59882         * lib/freadseek.c (freadptrinc): Likewise.
59883         * lib/fseeko.c (fseeko): Likewise.
59884         * lib/fseterr.c (fseterr): Likewise.
59885         * lib/fwritable.c (fwritable): Likewise.
59886         * lib/fwriting.c (fwriting): Likewise.
59887
59888 2008-04-26  Bruno Haible  <bruno@clisp.org>
59889
59890         * lib/stdio-impl.h: New file.
59891         * lib/fbufmode.c: Include stdio-impl.h.
59892         (fbufmode): Use fp_, remove redundant #defines.
59893         * lib/fflush.c: Include stdio-impl.h.
59894         (clear_ungetc_buffer): Remove redundant #defines.
59895         * lib/fpurge.c: Include stdio-impl.h.
59896         (fpurge): Remove redundant #defines.
59897         * lib/freadable.c: Include stdio-impl.h.
59898         (freadable): Remove redundant #defines.
59899         * lib/freadahead.c: Include stdio-impl.h.
59900         (freadahead): Remove redundant #defines.
59901         * lib/freading.c: Include stdio-impl.h.
59902         (freading): Remove redundant #defines.
59903         * lib/freadptr.c: Include stdio-impl.h.
59904         (freadptr): Remove redundant #defines.
59905         * lib/freadseek.c: Include stdio-impl.h.
59906         (freadptrinc): Remove redundant #defines.
59907         * lib/fseeko.c: Include stdio-impl.h.
59908         (rpl_fseeko): Remove redundant #defines.
59909         * lib/fseterr.c: Include stdio-impl.h.
59910         (fseterr): Remove redundant #defines.
59911         * lib/fwritable.c: Include stdio-impl.h.
59912         (fwritable: Remove redundant #defines.
59913         * lib/fwriting.c: Include stdio-impl.h.
59914         (fwriting): Remove redundant #defines.
59915         * modules/fbufmode (Files): Add lib/stdio-impl.h.
59916         * modules/fflush (Files): Likewise.
59917         * modules/fpurge (Files): Likewise.
59918         * modules/freadable (Files): Likewise.
59919         * modules/freadahead (Files): Likewise.
59920         * modules/freading (Files): Likewise.
59921         * modules/freadptr (Files): Likewise.
59922         * modules/freadseek (Files): Likewise.
59923         * modules/fseeko (Files): Likewise.
59924         * modules/fseterr (Files): Likewise.
59925         * modules/fwritable (Files): Likewise.
59926         * modules/fwriting (Files): Likewise.
59927
59928 2008-04-26  Bruno Haible  <bruno@clisp.org>
59929
59930         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59931         restore_seek_optimization, update_fpos_cache): New functions, extracted
59932         from rpl_fflush.
59933         (rpl_fflush): Use them.
59934         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
59935         (gl_REPLACE_FFLUSH): Use it.
59936
59937 2008-04-26  Bruno Haible  <bruno@clisp.org>
59938
59939         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
59940         on Solaris.
59941         * tests/test-xstrtoimax.sh: Likewise.
59942         * tests/test-xstrtoumax.sh: Likewise.
59943         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59944
59945 2008-04-26  Bruno Haible  <bruno@clisp.org>
59946
59947         * modules/memchr-tests: New file.
59948         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
59949
59950 2008-04-26  Eric Blake  <ebb9@byu.net>
59951             Bruno Haible  <bruno@clisp.org>
59952
59953         * lib/memchr.c: Include intprops.h.
59954         (__memchr): Optimize parallel detection of matching bytes. Rename local
59955         variables. Add explanatory comments.
59956
59957 2008-04-26  Bruno Haible  <bruno@clisp.org>
59958
59959         Fix module 'memchr', broken since 2000-10-28.
59960         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
59961
59962 2008-04-26  Bruno Haible  <bruno@clisp.org>
59963
59964         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
59965         comments.
59966
59967 2008-04-25  Eric Blake  <ebb9@byu.net>
59968
59969         Use native fstatat on cygwin 1.7.0.
59970         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
59971         first.
59972
59973 2008-04-23  Eric Blake  <ebb9@byu.net>
59974
59975         Improve memchr2 performance.
59976         * lib/memchr2.c (memchr2): Further optimize parallel detection of
59977         NUL bytes.
59978         * modules/memchr2 (Depends-on): Use intprops.h.
59979
59980 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59981
59982         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
59983         an inline function instead of a CPP macro.  Patch by Ben Pfaff
59984         <blp@cs.stanford.edu>.
59985
59986 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59987
59988         * lib/arpa_inet.in.h: New file.
59989
59990         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
59991         (Makefile.am): Sed in substitute header file.
59992
59993         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
59994         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
59995
59996         * modules/inet_ntop (configure.ac): Use
59997         gl_ARPA_INET_MODULE_INDICATOR.
59998
59999         * modules/inet_pton (configure.ac): Use
60000         gl_ARPA_INET_MODULE_INDICATOR.
60001
60002 2008-04-22  Jim Meyering  <meyering@redhat.com>
60003
60004         * modules/verify (License): Re-license as LGPLv2+.
60005
60006 2008-04-22  Simon Josefsson  <simon@josefsson.org>
60007
60008         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
60009         parameter to void* as per POSIX standard (MinGW uses char*).
60010
60011 2008-04-21  Bruno Haible  <bruno@clisp.org>
60012
60013         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60014         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
60015         Define to replacements if REPLACE_ISWCNTRL is 1.
60016         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
60017         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
60018         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
60019         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
60020         what it fixes.
60021         * doc/posix-functions/iswalpha.texi: Likewise.
60022         * doc/posix-functions/iswblank.texi: Likewise.
60023         * doc/posix-functions/iswcntrl.texi: Likewise.
60024         * doc/posix-functions/iswdigit.texi: Likewise.
60025         * doc/posix-functions/iswgraph.texi: Likewise.
60026         * doc/posix-functions/iswlower.texi: Likewise.
60027         * doc/posix-functions/iswprint.texi: Likewise.
60028         * doc/posix-functions/iswpunct.texi: Likewise.
60029         * doc/posix-functions/iswspace.texi: Likewise.
60030         * doc/posix-functions/iswupper.texi: Likewise.
60031         * doc/posix-functions/iswxdigit.texi: Likewise.
60032         Reported by Alain Guibert.
60033
60034 2008-04-21  Bruno Haible  <bruno@clisp.org>
60035
60036         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
60037         Patch by Alain Guibert.
60038
60039 2008-04-21  Bruno Haible  <bruno@clisp.org>
60040
60041         Fix test failures on mingw.
60042         * tests/test-xstrtol.c (print_no_progname): New function.
60043         (main): Install it in error_print_progname hook.
60044         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
60045         * tests/test-xstrtoimax.sh: Likewise.
60046         * tests/test-xstrtoumax.sh: Likewise.
60047
60048 2008-04-21  Bruno Haible  <bruno@clisp.org>
60049
60050         Fix test failure on mingw.
60051         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
60052
60053 2008-04-21  Bruno Haible  <bruno@clisp.org>
60054
60055         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
60056         Actually assign a value.
60057
60058 2008-04-20  Bruno Haible  <bruno@clisp.org>
60059
60060         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
60061         take 2.
60062         * lib/canonicalize.c (canonicalize_file_name): Elide if the
60063         'canonicalize-lgpl' module is also used.
60064         * lib/canonicalize-lgpl.c: Undo last change.
60065         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
60066
60067 2008-04-20  Bruno Haible  <bruno@clisp.org>
60068
60069         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
60070         config.h. Provide _mkdir based fallback for mingw.
60071         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
60072         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
60073         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
60074         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
60075         rather than defining mkdir in config.h.
60076         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
60077         (gl_SYS_STAT_H_DEFAULTS): New macro.
60078         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
60079         HAVE_IO_H any more.
60080         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
60081         HAVE_DECL_MKDIR and HAVE_IO_H.
60082
60083 2008-04-20  Bruno Haible  <bruno@clisp.org>
60084
60085         * lib/isapipe.c: Port to native Windows platforms.
60086
60087 2008-04-20  Bruno Haible  <bruno@clisp.org>
60088
60089         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
60090
60091 2008-04-21  Eric Blake  <ebb9@byu.net>
60092
60093         Work around preprocessors that don't handle UINTMAX_MAX.
60094         * lib/memchr2.c (memchr2): Avoid embedded #if.
60095         Reported by Alain Guibert, fix suggested by Bruno Haible.
60096
60097 2008-04-21  Simon Josefsson  <simon@josefsson.org>
60098
60099         * doc/posix-functions/strftime.texi (strftime): Explain better
60100         Windows incompatibility.  Suggested by Micah Cowan
60101         <micah@cowan.name>.
60102
60103 2008-04-20  Bruno Haible  <bruno@clisp.org>
60104
60105         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
60106         unistr/u8-mblen.
60107
60108 2008-04-20  Bruno Haible  <bruno@clisp.org>
60109
60110         Fix test failure on platforms with non-GNU iconv.
60111         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
60112         (U_TO_U8): Use it, rather than u16_to_u8.
60113         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
60114         units at the end of the input string.
60115         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
60116
60117 2008-04-20  Bruno Haible  <bruno@clisp.org>
60118
60119         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
60120         when the resulting length is 0.
60121         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
60122
60123 2008-04-20  Bruno Haible  <bruno@clisp.org>
60124
60125         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
60126         works.
60127         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
60128
60129 2008-04-20  Bruno Haible  <bruno@clisp.org>
60130
60131         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
60132         * modules/tsearch-tests (configure.ac): Test for initstate function.
60133
60134 2008-04-20  Bruno Haible  <bruno@clisp.org>
60135
60136         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
60137         for nlink_t if missing.
60138         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
60139
60140 2008-04-19  Bruno Haible  <bruno@clisp.org>
60141
60142         Work around snprintf bug on Linux libc5.
60143         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
60144         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60145         gl_SNPRINTF_SIZE1.
60146         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60147         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
60148         that test failed.
60149         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
60150         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
60151         * modules/snprintf (Files): Add m4/printf.m4.
60152         * modules/vsnprintf (Files): Likewise.
60153         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
60154         * doc/posix-functions/vsnprintf.texi: Likewise.
60155
60156 2008-04-19  Bruno Haible  <bruno@clisp.org>
60157
60158         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
60159         from 0.0058 to less than 10^-7.
60160
60161 2008-04-19  Bruno Haible  <bruno@clisp.org>
60162
60163         Fix rounding when a precision is given.
60164         * lib/vasnprintf.c (is_borderline): New function.
60165         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
60166         9...9x.
60167         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
60168         %e, %g.
60169         * tests/test-vasprintf-posix.c (test_function): Likewise.
60170         * tests/test-snprintf-posix.h (test_function): Likewise.
60171         * tests/test-sprintf-posix.h (test_function): Likewise.
60172         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
60173         * tests/test-printf-posix.h (test_function): Likewise.
60174         * tests/test-printf-posix.output: Update.
60175         Reported by John Darrington <john@darrington.wattle.id.au> via
60176         Ben Pfaff <blp@cs.stanford.edu>.
60177
60178 2008-04-18  Simon Josefsson  <simon@josefsson.org>
60179
60180         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
60181         Suggested by Bruno Haible <bruno@clisp.org>.
60182
60183 2008-04-17  Bruno Haible  <bruno@clisp.org>
60184
60185         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
60186         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
60187         implementation.
60188         Patch by Bruce Merry <bmerry@gmail.com>.
60189
60190 2008-04-17  Simon Josefsson  <simon@josefsson.org>
60191
60192         * doc/posix-functions/strftime.texi (strftime): Mention that %e
60193         doesn't work under Windows.
60194
60195 2008-04-16  Bruno Haible  <bruno@clisp.org>
60196
60197         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
60198         New macros.
60199         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
60200         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
60201         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
60202         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
60203         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
60204         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
60205         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
60206         macros.
60207         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
60208         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
60209         Northern Sotho, Uighur.
60210
60211 2008-04-16  Bruno Haible  <bruno@clisp.org>
60212
60213         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
60214         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
60215         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
60216         Reported by Daniel Bergström <daniel@octocode.com>.
60217
60218 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
60219             Bruno Haible  <bruno@clisp.org>
60220
60221         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
60222         function.
60223         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
60224         New functions, mostly extracted from gl_locale_name_default.
60225         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
60226
60227 2008-04-16  Eric Blake  <ebb9@byu.net>
60228
60229         Adjust strtod detection to catch glibc 2.7 bug.
60230         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
60231         Reported by John Gatewood Ham.
60232
60233 2008-04-16  Bruno Haible  <bruno@clisp.org>
60234
60235         Add tentative support for Linux libc5.
60236         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
60237         * lib/fpurge.c (fpurge): Likewise.
60238         * lib/freadable.c (freadable): Likewise.
60239         * lib/freadahead.c (freadahead): Likewise.
60240         * lib/freading.c (freading): Likewise.
60241         * lib/freadptr.c (freadptr): Likewise.
60242         * lib/freadseek.c (freadptrinc): Likewise.
60243         * lib/fseeko.c (rpl_fseeko): Likewise.
60244         * lib/fseterr.c (fseterr): Likewise.
60245         * lib/fwritable.c (fwritable): Likewise.
60246         * lib/fwriting.c (fwriting): Likewise.
60247         Reported by Alain Guibert <alguibert+bts@free.fr>.
60248
60249 2008-04-15  Bruno Haible  <bruno@clisp.org>
60250
60251         * modules/mathl (configure.ac): Define module indicator.
60252
60253 2008-04-15  Bruno Haible  <bruno@clisp.org>
60254
60255         * lib/logl.c (logl): Remove unused variables.
60256
60257 2008-04-15  Bruno Haible  <bruno@clisp.org>
60258
60259         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
60260         fails.
60261
60262 2008-04-15  Bruno Haible  <bruno@clisp.org>
60263
60264         * lib/trim.c (trim2): Fix argument of isspace() macro.
60265
60266 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
60267
60268         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
60269         to 0.
60270         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
60271
60272 2008-04-14  Bruno Haible  <bruno@clisp.org>
60273
60274         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
60275         AC_LANG_PROGRAM argument.
60276         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
60277         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
60278         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
60279         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60280         * m4/math_h.m4 (gl_MATH_H): Likewise.
60281         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
60282         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60283         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60284         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
60285         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60286         * m4/regex.m4 (gl_REGEX): Likewise.
60287         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
60288         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
60289         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60290         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
60291         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60292         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60293         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60294         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60295
60296 2008-04-14  Jim Meyering  <meyering@redhat.com>
60297
60298         test-strtod: fix typos: s/abs/fabs/
60299         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
60300
60301 2008-04-13  Bruno Haible  <bruno@clisp.org>
60302
60303         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
60304         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
60305         module is also used and while not building the reloc-wrapper.
60306
60307 2008-04-13  Bruno Haible  <bruno@clisp.org>
60308
60309         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
60310
60311 2008-04-13  Bruno Haible  <bruno@clisp.org>
60312
60313         Fix AIX compilation failure introduced on 2008-04-02.
60314         * tests/test-frexp.c (exp): Undefine before redefining.
60315         * tests/test-frexpl.c (exp): Likewise.
60316
60317 2008-04-13  Bruno Haible  <bruno@clisp.org>
60318
60319         Work around a HP-UX stdio bug.
60320         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
60321         * tests/test-ftello.c (main): Likewise.
60322         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
60323         * doc/posix-functions/ftello.texi: Likewise.
60324
60325 2008-04-13  Bruno Haible  <bruno@clisp.org>
60326
60327         Make test-signbit pass on HP-UX/hppa.
60328         * tests/test-signbit.c (minus_zerol): New variable.
60329         (test_signbitl): Use it.
60330
60331 2008-04-13  Bruno Haible  <bruno@clisp.org>
60332
60333         Make truncl work on OSF/1 4.0.
60334         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
60335         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60336         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60337         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
60338         HAVE_DECL_TRUNCL.
60339         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
60340         HAVE_DECL_TRUNCL.
60341         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
60342
60343 2008-04-13  Bruno Haible  <bruno@clisp.org>
60344
60345         * lib/unictype.h: Remove trailing comma from enumeration definitions.
60346
60347 2008-04-13  Bruno Haible  <bruno@clisp.org>
60348
60349         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
60350         expression, so as to avoid HP-UX 11 cc compiler bug.
60351
60352 2008-04-13  Bruno Haible  <bruno@clisp.org>
60353
60354         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
60355
60356 2008-04-13  Bruno Haible  <bruno@clisp.org>
60357
60358         * lib/git-merge-changelog.c: Remove empty declaration outside of
60359         functions.
60360
60361 2008-04-13  Bruno Haible  <bruno@clisp.org>
60362
60363         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
60364
60365 2008-04-13  Bruno Haible  <bruno@clisp.org>
60366
60367         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
60368         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
60369         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
60370         also if it exists but lacks definitions of the SHUT_* macros.
60371         * modules/sys_socket (Description): Update.
60372         Reported by Elbert Pol <e.pol@chello.nl>.
60373
60374 2008-04-13  Bruno Haible  <bruno@clisp.org>
60375
60376         * lib/localcharset.c (OS2): Don't redefine if already defined.
60377         Reported by Elbert Pol <e.pol@chello.nl>.
60378
60379 2008-04-13  Bruno Haible  <bruno@clisp.org>
60380
60381         * lib/binary-io.h [__EMX__]: Include <io.h>.
60382         Reported by Elbert Pol <e.pol@chello.nl>.
60383
60384 2008-04-12  Bruno Haible  <bruno@clisp.org>
60385
60386         * lib/fpucw.h: Enable the definitions also for x86_64.
60387         Needed for NetBSD/x86_64.
60388         Reported by Thomas Klausner <tk@giga.or.at>.
60389
60390 2008-04-12  Bruno Haible  <bruno@clisp.org>
60391
60392         * tests/test-strtod.c: Include isnand.h.
60393         (main): Use isnand instead of isnan.
60394         Reported by Jim Meyering.
60395
60396 2008-04-12  Bruno Haible  <bruno@clisp.org>
60397
60398         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
60399         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60400
60401 2008-04-12  Jim Meyering  <meyering@redhat.com>
60402
60403         * m4/math_h.m4 (gl_MATH_H): Fix typos.
60404
60405 2008-04-12  Bruno Haible  <bruno@clisp.org>
60406
60407         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
60408         Reported by Elbert Pol <e.pol@chello.nl>.
60409
60410 2008-04-12  Eric Blake  <ebb9@byu.net>
60411
60412         Work around Solaris 10 math.h bug.
60413         * m4/math_h.m4 (gl_MATH_H): Check for bug.
60414         (gl_MATH_H_DEFAULTS): Set up default.
60415         * modules/math (Makefile.am): Replace new indicators.
60416         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
60417         * tests/test-math.c (main): Test this.
60418         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
60419         * doc/posix-headers/math.texi (math.h): Mention bug.
60420         Reported by Nelson H. F. Beebe and Jim Meyering.
60421
60422 2008-04-11  Bruno Haible  <bruno@clisp.org>
60423
60424         Adapt to future versions of Apple GCC.
60425         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
60426         Reported by Peter O'Gorman <peter@pogma.com>.
60427
60428 2008-04-11  Bruno Haible  <bruno@clisp.org>
60429
60430         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
60431
60432 2008-04-11  Bruno Haible  <bruno@clisp.org>
60433
60434         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
60435
60436         * modules/getaddrinfo-tests (Makefile.am): Define
60437         test_getaddrinfo_LDADD.
60438
60439 2008-04-11  Bruno Haible  <bruno@clisp.org>
60440
60441         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
60442         (init): Fix syntax error.
60443         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
60444         is declared.
60445
60446 2008-04-11  Bruno Haible  <bruno@clisp.org>
60447
60448         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
60449         * modules/glob (Depends-on): Add stdbool.
60450
60451 2008-04-11  Bruno Haible  <bruno@clisp.org>
60452
60453         * lib/trim.c: Include <string.h>.
60454
60455 2008-04-11  Eric Blake  <ebb9@byu.net>
60456
60457         Avoid compile failure on OS/2.
60458         * lib/regex_internal.h (internal_function): Disable optimization
60459         on OS/2 (__EMX__), where it caused compiler error.
60460         Reported by Elbert Pol.
60461
60462 2008-04-11  Bruno Haible  <bruno@clisp.org>
60463
60464         Flush the standard error stream before aborting. Needed on mingw.
60465         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
60466         * tests/test-array_list.c (ASSERT): Likewise.
60467         * tests/test-array_oset.c (ASSERT): Likewise.
60468         * tests/test-avltree_list.c (ASSERT): Likewise.
60469         * tests/test-avltree_oset.c (ASSERT): Likewise.
60470         * tests/test-avltreehash_list.c (ASSERT): Likewise.
60471         * tests/test-binary-io.c (ASSERT): Likewise.
60472         * tests/test-byteswap.c (ASSERT): Likewise.
60473         * tests/test-c-ctype.c (ASSERT): Likewise.
60474         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
60475         * tests/test-c-strcasestr.c (ASSERT): Likewise.
60476         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
60477         * tests/test-c-strstr.c (ASSERT): Likewise.
60478         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
60479         * tests/test-canonicalize.c (ASSERT): Likewise.
60480         * tests/test-carray_list.c (ASSERT): Likewise.
60481         * tests/test-ceilf1.c (ASSERT): Likewise.
60482         * tests/test-ceilf2.c (ASSERT): Likewise.
60483         * tests/test-ceill.c (ASSERT): Likewise.
60484         * tests/test-count-one-bits.c (ASSERT): Likewise.
60485         * tests/test-fbufmode.c (ASSERT): Likewise.
60486         * tests/test-fflush2.c (ASSERT): Likewise.
60487         * tests/test-floorf1.c (ASSERT): Likewise.
60488         * tests/test-floorf2.c (ASSERT): Likewise.
60489         * tests/test-floorl.c (ASSERT): Likewise.
60490         * tests/test-fopen.c (ASSERT): Likewise.
60491         * tests/test-fpending.c (ASSERT): Likewise.
60492         * tests/test-fprintf-posix.c (ASSERT): Likewise.
60493         * tests/test-fpurge.c (ASSERT): Likewise.
60494         * tests/test-freadable.c (ASSERT): Likewise.
60495         * tests/test-freadahead.c (ASSERT): Likewise.
60496         * tests/test-freading.c (ASSERT): Likewise.
60497         * tests/test-freadptr.c (ASSERT): Likewise.
60498         * tests/test-freadptr2.c (ASSERT): Likewise.
60499         * tests/test-freadseek.c (ASSERT): Likewise.
60500         * tests/test-freopen.c (ASSERT): Likewise.
60501         * tests/test-frexp.c (ASSERT): Likewise.
60502         * tests/test-frexpl.c (ASSERT): Likewise.
60503         * tests/test-fseek.c (ASSERT): Likewise.
60504         * tests/test-fseeko.c (ASSERT): Likewise.
60505         * tests/test-fstrcmp.c (ASSERT): Likewise.
60506         * tests/test-ftell.c (ASSERT): Likewise.
60507         * tests/test-ftello.c (ASSERT): Likewise.
60508         * tests/test-func.c (ASSERT): Likewise.
60509         * tests/test-fwritable.c (ASSERT): Likewise.
60510         * tests/test-fwriting.c (ASSERT): Likewise.
60511         * tests/test-getdelim.c (ASSERT): Likewise.
60512         * tests/test-getline.c (ASSERT): Likewise.
60513         * tests/test-i-ring.c (ASSERT): Likewise.
60514         * tests/test-iconv-utf.c (ASSERT): Likewise.
60515         * tests/test-iconv.c (ASSERT): Likewise.
60516         * tests/test-isfinite.c (ASSERT): Likewise.
60517         * tests/test-isnand.c (ASSERT): Likewise.
60518         * tests/test-isnanf.c (ASSERT): Likewise.
60519         * tests/test-isnanl.h (ASSERT): Likewise.
60520         * tests/test-ldexpl.c (ASSERT): Likewise.
60521         * tests/test-linked_list.c (ASSERT): Likewise.
60522         * tests/test-linkedhash_list.c (ASSERT): Likewise.
60523         * tests/test-localename.c (ASSERT): Likewise.
60524         * tests/test-lseek.c (ASSERT): Likewise.
60525         * tests/test-mbscasecmp.c (ASSERT): Likewise.
60526         * tests/test-mbscasestr1.c (ASSERT): Likewise.
60527         * tests/test-mbscasestr2.c (ASSERT): Likewise.
60528         * tests/test-mbscasestr3.c (ASSERT): Likewise.
60529         * tests/test-mbscasestr4.c (ASSERT): Likewise.
60530         * tests/test-mbschr.c (ASSERT): Likewise.
60531         * tests/test-mbscspn.c (ASSERT): Likewise.
60532         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
60533         * tests/test-mbspbrk.c (ASSERT): Likewise.
60534         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
60535         * tests/test-mbsrchr.c (ASSERT): Likewise.
60536         * tests/test-mbsspn.c (ASSERT): Likewise.
60537         * tests/test-mbsstr1.c (ASSERT): Likewise.
60538         * tests/test-mbsstr2.c (ASSERT): Likewise.
60539         * tests/test-mbsstr3.c (ASSERT): Likewise.
60540         * tests/test-memchr2.c (ASSERT): Likewise.
60541         * tests/test-memmem.c (ASSERT): Likewise.
60542         * tests/test-open.c (ASSERT): Likewise.
60543         * tests/test-printf-frexp.c (ASSERT): Likewise.
60544         * tests/test-printf-frexpl.c (ASSERT): Likewise.
60545         * tests/test-printf-posix.c (ASSERT): Likewise.
60546         * tests/test-quotearg.c (ASSERT): Likewise.
60547         * tests/test-rbtree_list.c (ASSERT): Likewise.
60548         * tests/test-rbtree_oset.c (ASSERT): Likewise.
60549         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
60550         * tests/test-round1.c (ASSERT): Likewise.
60551         * tests/test-roundf1.c (ASSERT): Likewise.
60552         * tests/test-roundl.c (ASSERT): Likewise.
60553         * tests/test-signbit.c (ASSERT): Likewise.
60554         * tests/test-sleep.c (ASSERT): Likewise.
60555         * tests/test-snprintf-posix.c (ASSERT): Likewise.
60556         * tests/test-snprintf.c (ASSERT): Likewise.
60557         * tests/test-sprintf-posix.c (ASSERT): Likewise.
60558         * tests/test-stat-time.c (ASSERT): Likewise.
60559         * tests/test-strcasestr.c (ASSERT): Likewise.
60560         * tests/test-strerror.c (ASSERT): Likewise.
60561         * tests/test-striconv.c (ASSERT): Likewise.
60562         * tests/test-striconveh.c (ASSERT): Likewise.
60563         * tests/test-striconveha.c (ASSERT): Likewise.
60564         * tests/test-strsignal.c (ASSERT): Likewise.
60565         * tests/test-strstr.c (ASSERT): Likewise.
60566         * tests/test-strtod.c (ASSERT): Likewise.
60567         * tests/test-trunc1.c (ASSERT): Likewise.
60568         * tests/test-trunc2.c (ASSERT): Likewise.
60569         * tests/test-truncf1.c (ASSERT): Likewise.
60570         * tests/test-truncf2.c (ASSERT): Likewise.
60571         * tests/test-truncl.c (ASSERT): Likewise.
60572         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
60573         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
60574         * tests/test-vasnprintf.c (ASSERT): Likewise.
60575         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
60576         * tests/test-vasprintf.c (ASSERT): Likewise.
60577         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
60578         * tests/test-vprintf-posix.c (ASSERT): Likewise.
60579         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
60580         * tests/test-vsnprintf.c (ASSERT): Likewise.
60581         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
60582         * tests/test-wcwidth.c (ASSERT): Likewise.
60583         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
60584         * tests/test-xprintf-posix.c (ASSERT): Likewise.
60585         * tests/test-xvasprintf.c (ASSERT): Likewise.
60586         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
60587         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
60588         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
60589         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
60590         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
60591         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
60592         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
60593         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
60594         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
60595         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
60596         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
60597         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
60598         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
60599         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
60600         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
60601         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
60602         * tests/unictype/test-block_list.c (ASSERT): Likewise.
60603         * tests/unictype/test-block_of.c (ASSERT): Likewise.
60604         * tests/unictype/test-block_test.c (ASSERT): Likewise.
60605         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
60606         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
60607         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
60608         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
60609         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
60610         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
60611         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
60612         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
60613         * tests/unictype/test-combining.c (ASSERT): Likewise.
60614         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
60615         * tests/unictype/test-digit.c (ASSERT): Likewise.
60616         * tests/unictype/test-mirror.c (ASSERT): Likewise.
60617         * tests/unictype/test-numeric.c (ASSERT): Likewise.
60618         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
60619         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
60620         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
60621         * tests/unictype/test-scripts.c (ASSERT): Likewise.
60622         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
60623         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
60624         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
60625         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
60626         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
60627         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
60628         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
60629         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
60630         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
60631         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
60632         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
60633         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
60634         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
60635         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
60636         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
60637         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
60638         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
60639         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
60640         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
60641         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
60642         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
60643         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
60644         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
60645         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
60646         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
60647         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
60648         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
60649         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
60650         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
60651         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
60652         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
60653         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
60654         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
60655         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
60656         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
60657         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
60658         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
60659         Reported by Eric Blake.
60660
60661 2008-04-11  Bruno Haible  <bruno@clisp.org>
60662
60663         * lib/wchar.in.h: Tweak comment.
60664
60665 2008-04-11  Bruno Haible  <bruno@clisp.org>
60666
60667         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
60668         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
60669         gl_COMMON.
60670         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
60671
60672 2008-04-11  Bruno Haible  <bruno@clisp.org>
60673
60674         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
60675
60676 2008-04-11  Simon Josefsson  <simon@josefsson.org>
60677
60678         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
60679         of attempting to use non-existing /dev/*random.  Based on patch
60680         from Adam Strzelecki <ono@java.pl> in
60681         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
60682
60683 2008-04-08  Bruno Haible  <bruno@clisp.org>
60684
60685         Add tentative support for emx+gcc.
60686         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
60687         * lib/fpurge.c (fpurge): Likewise.
60688         * lib/freadable.c (freadable): Likewise.
60689         * lib/freadahead.c (freadahead): Likewise.
60690         * lib/freading.c (freading): Likewise.
60691         * lib/freadptr.c (freadptr): Likewise.
60692         * lib/freadseek.c (freadptrinc): Likewise.
60693         * lib/fseeko.c (rpl_fseeko): Likewise.
60694         * lib/fseterr.c (fseterr): Likewise.
60695         * lib/fwritable.c (fwritable): Likewise.
60696         * lib/fwriting.c (fwriting): Likewise.
60697         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
60698
60699 2008-04-09  Eric Blake  <ebb9@byu.net>
60700
60701         Avoid some autoconf warnings.
60702         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
60703         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
60704         * m4/afs.m4 (gl_AFS): Likewise.
60705         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
60706         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
60707         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60708         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
60709         (gl_INTEGER_TYPE_SUFFIX): Likewise.
60710         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
60711         (AC_CHECK_DECLS_ONCE): Likewise.
60712         Rename file...
60713         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
60714         gnulib-tool requires autoconf 2.59 or better.
60715         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
60716
60717 2008-04-08  Eric Blake  <ebb9@byu.net>
60718
60719         Use 'git describe --match' if present (added in git 1.5.5).
60720         * build-aux/git-version-gen: Limit result to tags that match 'v*'
60721         if possible.
60722
60723 2008-04-08  Bruno Haible  <bruno@clisp.org>
60724
60725         Add tentative support for OpenServer.
60726         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
60727         _ptr, _cnt.
60728         * lib/fpurge.c (fpurge): Likewise.
60729         * lib/freadable.c (freadable): Likewise.
60730         * lib/freadahead.c (freadahead): Likewise.
60731         * lib/freading.c (freading): Likewise.
60732         * lib/freadptr.c (freadptr): Likewise.
60733         * lib/freadseek.c (freadptrinc): Likewise.
60734         * lib/fseeko.c (rpl_fseeko): Likewise.
60735         * lib/fseterr.c (fseterr): Likewise.
60736         * lib/fwritable.c (fwritable): Likewise.
60737         * lib/fwriting.c (fwriting): Likewise.
60738         Reported by Roger Cornelius <rac@tenzing.org> and
60739         Brian K. White <brian@aljex.com>.
60740
60741 2008-04-06  Jim Meyering  <meyering@redhat.com>
60742
60743         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
60744
60745 2008-04-06  Bruno Haible  <bruno@clisp.org>
60746
60747         Avoid possible error with non-ASCII bytes in UTF-8 locales.
60748         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
60749         * tests/test-printf-posix.sh: Likewise.
60750         * tests/test-vfprintf-posix.sh: Likewise.
60751         * tests/test-vprintf-posix.sh: Likewise.
60752         * tests/test-xprintf-posix.sh: Likewise.
60753
60754 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60755
60756         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
60757         hide error from 'ls', needed on OS/2.
60758         Report by Elbert Pol <elbert.pol@gmail.com>.
60759
60760 2008-04-04  Eric Blake  <ebb9@byu.net>
60761
60762         Make test-fseeko.c failures meaningful.
60763         * tests/test-fseeko.c: Print line number on failure.
60764         * tests/test-fseek.c: Likewise.
60765         Reported by Nelson H. F. Beebe.
60766
60767         Improve strtod bug detection check.
60768         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
60769         required for Solaris 10.
60770         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
60771
60772 2008-04-04  Bruno Haible  <bruno@clisp.org>
60773
60774         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
60775         by m4/setenv.m4.
60776
60777 2008-04-03  Eric Blake  <ebb9@byu.net>
60778
60779         Ensure sane .version contents.
60780         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
60781         version string.
60782         * build-aux/git-version-gen: Improve documentation.
60783
60784         Make GNU make output nicer.
60785         * top/GNUmakefile [!_have-Makefile]: Add dependency on
60786         MAKECMDGOALS to enforce message for all command line targets.  Set
60787         srcdir for use in maint.mk.
60788
60789         Another maintainer tweak.
60790         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
60791         a target that regenerates version.
60792
60793 2008-04-03  Jim Meyering  <meyering@redhat.com>
60794
60795         vc-list-files: don't cause coreutils "make po-check" failure
60796         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
60797
60798 2008-04-03  Eric Blake  <ebb9@byu.net>
60799
60800         Allow VPATH usage of vc-list-files.
60801         * build-aux/vc-list-files (scriptversion): Add timestamp.
60802         (options): Add --help, --version, -C.
60803         (CVS): Support installed cvsu.
60804
60805 2008-04-02  Bruno Haible  <bruno@clisp.org>
60806
60807         Avoid some "statement with no effect" warnings from gcc.
60808         * tests/test-wctype.c (main): Explicitly ignore unused values.
60809         Reported by Jim Meyering.
60810
60811 2008-04-02  Jim Meyering  <meyering@redhat.com>
60812
60813         Avoid some warnings from "gcc -Wshadow".
60814         * tests/test-frexp.c (exp): Define to a different identifier.
60815         * tests/test-frexpl.c (exp): Likewise.
60816
60817 2008-04-03  Jim Meyering  <meyering@redhat.com>
60818
60819         bootstrap: remove dangling *.[ch] symlinks from lib
60820         * build-aux/bootstrap [dangling symlink removal]: Move find's
60821         -depth option to precede all others, to avoid a warning.
60822         Remove *.[ch] files too, and from "$source_base" (usually lib/).
60823
60824 2008-04-02  Bruno Haible  <bruno@clisp.org>
60825
60826         Avoid some warnings from "gcc -Wshadow".
60827         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
60828         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
60829         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
60830         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
60831         Reported by Jim Meyering.
60832
60833 2008-04-01  Bruno Haible  <bruno@clisp.org>
60834
60835         Fix test to work on IRIX 6.5 with cc.
60836         * tests/test-math.c (numeric_equal): New function.
60837         (main): Use it.
60838
60839 2008-04-01  Bruno Haible  <bruno@clisp.org>
60840
60841         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
60842
60843 2008-04-01  Bruno Haible  <bruno@clisp.org>
60844
60845         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
60846         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60847         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
60848         (Depends-on): Remove math.
60849
60850         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
60851         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60852         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
60853         (Depends-on): Remove math.
60854
60855         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
60856         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60857         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
60858         (Depends-on): Remove math.
60859         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
60860         (Depends-on): Remove math.
60861
60862         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
60863         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60864         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
60865         (Depends-on): Remove math.
60866         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
60867         (Depends-on): Remove math.
60868
60869         * tests/test-round1.c: Include nan.h.
60870         (main): Use NaNd instead of NAN.
60871         * modules/round-tests (Files): Add tests/nan.h.
60872
60873         * tests/test-trunc1.c: Include nan.h.
60874         (main): Use NaNd instead of NAN.
60875         * modules/trunc-tests (Files): Add tests/nan.h.
60876
60877         * tests/test-roundf1.c: Include nan.h.
60878         (main): Use NaNf instead of NAN.
60879         * modules/roundf-tests (Files): Add tests/nan.h.
60880
60881         * tests/test-truncf1.c: Include nan.h.
60882         (main): Use NaNf instead of NAN.
60883         * modules/truncf-tests (Files): Add tests/nan.h.
60884
60885         * tests/test-ceilf1.c: Include nan.h.
60886         (main): Use NaNf instead of NAN.
60887         * modules/ceilf-tests (Files): Add tests/nan.h.
60888
60889         * tests/test-floorf1.c: Include nan.h.
60890         (main): Use NaNf instead of NAN.
60891         * modules/floorf-tests (Files): Add tests/nan.h.
60892
60893         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
60894         (main): Use NaNf instead of NAN.
60895         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
60896
60897         * tests/test-isnand.c: Include nan.h instead of <math.h>.
60898         (main): Use NaNd instead of NAN.
60899         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
60900
60901         * tests/test-frexp.c: Include nan.h.
60902         (main): Use NaNd instead of NAN.
60903         * modules/frexp-tests (Files): Add tests/nan.h.
60904
60905         * lib/isnan.c: Don't include <math.h>.
60906         (FUNC): Don't use NAN macro.
60907         * modules/isnand-nolibm (Depends-on): Remove math.
60908         * modules/isnanf-nolibm (Depends-on): Remove math.
60909         * modules/isnanl (Depends-on): Remove math.
60910         * modules/isnanl-nolibm (Depends-on): Remove math.
60911
60912         * tests/nan.h: New file.
60913
60914 2008-04-01  Eric Blake  <ebb9@byu.net>
60915
60916         Fix typos.
60917         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
60918         values to be the right type.
60919
60920         For now, cater to gnulib strtod inaccuracies.
60921         * tests/test-strtod.c (main): Allow 1-ulp error on expected
60922         fractional results.  While not as nice from a QoI perspective, it
60923         is a quicker patch than correctly implementing decimal to binary
60924         rounding.
60925
60926 2008-03-31  Eric Blake  <ebb9@byu.net>
60927
60928         Guarantee a definition of NAN.
60929         * lib/math.in.h (NAN): Define if missing.
60930         * tests/test-math.c (main): Test it.
60931         * doc/posix-headers/math.texi (math.h): Document this.
60932         * lib/isnan.c (rpl_isnand): Use it.
60933         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
60934         * tests/test-floorf1.c (NaN): Likewise.
60935         * tests/test-frexp.c (NaN): Likewise.
60936         * tests/test-isnand.c (NaN): Likewise.
60937         * tests/test-isnanf.c (NaN): Likewise.
60938         * tests/test-round1.c (NaN): Likewise.
60939         * tests/test-roundf1.c (NaN): Likewise.
60940         * tests/test-snprintf-posix.h (NaN): Likewise.
60941         * tests/test-sprintf-posix.h (NaN): Likewise.
60942         * tests/test-trunc1.c (NaN): Likewise.
60943         * tests/test-truncf1.c (NaN): Likewise.
60944         * tests/test-vasnprintf-posix.c (NaN): Likewise.
60945         * tests/test-vasprintf-posix.c (NaN): Likewise.
60946         * modules/isnand-nolibm (Depends-on): Add math.
60947         * modules/isnanf-nolibm (Depends-on): Likewise.
60948         * modules/isnanl (Depends-on): Likewise.
60949         * modules/isnanl-nolibm (Depends-on): Likewise.
60950         * modules/snprintf-posix-tests (Depends-on): Likewise.
60951         * modules/sprintf-posix-tests (Depends-on): Likewise.
60952         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
60953         * modules/vsprintf-posix-tests (Depends-on): Likewise.
60954         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
60955         * modules/vasprintf-posix-tests (Depends-on): Likewise.
60956
60957 2008-03-31  Bruno Haible  <bruno@clisp.org>
60958
60959         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
60960         * doc/posix-functions/strtod.texi: Likewise.
60961
60962 2008-03-31  Bruno Haible  <bruno@clisp.org>
60963
60964         * tests/test-strtod.c (main): Don't use C99 syntax.
60965
60966 2008-03-31  Bruno Haible  <bruno@clisp.org>
60967
60968         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
60969         Reported by Eric Blake.
60970
60971 2008-03-31  Jim Meyering  <meyering@redhat.com>
60972
60973         Don't compare actual signbit return values.
60974         * tests/test-strtod.c (main): Rather, compare only their
60975         zero/non-zero nature.
60976
60977 2008-03-31  Eric Blake  <ebb9@byu.net>
60978
60979         More strtod documentation.
60980         * doc/posix-functions/strtod.texi (strtod): Interpret more test
60981         failures as distinct bugs.
60982
60983 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60984
60985         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
60986         Problem reported by Erik Benada in
60987         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
60988
60989 2008-03-30  Bruno Haible  <bruno@clisp.org>
60990
60991         * tests/test-strtod.c: Add comments about which assertion fails on which
60992         platform.
60993         * doc/posix-functions/strtod.texi: Add info about many more platforms.
60994
60995 2008-03-30  Eric Blake  <ebb9@byu.net>
60996
60997         Test signbit behavior on zeros.
60998         * tests/test-signbit.c (test_signbitf): Add tests for zero.
60999         (test_signbitd, test_signbitl): Likewise.
61000
61001         More strtod touchups.
61002         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
61003         sign of negative underflow, for now.  Use .5, not .1.
61004         * doc/posix-functions/strtod.texi (strtod): Mention these
61005         limitations.
61006         Reported by Jim Meyering.
61007
61008 2008-03-30  Bruno Haible  <bruno@clisp.org>
61009
61010         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
61011         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
61012
61013 2008-03-30  Bruno Haible  <bruno@clisp.org>
61014
61015         Avoid failure when attempting to return empty iconv results on some
61016         platforms.
61017         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
61018         allocation, don't report ENOMEM when the resulting string is empty.
61019
61020 2008-03-30  Bruno Haible  <bruno@clisp.org>
61021
61022         Fix buffer overrun.
61023         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
61024         Don't consider the width for tmp_length. Check count against tmp_length
61025         before doing the padding. Ensure enough allocation during padding.
61026
61027 2008-03-30  Eric Blake  <ebb9@byu.net>
61028
61029         strtod touchups.
61030         * lib/strtod.c (strtod): Avoid compiler warnings.
61031         Reported by Jim Meyering.
61032
61033 2008-03-30  Bruno Haible  <bruno@clisp.org>
61034
61035         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
61036         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
61037         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
61038         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
61039         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
61040         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
61041         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
61042         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
61043
61044         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
61045         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
61046         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
61047         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
61048         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
61049         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
61050         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
61051         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
61052
61053         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
61054         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
61055         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
61056         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
61057         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
61058         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
61059         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
61060         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
61061
61062         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
61063         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
61064
61065         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
61066         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
61067
61068         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
61069         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
61070
61071         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
61072         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
61073         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
61074
61075         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
61076         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
61077         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
61078
61079         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
61080         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
61081         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
61082
61083         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
61084         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
61085         * modules/vasprintf (Depends-on): Add EOVERFLOW.
61086
61087         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
61088         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
61089         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
61090         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
61091         (Depends-on): Add EOVERFLOW.
61092         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
61093         (Depends-on): Add EOVERFLOW.
61094         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61095         (Depends-on): Add EOVERFLOW.
61096         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61097         (Depends-on): Add EOVERFLOW.
61098         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61099         (Depends-on): Add EOVERFLOW.
61100         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61101         (Depends-on): Add EOVERFLOW.
61102         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61103         (Depends-on): Add EOVERFLOW.
61104         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61105         (Depends-on): Add EOVERFLOW.
61106
61107         * lib/sprintf.c (EOVERFLOW): Remove fallback.
61108         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
61109         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
61110
61111         * lib/snprintf.c (EOVERFLOW): Remove fallback.
61112         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
61113         * modules/snprintf (Depends-on): Add EOVERFLOW.
61114
61115         * lib/poll.c (EOVERFLOW): Remove fallback.
61116         * modules/poll (Depends-on): Add EOVERFLOW.
61117
61118         * lib/getugroups.c (EOVERFLOW): Remove fallback.
61119         * modules/getugroups (Depends-on): Add EOVERFLOW.
61120
61121         * lib/getdelim.c (EOVERFLOW): Remove fallback.
61122         * modules/getdelim (Depends-on): Add EOVERFLOW.
61123
61124         * lib/ftell.c (EOVERFLOW): Remove fallback.
61125         * modules/ftell (Depends-on): Add EOVERFLOW.
61126
61127         * lib/fprintf.c (EOVERFLOW): Remove fallback.
61128         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
61129         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
61130
61131         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
61132
61133         * modules/EOVERFLOW-tests: New file.
61134         * tests/test-EOVERFLOW.c: New file.
61135
61136         * modules/EOVERFLOW: New file.
61137         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
61138
61139 2008-03-30  Bruno Haible  <bruno@clisp.org>
61140
61141         Fix bug introduced on 2007-06-10.
61142         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
61143         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
61144
61145 2008-03-30  Bruno Haible  <bruno@clisp.org>
61146
61147         Improve freadseek's efficiency after ungetc.
61148         * lib/freadseek.c: Include freadahead.h.
61149         (freadptrinc): New function, extracted from freadseek.
61150         (freadseek): Use it in a loop. Use freadahead to determine the number
61151         of loop iterations.
61152         * modules/freadseek (Depends-on): Add freadahead.
61153         (configure.ac): Require AC_C_INLINE.
61154
61155 2008-03-30  Bruno Haible  <bruno@clisp.org>
61156
61157         * lib/freadseek.c (freadseek): Don't ignore the return value of
61158         freadptr.
61159
61160 2008-03-29  Eric Blake  <ebb9@byu.net>
61161
61162         Add hex float support.
61163         * modules/strtod (Depends-on): Add c-ctype.
61164         (Link): Mention POW_LIB.
61165         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
61166         whitespace between 'e' and exponent.
61167         * tests/test-strtod.c (main): Enable hex float tests.
61168         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
61169         now provides.
61170
61171         Document various strtod bugs, with some fixes.
61172         * doc/posix-functions/strtod.texi (strtod): Document bugs with
61173         "-0x", "inf", "nan", and hex constants.
61174         * doc/posix-functions/atof.texi (atof): Likewise.
61175         * modules/stdlib (Makefile.am): Support strtod.
61176         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
61177         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
61178         detect additional strtod bugs.
61179         * lib/stdlib.in.h (rpl_strtod): Add declarations.
61180         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
61181         bool where appropriate.  Parse 'inf' and 'nan'.
61182         * tests/test-strtod.c: New file.
61183         * modules/strtod (Depends-on): Add stdbool, stdlib.
61184         (configure.ac): Turn on module indicator.
61185         * modules/strtod-tests: New module.
61186
61187 2008-03-29  Eric Blake  <ebb9@byu.net>
61188
61189         Fix ftell on mingw.
61190         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
61191         * modules/ftell-tests (Depends-on): Add binary-io.
61192         * modules/ftello-tests (Depends-on): Likewise.
61193         * tests/test-ftell.c (main): Enhance test to cover behavior after
61194         ungetc.  Enforce binary mode.
61195         * tests/test-ftello.c (main): Likewise.
61196
61197         Pass test-freadseek on cygwin.
61198         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
61199         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
61200         ungetc buffer.
61201
61202         * tests/test-fflush2.c (main): Fix typo.
61203
61204 2008-03-29  Bruno Haible  <bruno@clisp.org>
61205
61206         * tests/test-fflush2.c (main): Temporarily disable the contents of
61207         this test.
61208         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
61209         Reported by Eric Blake.
61210
61211 2008-03-28  Simon Josefsson  <simon@josefsson.org>
61212
61213         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
61214         (GC_SHA224_DIGEST_SIZE): Add.
61215
61216         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
61217         (gc_hash_digest_length): Likewise.
61218         (gc_hash_buffer): Likewise.
61219
61220 2008-03-25  Bruno Haible  <bruno@clisp.org>
61221
61222         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
61223         detail which gettext release to use.
61224         Reported by Simon Josefsson.
61225
61226 2008-03-26  Jim Meyering  <meyering@redhat.com>
61227
61228         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
61229         * modules/gnumakefile (clean-GNUmakefile): Also, use
61230         test ... && ... || : syntax rather than if-then ... fi.
61231
61232         gnumakefile: Don't double-quote-expand $(VPATH) value.
61233         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
61234
61235 2008-03-24  Eric Blake  <ebb9@byu.net>
61236
61237         Alter GNUmakefile to install into top directory.
61238         * modules/maintainer-makefile: Split, and add dependency...
61239         * modules/gnumakefile: to this new module.
61240         * build-aux/GNUmakefile: Move...
61241         * top/GNUmakefile: ...here.
61242         * build-aux/maint.mk: Move...
61243         * top/maint.mk: ...here.
61244         * MODULES.html.sh (Support for maintaining...): Document new
61245         module.
61246
61247 2008-03-23  Bruno Haible  <bruno@clisp.org>
61248
61249         * gnulib-tool: New options --vc-files, --no-vc-files.
61250         (func_usage): Document them.
61251         (vc_files): New variable.
61252         (func_import): Consider vc_files.
61253         (func_create_testdir): Set vc_files to empty.
61254         Suggested by Jim Meyering and Karl Berry.
61255
61256 2008-03-23  Bruno Haible  <bruno@clisp.org>
61257
61258         Fix regex compilation error on HP-UX 11.
61259         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
61260         * modules/regex (Files): Add m4/mbstate_t.m4.
61261         Reported by Ton Voon <ton.voon@altinity.com>.
61262
61263 2008-03-23  Bruno Haible  <bruno@clisp.org>
61264
61265         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
61266
61267 2008-03-23  Eric Blake  <ebb9@byu.net>
61268             Bruno Haible  <bruno@clisp.org>
61269
61270         Install files from top/ in the destination directory.
61271         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61272         augmentation also for the files from top/.
61273         (func_import, func_create_testdir): Rewrite file names:
61274         top/filename -> filename.
61275
61276 2008-03-23  Bruno Haible  <bruno@clisp.org>
61277
61278         Tweak "gnulib --version" output.
61279         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
61280
61281 2008-03-23  Bruno Haible  <bruno@clisp.org>
61282
61283         Tweak "gnulib --version" output.
61284         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
61285         rather than contents of ChangeLog, when possible.
61286
61287 2008-03-21  Eric Blake  <ebb9@byu.net>
61288
61289         More --version tweaks.
61290         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
61291         date of last ChangeLog entry.
61292
61293 2008-03-21  Jim Meyering  <meyering@redhat.com>
61294
61295         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
61296
61297 2008-03-20  Eric Blake  <ebb9@byu.net>
61298
61299         VPATH fix.
61300         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
61301
61302 2008-03-20  Simon Josefsson  <simon@josefsson.org>
61303
61304         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
61305         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
61306
61307 2008-03-20  Eric Blake  <ebb9@byu.net>
61308
61309         Sync GNUmakefile with coreutils.
61310         * build-aux/GNUmakefile (have-Makefile): Rename...
61311         (_have-Makefile): ...to this, for namespace consideration.
61312         (GNUmakefile.cfg): Include, if present.
61313         (_autoreconf): Define a default.
61314         (_is-dist-target): New rule for rebuilds to pick up intra-release
61315         version.
61316         (maint-cfg.mk): Rename...
61317         (cfg.mk): ...to this.
61318
61319 2008-03-18  Jim Meyering  <meyering@redhat.com>
61320
61321         New script and module: mktempd
61322         * MODULES.html.sh (maint+release support): Add mktempd.
61323         * build-aux/mktempd: New file.
61324         * modules/mktempd: New file.
61325
61326 2008-03-15  Jim Meyering  <meyering@redhat.com>
61327
61328         Undo last change.
61329         * lib/sha1.c, lib/md5.c: 63 != ~63.
61330         Reported by Andreas Schwab.
61331
61332         sha1.c, md5.c: Hoist a redundant expression.
61333         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
61334         "ctx->buflen" only once, before calling *_process_block.
61335         * lib/md5.c (md5_process_bytes): Likewise.
61336
61337 2008-03-14  Eric Blake  <ebb9@byu.net>
61338
61339         Bump copyright year in files generated by gnulib-tool.
61340         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
61341         gnulib-tool, rather than hard-coding it.
61342
61343         Fix 'gnulib-tool --version' output to work with git.
61344         * gnulib-tool (func_gnulib_dir): New function, extracted from...
61345         (startup): ...here.
61346         (func_version): Use it to invoke git-version-gen, rather than
61347         relying on CVS keyword expansion.  Modernize wording.
61348         (cvsdatestamp, last_checkin_date, version): Kill unused
61349         variables.
61350
61351 2008-03-12  Jim Meyering  <meyering@redhat.com>
61352
61353         Recognize optional cast of the argument to free.
61354         * build-aux/useless-if-before-free: Update regexps.
61355
61356         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
61357
61358 2008-03-11  Bruno Haible  <bruno@clisp.org>
61359
61360         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
61361         by a single package.
61362         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
61363         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
61364         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
61365         Reported by Sam Steingold <sds@gnu.org>.
61366
61367 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61368
61369         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
61370         repositories.
61371
61372 2008-03-11  Bruno Haible  <bruno@clisp.org>
61373
61374         Avoid conflicts between local macro definitions.
61375         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61376         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
61377
61378 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
61379             Bruno Haible  <bruno@clisp.org>
61380
61381         Make va_copy work with some version of xlc on AIX 5.1.
61382         * lib/stdarg.in.h: New file.
61383         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
61384         On AIX, use a <stdarg.h> file substitute.
61385         * modules/stdarg (Files): Add lib/stdarg.in.h.
61386         (Depends-on): Add include_next.
61387         (Makefile.am): Build a stdarg.h substitute if requested.
61388         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
61389
61390 2008-03-10  Bruno Haible  <bruno@clisp.org>
61391
61392         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
61393         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61394         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61395
61396 2008-03-10  Bruno Haible  <bruno@clisp.org>
61397
61398         * modules/stdlib (Depends-on): Add include_next, remove
61399         absolute-header.
61400
61401 2008-03-09  Bruno Haible  <bruno@clisp.org>
61402
61403         * lib/freadahead.h (freadahead): Document more precisely.
61404         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
61405         the sum of both buffer sizes.
61406         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
61407         * NEWS: Document the change.
61408
61409 2008-03-09  Bruno Haible  <bruno@clisp.org>
61410
61411         Extend freadptr to return also the buffer size.
61412         * lib/freadptr.h (freadptr): Add sizep argument.
61413         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
61414         (freadptr): Add sizep argument. Determine buffer size like freadahead
61415         does.
61416         * tests/test-freadptr.c: Don't include freadahead.h.
61417         (main): Adapt for new calling convention of freadptr.
61418         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
61419         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
61420         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
61421         tests/test-freadptr2.sh.
61422         (Depends): Remove freadahead.
61423         (TESTS): Add test-freadptr2.sh.
61424         (check_PROGRAMS): Add test-freadptr2.
61425
61426 2008-03-09  Bruno Haible  <bruno@clisp.org>
61427
61428         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
61429         Report and solution by Simon Josefsson.
61430
61431 2008-03-06  Bruno Haible  <bruno@clisp.org>
61432
61433         Make fflush after ungetc work on BSD platforms.
61434         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
61435         * tests/test-fflush2.c: New file.
61436         * tests/test-fflush2.sh: New file.
61437         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
61438         tests/test-fflush2.c.
61439         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
61440         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
61441
61442 2008-03-06  Eric Blake  <ebb9@byu.net>
61443
61444         Likewise for ftello.
61445         * modules/ftello (Dependencies): Add extensions.
61446         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
61447
61448 2008-03-06  Bruno Haible  <bruno@clisp.org>
61449
61450         * modules/fseeko (Dependencies): Add extensions.
61451         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
61452         Needed on glibc systems.
61453
61454 2008-03-06  Bruno Haible  <bruno@clisp.org>
61455
61456         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
61457         email address.
61458         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61459
61460 2008-03-06  Bruno Haible  <bruno@clisp.org>
61461
61462         * users.txt: Add libgnupdf.
61463
61464 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61465
61466         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
61467         (Header File Substitutes, Function Substitutes,
61468         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
61469         (Build robot for gnulib): Fix typo.
61470
61471 2008-03-06  Bruno Haible  <bruno@clisp.org>
61472
61473         * doc/gnulib-tool.texi (VCS Issues): Small updates.
61474         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61475
61476 2008-03-06  Bruno Haible  <bruno@clisp.org>
61477
61478         * doc/func.texi: New file, extracted from doc/gnulib.texi.
61479         * doc/gnulib.texi: Include it.
61480
61481 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61482
61483         * modules/func (License): Change license to unlimited; there was
61484         no LGPL parts in the module anyway.
61485
61486 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61487
61488         * modules/__func__: Renamed to modules/func.
61489         * modules/__func__-tests: Renamed to modules/func-tests.
61490         * tests/test-__func__.c: Renamed to tests/test-func.c.
61491         * m4/__func__.m4: Renamed to m4/func.m4.
61492         * doc/gnulib.texi (__func__): Section renamed to func.
61493         Suggested by Eric Blake <ebb9@byu.net>.
61494
61495 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61496
61497         * doc/gnulib.texi (__func__): Use C99 terminology when talking
61498         about __func__.  Make example self-contained.  Suggested by Eric
61499         Blake <ebb9@byu.net>.
61500
61501         * tests/test-__func__.c (main): Avoid extraneous () around __func.
61502         Suggested by Eric Blake <ebb9@byu.net>.
61503
61504 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61505
61506         * modules/__func__: New file.
61507         * modules/__func__-tests: New file.
61508         * tests/test-__func__.c: New file.
61509         * m4/__func__.m4: New file.
61510         * doc/gnulib.texi (__func__): Document __func__ module.
61511
61512 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61513
61514         * modules/byteswap (License): Re-license as LGPLv2+.
61515
61516 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61517
61518         * doc/Makefile: Add pdf target.
61519
61520 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61521
61522         * modules/inline (License): Use 'unlimited', since there are only
61523         *.m4 files in this module.
61524
61525 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61526             Bruno Haible  <bruno@clisp.org>
61527
61528         Add support for HP C 7.1 on OpenVMS 8.3.
61529         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
61530
61531 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61532
61533         Update VMS specifics.
61534         * lib/getopt.c [VMS]: Remove include of unixlib.h.
61535
61536 2008-03-02  Jim Meyering  <meyering@redhat.com>
61537
61538         Remove the last dependency on the "free" module.
61539         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
61540         Reported by Bob Proulx.
61541
61542         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
61543
61544         Remove useless "if" tests before free.  Deprecate "free" module.
61545         * doc/posix-functions/free.texi: Mention that this
61546         module is no longer useful.
61547         * modules/free (Notice): Say this module is obsolete.
61548         * modules/readutmp (Depends-on): Remove free.
61549         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
61550         * lib/putenv.c (putenv): Likewise.
61551         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
61552         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
61553         * tests/test-c-strcasestr.c (main): Likewise.
61554         * tests/test-c-strstr.c (main): Likewise.
61555         * tests/test-mbscasestr1.c (main): Likewise.
61556         * tests/test-mbscasestr2.c (main): Likewise.
61557         * tests/test-mbsstr1.c (main): Likewise.
61558         * tests/test-mbsstr2.c (main): Likewise.
61559         * tests/test-memmem.c (main): Likewise.
61560         * tests/test-strcasestr.c (main): Likewise.
61561         * tests/test-striconv.c (main): Likewise.
61562         * tests/test-striconveh.c (main): Likewise.
61563         * tests/test-striconveha.c (main): Likewise.
61564         * tests/test-strstr.c (main): Likewise.
61565
61566         * build-aux/git-version-gen: Adjust a comment and the Usage string.
61567
61568         bootstrap: sync from coreutils again
61569         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
61570
61571 2008-03-01  Jim Meyering  <meyering@redhat.com>
61572
61573         bootstrap: sync from coreutils
61574         * build-aux/bootstrap (update_po_files): Copy a .po file into place
61575         also when the target doesn't exist.
61576
61577 2008-03-01  Eric Blake  <ebb9@byu.net>
61578
61579         Fix bugs in last patch.
61580         * lib/memchr2.c (memchr2): Fix typo.
61581         * tests/test-memchr2.c: Test previous bug, and don't use GNU
61582         extension.
61583         Reported by Bruce Korb.
61584
61585         New module 'memchr2'.
61586         * modules/memchr2: New file.
61587         * modules/memchr2-tests: Likewise.
61588         * lib/memchr2.h: Likewise.
61589         * lib/memchr2.c: Likewise, based on memchr.c.
61590         * tests/test-memchr2.c: New test.
61591         * MODULES.html.sh (String handling): Add memchr2.
61592
61593 2008-02-29  Bruno Haible  <bruno@clisp.org>
61594
61595         * modules/freadseek-tests: New file.
61596         * tests/test-freadseek.sh: New file.
61597         * tests/test-freadseek.c: New file.
61598
61599         New module 'freadseek'.
61600         * modules/freadseek: New file.
61601         * lib/freadseek.h: New file.
61602         * lib/freadseek.c: New file.
61603         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
61604
61605 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61606
61607         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
61608         wydawca.
61609
61610         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
61611         program_invocation_name and program_invocation_short_name are
61612         present.
61613
61614 2008-02-28  Bruno Haible  <bruno@clisp.org>
61615
61616         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
61617         * tests/test-freadptr.sh: Also test non-seekable stdin.
61618
61619 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
61620
61621         * build-aux/bootstrap (source_base, m4_base)
61622         (doc_base, tests_base): New variables.
61623         (gnulib_tool_options): Do not hardcode base directories, use
61624         the above variables instead.
61625
61626 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
61627
61628         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
61629
61630 2008-02-28  Bruno Haible  <bruno@clisp.org>
61631
61632         * modules/freadptr-tests: New file.
61633         * tests/test-freadptr.sh: New file.
61634         * tests/test-freadptr.c: New file.
61635
61636         New module 'freadptr'.
61637         * modules/freadptr: New file.
61638         * lib/freadptr.h: New file.
61639         * lib/freadptr.c: New file.
61640         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
61641
61642 2008-02-26  Karl Berry  <karl@freefriends.org>
61643
61644         Sync from Libtool:
61645         * libltdl/argz.c (argz_add, argz_count): New functions.
61646         * libltdl/argz.in.h: Declare them.
61647         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
61648
61649 2008-02-22  Bruno Haible  <bruno@clisp.org>
61650
61651         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
61652         is a pointer type.  Needed for HP-UX 10.
61653         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
61654         * doc/posix-functions/gmtime_r.texi: Likewise.
61655         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61656
61657 2008-02-24  Bruno Haible  <bruno@clisp.org>
61658
61659         * modules/environ-tests: New file.
61660         * tests/test-environ.c: New file.
61661
61662         New module 'environ'.
61663         * modules/environ: New file.
61664         * lib/unistd.in.h (environ): New declaration.
61665         * m4/environ.m4: New file.
61666         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
61667         after use.
61668         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
61669         HAVE_DECL_ENVIRON.
61670         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
61671         HAVE_DECL_ENVIRON.
61672         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
61673         wrong claim that 'environ' is missing on some systems.
61674         * modules/execute (Depends-on): Add environ.
61675         * lib/execute.c (environ): Remove fallback declaration.
61676         * modules/pipe (Depends-on): Add environ.
61677         * lib/pipe.c (environ): Remove fallback declaration.
61678         * modules/setenv (Depends-on): Add environ.
61679         * lib/setenv.c (environ): Remove fallback declaration.
61680         * modules/unsetenv (Depends-on): Add environ.
61681         * lib/unsetenv.c (environ): Remove fallback declaration.
61682         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
61683         m4/environ.m4.
61684         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
61685         (gl_PREREQ_UNSETENV): Likewise.
61686
61687 2008-02-24  Bruno Haible  <bruno@clisp.org>
61688
61689         * doc/posix-functions/environ.texi: Document the MacOS X problem.
61690
61691 2008-02-20  Bob Proulx  <bob@proulx.com>
61692
61693         Enable use of older two part flavor 'git describe'.
61694         * build-aux/git-version-gen: If using the older two part flavor of
61695         git version then recreate the third part now present in the
61696         newer three part flavor of git describe.
61697
61698 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
61699
61700         * lib/fts.c (fts_build): Typo correction to comment.
61701
61702 2008-02-17  Bruno Haible  <bruno@clisp.org>
61703
61704         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
61705         generating no-op conflicts.
61706
61707 2008-02-17  Bruno Haible  <bruno@clisp.org>
61708
61709         Speed up by 10%.
61710         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
61711         result_entries, rather than an index-based loop.
61712
61713 2008-02-17  Bruno Haible  <bruno@clisp.org>
61714
61715         Speed up by 25%.
61716         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
61717         'hashcode_cached'.
61718         (entry_create): New function.
61719         (entry_hashcode): Use the cached hashcode if possible.
61720         (read_changelog_file, try_split_merged_entry): Use entry_create.
61721
61722 2008-02-17  Bruno Haible  <bruno@clisp.org>
61723
61724         Speed up from O(n^2) to O(n) for long ChangeLog files.
61725         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
61726         (read_changelog_file): Change implementation of entries_reversed list
61727         to rbtreehash.
61728         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
61729
61730 2008-02-17  Bruno Haible  <bruno@clisp.org>
61731
61732         New option --split-merged-entry.
61733         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
61734         (find_paragraph_end, try_split_merged_entry): New functions.
61735         (long_options): Add option --split-merged-entry.
61736         (usage): Document option --split-merged-entry.
61737         (main): Implement option --split-merged-entry.
61738         Reported by Eric Blake.
61739
61740 2008-02-17  Bruno Haible  <bruno@clisp.org>
61741
61742         * lib/git-merge-changelog.c: Include c-strstr.h.
61743         (main): Support the "git pull --rebase" situation.
61744         * modules/git-merge-changelog (Depends-on): Add c-strstr.
61745         Reported by Eric Blake.
61746
61747 2008-02-16  Eric Blake  <ebb9@byu.net>
61748
61749         Avoid doubling \ in common case of "c-maybe" quoting style.
61750         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
61751         eliding outer quotes.
61752         * lib/quotearg.h: Document this.
61753         * tests/test-quotearg.c (result_strings, inputs, results_g)
61754         (flag_results, locale_results): Test it by adding a new string to
61755         each test group.
61756         (compare_strings): Test new string.
61757
61758 2008-02-13  Eric Blake  <ebb9@byu.net>
61759
61760         Avoid trigraph quoting in default output.
61761         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
61762         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
61763         unless explicitly requested.
61764         * tests/test-quotearg.c (flag_results, main): Add additional tests.
61765
61766 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
61767
61768         Don't rely on signed integer overflowing to negative value.
61769         * lib/getugroups.c (getugroups): Include <limits.h>.
61770         Instead, compare against INT_MAX, and increment only if the test passes.
61771
61772 2008-02-13  Jim Meyering  <meyering@redhat.com>
61773         and Eric Blake  <ebb9@byu.net>
61774
61775         Avoid shadowing warning and compile errors on Linux.
61776         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
61777         forwarding macros on Linux.
61778         (dcgettext): Define a stub, for Linux.
61779         (results_g, main): Avoid warnings.
61780
61781 2008-02-12  Eric Blake  <ebb9@byu.net>
61782
61783         Silence warning in last patch.
61784         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
61785
61786         Quotearg part 4: add tests, fix c-maybe colon quoting.
61787         * lib/quotearg.h: Improve documentation.
61788         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
61789         escapes when adding outer quotes.  When quoting trigraphs, use
61790         valid C notation.  When quoting NUL, omit extra characters if next
61791         character is not digit.  Alter prototype.
61792         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
61793         callers.
61794         * modules/quotearg-tests: New module.
61795         * tests/test-quotearg.c: New test.
61796
61797 2008-02-07  Eric Blake  <ebb9@byu.net>
61798
61799         Quotearg part 3: add flag to control outer quote elision.
61800         * lib/quotearg.h (c_maybe_quoting_style): New style.
61801         (enum quoting_flags): Better documentation of flags.
61802         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
61803         c-maybe style.
61804         (quotearg_buffer_restyled): Handle new flag to elide outer
61805         quotes.
61806
61807         Quotearg part 2: add flag that can control NUL elision.
61808         * lib/quotearg.h (set_quoting_flags): New prototype.
61809         * lib/quotearg.c (struct quoting_options): Add flag field.
61810         (set_quoting_flags): New function.
61811         (quotearg_buffer_restyled): Add flags parameter.
61812         (quotearg_alloc_mem): Set the flag if length cannot be returned.
61813         (quotearg_n_options): Set the flag, since length cannot be
61814         returned.
61815         (quoting_options_from_style): Default flags correctly.
61816
61817         Quotearg part 1: more wrappers, restore quotearg_char state.
61818         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
61819         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
61820         (quotearg_colon_mem): New wrappers.
61821         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
61822         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
61823         functions.
61824         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
61825         (quotearg_colon_mem): New functions.
61826
61827 2008-02-11  Bruno Haible  <bruno@clisp.org>
61828
61829         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
61830         library in the current directory: it does not work with parallel make.
61831         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61832
61833 2008-02-11  Bruno Haible  <bruno@clisp.org>
61834
61835         * .gitattributes: New file.
61836
61837 2008-02-11  Jim Meyering  <meyering@redhat.com>
61838
61839         useless-if-before-free: Fix reversed exit values.
61840         * build-aux/useless-if-before-free: Use correct values
61841         for EXIT_MATCH and EXIT_NO_MATCH.
61842
61843         * build-aux/useless-if-before-free: Close stdout carefully.
61844
61845 2008-02-10  Bruno Haible  <bruno@clisp.org>
61846
61847         New module 'git-merge-changelog'.
61848         * modules/git-merge-changelog: New file.
61849         * lib/git-merge-changelog.c: New file.
61850
61851 2008-02-10  Jim Meyering  <meyering@redhat.com>
61852
61853         useless-if-before-free: New option: --list (-l).
61854
61855         useless-if-before-free: Don't exit immediately upon open failure.
61856         * build-aux/useless-if-before-free: Exit 2 for errors.
61857         Upon failure to open a file, don't exit immediately.
61858         Rather, just warn and continue with any remaining files.
61859
61860 2008-02-10  Bruno Haible  <bruno@clisp.org>
61861
61862         New abstract list operation 'node_set_value'.
61863         * lib/gl_list.h (gl_list_node_set_value): New function.
61864         (struct gl_list_implementation): New field node_set_value.
61865         * lib/gl_list.c (gl_list_node_set_value): New function.
61866         * lib/gl_array_list.c (gl_array_node_set_value): New function.
61867         (gl_array_list_implementation): Update.
61868         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
61869         (gl_carray_list_implementation): Update.
61870         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
61871         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61872         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61873         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
61874         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61875         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61876         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61877         Update.
61878         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
61879         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
61880         (gl_sublist_list_implementation): Update.
61881
61882 2008-02-10  Bruno Haible  <bruno@clisp.org>
61883
61884         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
61885         Needed when ELEMENT is #defined to 'some_type *'.
61886
61887 2008-02-10  Jim Meyering  <meyering@redhat.com>
61888
61889         New script and module: useless-if-before-free
61890         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
61891         * build-aux/useless-if-before-free: New file.
61892         * modules/useless-if-before-free: New file.
61893
61894         * build-aux/gitlog-to-changelog: Use committer date, not author date.
61895
61896         xstrtol_error: Fix typo.
61897         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
61898         s/exit_failure/exit_status/.
61899
61900 2008-02-09  Jim Meyering  <meyering@redhat.com>
61901
61902         New script and module: gitlog-to-changelog
61903         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
61904         * modules/gitlog-to-changelog: New file.
61905         * build-aux/gitlog-to-changelog: New file.
61906
61907 2008-02-08  Jim Meyering  <meyering@redhat.com>
61908
61909         Avoid two "parameter unused" warnings.
61910         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
61911         Mark "st" as used.
61912
61913         Use "git COMMAND", not "git-COMMAND".
61914         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
61915         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
61916         * build-aux/git-version-gen: Use "git status", not "git-status".
61917
61918 2008-02-07  Bruno Haible  <bruno@clisp.org>
61919
61920         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
61921         Avoids a crash on Windows Vista.
61922         Reported by Adam Strzelecki <ono@java.pl> via
61923         Simon Josefsson <simon@josefsson.org>.
61924
61925 2008-02-06  Bruno Haible  <bruno@clisp.org>
61926
61927         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
61928         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
61929         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
61930         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
61931         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61932         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61933         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
61934         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
61935         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61936         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61937         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61938         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61939         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61940         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61941         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61942         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
61943         left-adjust flag.
61944         * tests/test-snprintf-posix.h (test_function): Likewise.
61945         * tests/test-sprintf-posix.h (test_function): Likewise.
61946         * tests/test-vasprintf-posix.c (test_function): Likewise.
61947         * doc/posix-functions/fprintf.texi: Update.
61948         * doc/posix-functions/printf.texi: Update.
61949         * doc/posix-functions/snprintf.texi: Update.
61950         * doc/posix-functions/sprintf.texi: Update.
61951         * doc/posix-functions/vfprintf.texi: Update.
61952         * doc/posix-functions/vprintf.texi: Update.
61953         * doc/posix-functions/vsnprintf.texi: Update.
61954         * doc/posix-functions/vsprintf.texi: Update.
61955         Reported by Peter Fales <psfales@alcatel-lucent.com>.
61956
61957 2008-02-06  Bruno Haible  <bruno@clisp.org>
61958
61959         Fix bug introduced on 2008-01-26.
61960         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
61961
61962 2008-02-06  Bruno Haible  <bruno@clisp.org>
61963
61964         Fix bug introduced on 2007-06-10.
61965         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
61966         !NEED_PRINTF_FLAG_ZERO.
61967
61968 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
61969
61970         getloadavg: use libperfstat on AIX5
61971         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
61972
61973 2008-02-03  Bruno Haible  <bruno@clisp.org>
61974
61975         * lib/diffseq.h: Add comments about required #includes.
61976         Reported by Michael Biggs <gnulib@doubleplum.net>.
61977
61978 2008-02-01  Bruno Haible  <bruno@clisp.org>
61979
61980         * users.txt: Add gnuit.
61981
61982 2008-01-31  Bruno Haible  <bruno@clisp.org>
61983
61984         * lib/md4.c (set_uint32): Mark as inline.
61985         * lib/md5.c (set_uint32): Likewise.
61986         * lib/sha1.c (set_uint32): Likewise.
61987         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
61988         * m4/md5.m4 (gl_MD5): Likewise.
61989         * m4/sha1.m4 (gl_SHA1): Likewise.
61990
61991 2008-01-31  Jim Meyering  <meyering@redhat.com>
61992
61993         Use "sizeof VAR", rather than a literal "4".
61994         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
61995         * lib/md4.c (md4_read_ctx): Likewise.
61996         * lib/sha1.c (sha1_read_ctx): Likewise.
61997
61998 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61999
62000         * tests/test-sha1.c: New file, based on test-md5.c.
62001
62002         * modules/crypto/sha1-tests: New file.
62003
62004 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62005
62006         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
62007
62008 2008-01-31  Jim Meyering  <meyering@redhat.com>
62009
62010         Prefer "sizeof v" over the equivalent "4".
62011         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
62012         * lib/md5.c (set_uint32): Likewise.
62013         * lib/sha1.c (set_uint32): Likewise.
62014
62015 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62016
62017         * lib/sha1.c (set_uint32): Mark function as static.
62018
62019 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62020
62021         md2: clarify comments to say that alignment is not required.
62022         * lib/md2.h: Remove warning about alignment in comment.
62023         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
62024         never been required.
62025
62026 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62027
62028         md4: adapt alignment constraint fix from sha1.
62029         * lib/md4.c (set_uint32): New function, from sha1.c
62030         (md4_read_ctx): Use it.
62031         (md4_finish_ctx): Doc fix.
62032         * lib/md4.h: Doc fix.
62033
62034 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62035
62036         md5: adapt alignment constraint fix from sha1.
62037         * lib/md5.c (set_uint32): New function, from sha1.c
62038         (md5_read_ctx): Use it.
62039         (md5_finish_ctx): Doc fix.
62040         * lib/md5.h: Doc fix.
62041
62042 2008-01-30  Peter Palfrader  <weasel@debian.org>
62043
62044         sha1: remove the result buffer alignment constraint
62045         * lib/sha1.c (set_uint32): New function.
62046         (sha1_read_ctx): Rewrite to remove the result buffer alignment
62047         constraint.
62048         (sha1_finish_ctx): Remove comment warning about alignment constraint.
62049         * lib/sha1.h: Likewise.
62050
62051 2008-01-30  Andreas Schwab  <schwab@suse.de>
62052             Bruno Haible  <bruno@clisp.org>
62053
62054         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
62055         correct definition of LDBL_MIN_EXP.
62056
62057 2008-01-30  Karl Berry  <karl@gnu.org>
62058
62059         * config/srclist-update: try to preserve x bit on updates.
62060         * config/srclistvars.sh: update for karl.
62061
62062 2008-01-29  Jim Meyering  <meyering@redhat.com>
62063
62064         vasnprintf.c: Avoid warning about unused label
62065         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
62066         "overflow" label definition and associated code with the
62067         same cpp condition that guards the sole use of that label.
62068
62069 2008-01-26  Bruno Haible  <bruno@clisp.org>
62070
62071         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
62072         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
62073         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
62074         * lib/isnanl-nolibm.h (isnanl): Likewise.
62075         Reported by Paul Eggert <eggert@cs.ucla.edu>.
62076
62077 2008-01-26  Bruno Haible  <bruno@clisp.org>
62078
62079         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
62080         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
62081
62082 2008-01-26  Bruno Haible  <bruno@clisp.org>
62083
62084         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
62085         GCC >= 4.0 built-in.
62086         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
62087
62088 2008-01-26  Bruno Haible  <bruno@clisp.org>
62089
62090         Rename isnan, applicable to 'double' only, to isnand.
62091         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
62092         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
62093         (configure.ac): Update.
62094         (Include): Replace "isnan.h" with "isnand.h".
62095         * m4/isnand.m4: Renamed from m4/isnan.m4.
62096         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
62097         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
62098         instead of isnan.c.
62099         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
62100         instead of HAVE_ISNAN_IN_LIBC.
62101         (isnand): Renamed from isnan.
62102         * lib/isnand.c: New file.
62103         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
62104         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
62105         (Makefile.am): Update.
62106         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
62107         Include isnand.h instead of isnan.h.
62108         (main): Test isnand instead of isnan.
62109         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
62110         isnan-nolibm.
62111         * modules/frexp (Depends-on): Likewise.
62112         * modules/frexp-tests (Depends-on): Likewise.
62113         * modules/frexp-nolibm (Depends-on): Likewise.
62114         * modules/frexp-nolibm-tests (Depends-on): Likewise.
62115         * modules/isfinite (Depends-on): Likewise.
62116         * modules/round-tests (Depends-on): Likewise.
62117         * modules/signbit (Depends-on): Likewise.
62118         * modules/signbit-tests (Depends-on): Likewise.
62119         * modules/snprintf-posix (Depends-on): Likewise.
62120         * modules/sprintf-posix (Depends-on): Likewise.
62121         * modules/trunc-tests (Depends-on): Likewise.
62122         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62123         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62124         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62125         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62126         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62127         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62128         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62129         * modules/vasnprintf-posix (Depends-on): Likewise.
62130         * modules/vasprintf-posix (Depends-on): Likewise.
62131         * modules/vfprintf-posix (Depends-on): Likewise.
62132         * modules/vsnprintf-posix (Depends-on): Likewise.
62133         * modules/vsprintf-posix (Depends-on): Likewise.
62134         * lib/frexp.c: Include isnand.h instead of isnan.h.
62135         (ISNAN): Set to isnand instead of isnan.
62136         * lib/isfinite.c: Include isnand.h instead of isnan.h.
62137         (gl_isfinited): Use isnand instead of isnan.
62138         * lib/signbitd.c: Include isnand.h instead of isnan.h.
62139         (gl_signbitd): Use isnand instead of isnan.
62140         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
62141         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
62142         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
62143         (main): Use isnand instead of isnan.
62144         * tests/test-round1.c: Include isnand.h.
62145         (main): Use isnand instead of isnan.
62146         * tests/test-round2.c: Include isnand.h instead of isnan.h.
62147         (ISNAN): Set to isnand instead of isnan.
62148         * tests/test-trunc1.c: Include isnand.h.
62149         (main): Use isnand instead of isnan.
62150         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
62151         (equal): Use isnand instead of isnan.
62152         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
62153         isnand-nolibm.
62154         * NEWS: Mention the change.
62155
62156 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62157             Bruno Haible  <bruno@clisp.org>
62158
62159         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
62160         the GCC builtins for signbits are present and set
62161         REPLACE_SIGNBIT_USING_GCC if so.
62162         * lib/math.in.h (signbit): Define using GCC builtins if
62163         REPLACE_SIGNBIT_USING_GCC is set.
62164         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
62165         REPLACE_SIGNBIT_USING_GCC.
62166         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
62167
62168 2008-01-25  Jim Meyering  <meyering@redhat.com>
62169
62170         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
62171         * lib/poll.c: Include <config.h>, not "config.h".
62172         * tests/test-getaddrinfo.c: Likewise.
62173
62174 2008-01-25  Simon Josefsson  <simon@josefsson.org>
62175
62176         * modules/sockets-tests: New file.
62177
62178 2008-01-24  Simon Josefsson  <simon@josefsson.org>
62179
62180         * modules/sockets: New module, can be used to call WSA_Startup and
62181         WSA_Cleanup when needed.
62182
62183         * lib/sockets.h, lib/sockets.c: New files.
62184
62185         * m4/sockets.m4: New file.
62186
62187         * tests/test-sockets.c: New file.
62188
62189 2008-01-19  Bruno Haible  <bruno@clisp.org>
62190
62191         * doc/posix-headers: Renamed from doc/headers.
62192         * doc/posix-functions: Renamed from doc/functions.
62193         * doc/gnulib.texi: Update.
62194
62195 2008-01-19  Bruno Haible  <bruno@clisp.org>
62196
62197         * doc/glibc-functions/strcasestr.texi: Include contents of
62198         doc/functions/strcasestr.texi, fixing the list of platforms.
62199         * doc/functions/strcasestr.texi: Remove file.
62200
62201 2008-01-19  Bruno Haible  <bruno@clisp.org>
62202
62203         * doc/glibc-functions/memmem.texi: Include contents of
62204         doc/functions/memmem.texi.
62205         * doc/functions/memmem.texi: Remove file.
62206
62207 2008-01-18  Bruno Haible  <bruno@clisp.org>
62208
62209         * doc/glibc-functions/*.texi: New files.
62210         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
62211         to use the new files.
62212
62213 2008-01-17  Bruno Haible  <bruno@clisp.org>
62214
62215         * tests/test-gethostname.c (main): Fix printf statement.
62216
62217 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62218
62219         * modules/gethostname-tests: New file.
62220
62221         * tests/test-gethostname.c: New file.
62222
62223 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62224
62225         * lib/gethostname.c: Include string.h unconditionally, strncpy is
62226         used by the UNAME case.  Reported by Bruno Haible
62227         <bruno@clisp.org>.
62228
62229 2008-01-17  Eric Blake  <ebb9@byu.net>
62230
62231         Convert c-strcasestr to be more efficient.
62232         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
62233         (Depends-on): Add c-strcase, remove malloca, strnlen.
62234         * tests/test-c-strcasestr.c (main): Enhance test.
62235         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
62236
62237 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
62238
62239         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
62240         Use it in creating po/Makevars.
62241
62242 2008-01-15  Simon Josefsson  <simon@josefsson.org>
62243
62244         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
62245         Applications that requires it should initialize libgcrypt
62246         manually.
62247
62248 2008-01-16  Simon Josefsson  <simon@josefsson.org>
62249
62250         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
62251
62252 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
62253
62254         Fix problem with getdate on mingw32 reported by Simon Josefsson
62255         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
62256         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
62257         tzname", when deciding whether to declare tzname.
62258         * lib/strftime.c (tzname): Likewise.
62259
62260 2008-01-15  Bruno Haible  <bruno@clisp.org>
62261
62262         Work around a MacOS X 10.5 bug in frexpl().
62263         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
62264         * doc/functions/frexpl.texi: Document the bug.
62265         Reported by Elias Pipping <pipping@gentoo.org>.
62266
62267 2008-01-14  Eric Blake  <ebb9@byu.net>
62268
62269         Touch up previous patch.
62270         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
62271         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
62272
62273         Convert strcasestr module to use Two-Way algorithm.
62274         * modules/strcasestr-simple: New module, based on the old
62275         strcasestr, but with Two-Way rather than KMP.
62276         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
62277         * lib/string.in.h (rpl_strcasestr): Declare.
62278         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
62279         performance.
62280         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
62281         * modules/string (Makefile.am): Support strcasestr.
62282         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
62283         * modules/strcasestr-tests (Depends-on): Check for alarm.
62284         * tests/test-strcasestr.c: Augment test.
62285         * lib/str-two-way.h: Clean up stray macro.
62286         * NEWS: Document new module.
62287         * MODULES.html.sh (string handling): Likewise.
62288         * doc/functions/strcasestr.texi: New file.
62289         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
62290         here, since it is not a POSIX function.
62291
62292 2008-01-14  Colin Watson  <cjwatson@debian.org>
62293             Bruno Haible  <bruno@clisp.org>
62294
62295         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
62296         works fine; if not, set REPLACE_STRSIGNAL.
62297         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
62298         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62299         REPLACE_STRSIGNAL.
62300         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
62301         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
62302         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
62303
62304 2008-01-14  Bruno Haible  <bruno@clisp.org>
62305
62306         * modules/strsignal (Include): Change to <string.h>.
62307
62308 2008-01-14  Colin Watson  <cjwatson@debian.org>
62309
62310         * modules/argp (Notice): Add a notice recommending to change
62311         XGETTEXT_OPTIONS.
62312         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
62313
62314 2008-01-13  Colin Watson  <cjwatson@debian.org>
62315
62316         * modules/strsignal-tests: New file.
62317         * tests/test-strsignal.c: New file.
62318
62319         * lib/strsignal.c: New file, from glibc with modifications.
62320         * lib/siglist.h: New file, from glibc with modifications.
62321         * lib/string.in.h (strsignal): New declaration.
62322         * m4/strsignal.m4: New file.
62323         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62324         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
62325         * modules/strsignal: New file.
62326         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
62327         HAVE_DECL_STRSIGNAL.
62328
62329 2008-01-13  Bruno Haible  <bruno@clisp.org>
62330
62331         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
62332         locale encoding is not ASCII. Needed for OpenBSD 4.0.
62333         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62334         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62335
62336 2008-01-13  Bruno Haible  <bruno@clisp.org>
62337
62338         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
62339         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
62340         * lib/argp.h (__attribute__): Likewise.
62341         * lib/c-stack.c (__attribute__): Likewise.
62342         * lib/error.h (__attribute__): Likewise.
62343         * lib/fts.c (__attribute__): Likewise.
62344         * lib/openat.h (__attribute__): Likewise.
62345         * lib/stdio.in.h (__attribute__): Likewise.
62346         * lib/string.in.h (__attribute__): Likewise.
62347         * lib/utimens.c (__attribute__): Likewise.
62348         * lib/vasnprintf.h (__attribute__): Likewise.
62349         * lib/xalloc.h (__attribute__): Likewise.
62350         * lib/xprintf.h (__attribute__): Likewise.
62351         * lib/xstrtol.h (__attribute__): Likewise.
62352         * lib/xvasprintf.h (__attribute__): Likewise.
62353
62354 2008-01-12  Bruno Haible  <bruno@clisp.org>
62355
62356         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
62357         * doc/glibc-headers/a.out.texi: New file.
62358         * doc/glibc-headers/aliases.texi: New file.
62359         * doc/glibc-headers/alloca.texi: New file.
62360         * doc/glibc-headers/ar.texi: New file.
62361         * doc/glibc-headers/argp.texi: New file.
62362         * doc/glibc-headers/argz.texi: New file.
62363         * doc/glibc-headers/byteswap.texi: New file.
62364         * doc/glibc-headers/crypt.texi: New file.
62365         * doc/glibc-headers/endian.texi: New file.
62366         * doc/glibc-headers/envz.texi: New file.
62367         * doc/glibc-headers/err.texi: New file.
62368         * doc/glibc-headers/error.texi: New file.
62369         * doc/glibc-headers/execinfo.texi: New file.
62370         * doc/glibc-headers/fpu_control.texi: New file.
62371         * doc/glibc-headers/fstab.texi: New file.
62372         * doc/glibc-headers/fts.texi: New file.
62373         * doc/glibc-headers/getopt.texi: New file.
62374         * doc/glibc-headers/ieee754.texi: New file.
62375         * doc/glibc-headers/ifaddrs.texi: New file.
62376         * doc/glibc-headers/libintl.texi: New file.
62377         * doc/glibc-headers/mcheck.texi: New file.
62378         * doc/glibc-headers/mntent.texi: New file.
62379         * doc/glibc-headers/obstack.texi: New file.
62380         * doc/glibc-headers/paths.texi: New file.
62381         * doc/glibc-headers/printf.texi: New file.
62382         * doc/glibc-headers/pty.texi: New file.
62383         * doc/glibc-headers/resolv.texi: New file.
62384         * doc/glibc-headers/shadow.texi: New file.
62385         * doc/glibc-headers/sysexits.texi: New file.
62386         * doc/glibc-headers/ttyent.texi: New file.
62387
62388 2008-01-12  Jim Meyering  <meyering@redhat.com>
62389
62390         announce-gen: emit Gnulib's git-based version string.
62391         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
62392         New option --gnulib-version=V, where V is expected to be
62393         the output of running git describe in the gnulib directory.
62394         (get_tool_versions): Request feedback on xdelta.  I suspect it's
62395         not useful, and plan to stop publishing an xdelta file with each
62396         coreutils release.
62397
62398         * build-aux/announce-gen: Also check for lzma-compressed files.
62399
62400 2008-01-11  Bruno Haible  <bruno@clisp.org>
62401
62402         * tests/test-memmem.c (main): Increase maximum allowed time.
62403         * tests/test-strstr.c (main): Likewise.
62404
62405 2008-01-11  Bruno Haible  <bruno@clisp.org>
62406
62407         * doc/functions/memmem.texi: Add more precisions about platforms.
62408         * doc/functions/strstr.texi: Likewise.
62409
62410 2008-01-10  Eric Blake  <ebb9@byu.net>
62411
62412         * m4/strstr.m4: Delete cruft from copy-n-paste.
62413         Reported by Bruno Haible.
62414
62415 2008-01-10  Bruno Haible  <bruno@clisp.org>
62416
62417         Make c-strstr rely on strstr.
62418         * lib/c-strstr.c: Don't include str-kmp.h.
62419         (c_strstr): Define in terms of strstr.
62420         * modules/c-strstr (Files): Remove lib/str-kmp.h.
62421         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
62422
62423 2008-01-10  Bruno Haible  <bruno@clisp.org>
62424
62425         * doc/gnulib.texi (String Functions in C Locale): New section.
62426         * doc/c-ctype.texi: New file.
62427         * doc/c-strcase.texi: New file.
62428         * doc/c-strcaseeq.texi: New file.
62429         * doc/c-strcasestr.texi: New file.
62430         * doc/c-strstr.texi: New file.
62431         * doc/c-strtod.texi: New file.
62432         * doc/c-strtold.texi: New file.
62433
62434 2008-01-10  Eric Blake  <ebb9@byu.net>
62435
62436         * lib/relocatable.h: Fix a comment.
62437
62438 2008-01-10  Eric Blake  <ebb9@byu.net>
62439
62440         Share two-way algorithm.
62441         * lib/str-two-way.h: New file, merged from...
62442         * lib/memmem.c: ...here...
62443         * lib/strstr.c: ...and here.
62444         * modules/memmem (Files): Use it.
62445         * modules/strstr (Files): Likewise.
62446
62447         Avoid quadratic strstr implementations.
62448         * lib/strstr.c: New file.
62449         * m4/strstr.m4: Likewise.
62450         * modules/strstr: Likewise.
62451         * modules/strstr-tests: Likewise.
62452         * tests/test-strstr.c: Likewise.
62453         * lib/string.in.h (rpl_strstr): Declare.
62454         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
62455         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
62456         * modules/string (Makefile.am): Likewise.
62457         * MODULES.html.sh (string handling): Mention new module.
62458         * doc/functions/strstr.texi (strstr): Document the bug.
62459
62460 2008-01-10  Bruno Haible  <bruno@clisp.org>
62461
62462         * lib/relocatable.h (relocate): State whether result is freshly
62463         allocated or not.
62464         * lib/relocatable.c (relocate): Return a freshly allocated string
62465         instead of a pointer to a privately held string.
62466         Reported by Sylvain Beucler <beuc@gnu.org>.
62467
62468 2008-01-10  Colin Watson  <cjwatson@debian.org>
62469
62470         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
62471         s/S_ISNLK/S_ISLNK/.
62472
62473 2008-01-09  Bruno Haible  <bruno@clisp.org>
62474
62475         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
62476         and other files.
62477         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
62478         if it's only a guess.
62479         * modules/memmem: Simplify by depending on memmem-simple.
62480
62481 2008-01-09  Bruno Haible  <bruno@clisp.org>
62482
62483         Work around OpenBSD 4.0 tdelete() bug.
62484         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
62485         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
62486         macros and don't redefine the enum values.
62487         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
62488         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
62489         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
62490
62491 2008-01-09  Bruno Haible  <bruno@clisp.org>
62492
62493         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
62494         (main): Don't perform the tests if setlocale did not install a UTF-8
62495         locale. Needed on OpenBSD 4.0.
62496         * modules/wcwidth-tests (Depends-on): Add localcharset.
62497
62498 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62499
62500         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
62501         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
62502         * NEWS: announce this.
62503         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
62504
62505 2008-01-09  Simon Josefsson  <simon@josefsson.org>
62506         and Eric Blake  <ebb9@byu.net>
62507
62508         Add memmem-simple module.
62509         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
62510         (gl_FUNC_MEMMEM): Separate performance from presence checks.
62511         * modules/memmem-simple: New file.
62512         * modules/memmem (Description): Tweak.
62513         * MODULES.html.sh (string handling): Mention new module.
62514         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
62515         addressed by memmem-simple.
62516         * NEWS: Document the difference.
62517
62518 2008-01-09  Eric Blake  <ebb9@byu.net>
62519
62520         Give gcc some memmem optimization hints.
62521         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
62522         (strcasestr): Declare as pure.
62523         * modules/memmem (Maintainer): Claim my implementation.
62524
62525 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62526
62527         Support AIX 6.1 and higher.
62528         * build-aux/config.libpath: Likewise.
62529         * build-aux/config.rpath: Likewise.
62530
62531 2008-01-08  Jim Meyering  <meyering@redhat.com>
62532             Bruno Haible  <bruno@clisp.org>
62533
62534         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
62535         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
62536         Reported by Peter Fales in
62537         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
62538
62539 2008-01-08  Bruno Haible  <bruno@clisp.org>
62540
62541         * modules/unictype/category-of (Depends-on): Add
62542         unictype/category-none.
62543         * modules/unictype/category-and-tests (Depends-on): Add
62544         unictype/category-{L,N,Lu,Nd}.
62545         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
62546         * modules/unictype/category-or-tests (Depends-on): Add
62547         unictype/category-{L,N}.
62548         * modules/unictype/category-name-tests (Depends-on): Add
62549         unictype/category-{Z,Nl}.
62550         Reported by Simon Josefsson.
62551
62552 2008-01-08  Bruno Haible  <bruno@clisp.org>
62553
62554         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
62555         convention better.
62556         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
62557         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
62558         Reported by Peter Miller <millerp@canb.auug.org.au>.
62559
62560 2008-01-08  Eric Blake  <ebb9@byu.net>
62561
62562         Rewrite memmem to guarantee linear complexity without malloc.
62563         * lib/memmem.c (memmem): Use Two-Way rather than
62564         Knuth-Morris-Pratt, to allow O(1) space usage.
62565         (critical_factorization, two_way_short_needle)
62566         (two_way_long_needle): New functions.
62567         (knuth_morris_pratt): Delete.
62568         * modules/memmem (Depends-on): No longer need malloca or stdbool.
62569         Add stdint.
62570         * tests/test-memmem.c (main): Add tests for periodic needle and
62571         sublinear performance.
62572         * doc/functions/memmem.texi (memmem): Document other deficiencies
62573         in cygwin and older glibc.
62574
62575 2008-01-08  Bruno Haible  <bruno@clisp.org>
62576
62577         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
62578         augmentation.
62579
62580 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
62581
62582         Add a configure time option: --disable-acl.
62583         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
62584         AC_ARG_ENABLE(acl).
62585
62586 2008-01-06  Simon Josefsson  <simon@josefsson.org>
62587
62588         * tests/test-localename.c: Don't include obsolete "setenv.h".
62589
62590         * modules/localename-tests (Depends-on): Need unsetenv.
62591
62592 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62593
62594         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
62595
62596 2008-01-06  Colin Watson  <cjwatson@debian.org>
62597
62598         * users.txt: Add man-db.
62599
62600 2008-01-07  Bruno Haible  <bruno@clisp.org>
62601
62602         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
62603         previous section name.
62604
62605 2008-01-07  Bruno Haible  <bruno@clisp.org>
62606
62607         * lib/progname.c (set_program_name): Don't strip off a leading
62608         "lt-" prefix outside a .libs directory.
62609         Suggested by Paul Eggert.
62610
62611 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
62612             Bruno Haible  <bruno@clisp.org>
62613
62614         Improve memory cleanup in 'relocatable' module.
62615         * lib/relocatable.h (compute_curr_prefix): Change return type to
62616         'char *'.
62617         * lib/relocatable.c (compute_curr_prefix): Change return type to
62618         'char *'. Free curr_installdir after use.
62619         (relocate): Free curr_prefix_better after use.
62620         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
62621
62622 2008-01-01  Bruno Haible  <bruno@clisp.org>
62623
62624         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
62625         failure on older glibc systems.
62626         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62627
62628 2008-01-05  Eric Blake  <ebb9@byu.net>
62629
62630         Avoid quadratic system memmem.
62631         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
62632         Reported by Ralf Wildenhues.
62633
62634         Fix memmem test for mingw.
62635         * modules/memmem-tests (configure.ac): Check for alarm.
62636         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
62637         it.
62638         * doc/functions/memmem.texi: New file.
62639         * doc/gnulib.texi (Function Substitutes): Add memmem.
62640         Reported by Bruno Haible.
62641
62642 2008-01-04  Bruno Haible  <bruno@clisp.org>
62643
62644         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
62645         Require gl_HEADER_STRINGS_H_DEFAULTS, not
62646         gl_HEADER_STRING_H_DEFAULTS.
62647
62648 2008-01-04  Eric Blake  <ebb9@byu.net>
62649
62650         Shorten duration of memmem test.
62651         * tests/test-memmem.c (main): Use alarm to declare failure if test
62652         is taking too long.
62653         Reported by Ralf Wildenhues.
62654
62655 2007-12-21  Simon Josefsson  <simon@josefsson.org>
62656
62657         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
62658         string, needed by strerror.
62659
62660 2008-01-03  Colin Watson  <cjwatson@debian.org>
62661             Bruno Haible  <bruno@clisp.org>
62662
62663         * doc/gnulib-tool.texi (Localization): New section.
62664
62665 2008-01-02  Bruno Haible  <bruno@clisp.org>
62666
62667         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
62668         variables to 'unsigned char *' type.
62669         Reported by Paul Eggert.
62670
62671 2008-01-02  Jim Meyering  <jim@meyering.net>
62672
62673         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
62674
62675 2007-12-31  Jim Meyering  <jim@meyering.net>
62676
62677         Avoid use of private FTS type name.
62678         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
62679
62680 2007-12-30  Karl Berry  <karl@gnu.org>
62681
62682         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
62683         work around defect in Texinfo and/or the standalone Info browser.
62684
62685 2007-12-30  Bruno Haible  <bruno@clisp.org>
62686
62687         Unify 5 copies of the KMP code.
62688         * lib/str-kmp.h: New file.
62689         * lib/c-strcasestr.c: Include str-kmp.h.
62690         (knuth_morris_pratt): Remove function.
62691         (c_strcasestr): Update.
62692         * lib/c-strstr.c: Include str-kmp.h.
62693         (knuth_morris_pratt): Remove function.
62694         (c_strcasestr): Update.
62695         * lib/mbscasestr.c: Include str-kmp.h.
62696         (knuth_morris_pratt_unibyte): Remove function.
62697         * lib/mbsstr.c: Include str-kmp.h.
62698         (knuth_morris_pratt_unibyte): Remove function.
62699         * lib/strcasestr.c: Include str-kmp.h.
62700         (knuth_morris_pratt): Remove function.
62701         (strcasestr): Update.
62702         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
62703         * modules/c-strstr (Files): Likewise.
62704         * modules/mbscasestr (Files): Likewise.
62705         * modules/mbsstr (Files): Likewise.
62706         * modules/strcasestr (Files): Likewise.
62707         Suggested by Paul Eggert.
62708
62709 2007-12-30  Bruno Haible  <bruno@clisp.org>
62710
62711         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
62712         defined.
62713
62714 2007-12-30  Bruno Haible  <bruno@clisp.org>
62715
62716         * lib/xmalloca.h: Include xalloc.h.
62717         (xnmalloca): New macro.
62718
62719 2007-12-30  Bruno Haible  <bruno@clisp.org>
62720
62721         * lib/malloca.h (nmalloca): New macro.
62722         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
62723         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
62724         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
62725         knuth_morris_pratt_multibyte): Likewise.
62726         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
62727         knuth_morris_pratt_multibyte): Likewise.
62728         * lib/memmem.c (knuth_morris_pratt): Likewise.
62729         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
62730
62731 2007-12-25  Bruno Haible  <bruno@clisp.org>
62732
62733         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
62734         * lib/glob.c: Don't include openat.h.
62735         (link_exists2_p): Add back the code that deals with the
62736         !GLOB_ALTDIRFUNC case.
62737         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
62738         let it do the filename concatenation.
62739         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
62740         * modules/glob (Depends-on): Remove openat.
62741
62742 2007-12-31  Bruno Haible  <bruno@clisp.org>
62743
62744         * modules/dirfd (License): Change to LGPLv2+.
62745         Approved by Jim Meyering.
62746
62747 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62748
62749         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
62750         when multiplying M by sizeof (size_t).
62751
62752 2007-12-10  Martin Lambers  <marlam@marlam.de>
62753
62754         Override getpagesize on mingw.
62755         * lib/getpagesize.c: New file.
62756         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
62757         * modules/getpagesize (Files): Add lib/getpagesize.c.
62758         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
62759         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62760         REPLACE_GETPAGESIZE.
62761         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
62762
62763 2007-12-25  Bruno Haible  <bruno@clisp.org>
62764
62765         * modules/localcharset (Notice): New field.
62766         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
62767         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
62768
62769 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62770             Bruno Haible  <bruno@clisp.org>
62771
62772         Avoid using the syntax symbol() in formatted documentation.
62773         * MODULES.html.sh (func_module): When replacing symbol() with a
62774         hyperlink, remove the parentheses. Show an error if some remain.
62775         Recognize and render the '...' syntax.
62776         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
62777         Rework. Add paragraph about GCC's inlining.
62778         * doc/alloca.texi: Likewise.
62779         * doc/error.texi: Remove parentheses from symbol reference.
62780         * doc/gnulib-intro.texi: Likewise.
62781         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
62782         * modules/fnmatch (Description): Reword to say "the ... function".
62783         * modules/full-read (Description): Likewise.
62784         * modules/full-write (Description): Likewise.
62785         * modules/safe-read (Description): Likewise.
62786         * modules/safe-write (Description): Likewise.
62787         * modules/strchrnul (Description): Likewise.
62788         * modules/trim (Description): Likewise.
62789         * modules/error (Description): Remove parentheses from symbol
62790         references.
62791         * modules/verror (Description): Likewise.
62792         Reported by Karl Berry.
62793
62794 2007-12-25  Bruno Haible  <bruno@clisp.org>
62795
62796         Fixup after 2007-10-16 commit.
62797         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
62798
62799 2007-12-24  Bruno Haible  <bruno@clisp.org>
62800
62801         Make --enable-relocatable work with DESTDIR.
62802         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
62803         to compute installdir from destprog.
62804         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
62805         also set the RELOC_DESTDIR variable.
62806         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62807
62808 2007-12-24  Bruno Haible  <bruno@clisp.org>
62809
62810         Fix link error due to xalloc_die().
62811         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
62812         of xreadlink.
62813         * lib/relocwrapper.c: Update comments.
62814         * build-aux/install-reloc: Remove xreadlink.c from file list.
62815         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
62816         xreadlink.c.
62817         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62818
62819 2007-12-24  Bruno Haible  <bruno@clisp.org>
62820
62821         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
62822         * lib/setenv.h: Remove file.
62823         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
62824         lib/setenv.h.
62825         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
62826         (Depends-on): Add stdlib.
62827         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
62828         gl_FUNC_UNSETENV.
62829         (Include): Replace setenv.h with <stdlib.h>.
62830         * modules/unsetenv: New file.
62831         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
62832         * lib/unsetenv.c: Include <stdlib.h> first.
62833         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
62834         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
62835         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
62836         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
62837         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
62838         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62839         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
62840         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62841         * doc/functions/unsetenv.texi: Update.
62842         * modules/xsetenv (Depends-on): Add unsetenv.
62843         * modules/getdate (Depends-on): Likewise.
62844         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
62845         * lib/xsetenv.c: Don't include setenv.h.
62846         * lib/getdate.y: Likewise.
62847         * lib/relocwrapper.c: Likewise.
62848         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
62849         (Depends-on): Add stdlib.
62850         * NEWS: Mention the changes.
62851         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62852
62853 2007-12-23  Bruno Haible  <bruno@clisp.org>
62854
62855         * lib/memmem.c (memmem): Use lowercase variable names. Tab
62856         indentation.
62857
62858 2007-12-23  Bruno Haible  <bruno@clisp.org>
62859
62860         * lib/c-strcasestr.c: Add more comments.
62861         * lib/c-strstr.c: Likewise.
62862         * lib/mbscasestr.c: Likewise.
62863         * lib/mbsstr.c: Likewise.
62864         * lib/strcasestr.c: Likewise.
62865         * lib/memmem.c: Likewise.
62866
62867 2007-12-23  Bruno Haible  <bruno@clisp.org>
62868
62869         * tests/test-memmem.c: Include <string.h> first.
62870
62871 2007-12-22  Bruno Haible  <bruno@clisp.org>
62872
62873         * gnulib-tool (func_create_testdir): Change $auxdir while generating
62874         the contents of $testsbase.
62875         Reported by Ralf Wildenhues.
62876
62877 2007-12-22  Bruno Haible  <bruno@clisp.org>
62878
62879         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
62880         two variables local_ldadd_before, local_ldadd_last.
62881
62882 2007-12-20  Eric Blake  <ebb9@byu.net>
62883
62884         Work around circular library issue when cross-compiling.
62885         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
62886         that progname.o does not need to pull in rpl_memcmp.
62887
62888 2007-12-19  Eric Blake  <ebb9@byu.net>
62889
62890         Fix memmem to avoid O(n^2) worst-case complexity.
62891         * lib/memmem.c (knuth_morris_pratt): New function.
62892         (memmem): Use it if first few naive iterations fail.
62893         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
62894         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
62895         * modules/memchr (License): Likewise.
62896         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
62897         malloca.
62898         * tests/test-memmem.c: Rewrite, borrowing ideas from
62899         test-mbsstr1.c; the old version wouldn't even compile!
62900         * modules/memmem-tests: New file.
62901         * lib/string.in.h (rpl_memmem): Add declaration.
62902         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
62903         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
62904         REPLACE_MEMMEM.
62905
62906 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62907
62908         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
62909         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
62910         before any system include files, and undef after them all.  This
62911         should fix a problem on VMS reported by John E. Malmberg in
62912         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
62913
62914 2007-12-17  Eric Blake  <ebb9@byu.net>
62915
62916         Revert addition of verify, for BSD/OS.
62917         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
62918         can't handle large files, for the sake of obsolete platforms.
62919         * modules/fseeko (Depends-on): Remove verify.
62920         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
62921         * doc/functions/ftello.texi (ftello): Likewise.
62922         * doc/functions/fgetpos.texi (fgetpos): Likewise.
62923         Reported by Larry Jones.
62924
62925 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
62926
62927         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
62928         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
62929
62930 2007-12-17  Jim Meyering  <meyering@redhat.com>
62931
62932         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
62933         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
62934         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
62935         * modules/getcwd (Depends-on): Add openat.
62936         Reported by Petr Salinger.
62937
62938 2007-12-17  Bruno Haible  <bruno@clisp.org>
62939
62940         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
62941         avoid a segmentation fault of the configure test on x86_64 systems.
62942
62943 2007-12-15  Jim Meyering  <meyering@redhat.com>
62944
62945         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
62946
62947 2007-12-13  Eric Blake  <ebb9@byu.net>
62948
62949         Another fseek test.
62950         * tests/test-fseek.c (main): Also test ungetc handling.
62951         * tests/test-fseeko.c (main): Likewise.
62952         * modules/fseeko (Depends-on): Add verify.
62953         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
62954         large.
62955         Reported by Larry Jones.
62956
62957         Fix fseeko on mingw.
62958         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
62959         seek.
62960
62961         Beef up fseek tests.
62962         * tests/test-fseek.c (main): Also test eof handling.
62963         * tests/test-fseeko.c (main): Likewise.
62964         Reported by Larry Jones.
62965
62966 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
62967
62968         Fix fseeko on BSD-based platforms.
62969         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
62970         successful seek.
62971
62972 2007-12-12  Eric Blake  <ebb9@byu.net>
62973
62974         Allow circular dependency of separate libtests.a
62975         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
62976         when use_libtests.
62977
62978 2007-12-11  Eric Blake  <ebb9@byu.net>
62979
62980         Fix bug with -0.0L in previous patch.
62981         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
62982         * tests/test-isnan.c (main): Also test on zeroes.
62983         * tests/test-isnanf.c (main): Likewise.
62984         * tests/test-isnanl.h (main): Likewise.
62985
62986         Detect pseudo-denormals on x86 even when cross-compiling.
62987         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
62988         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
62989         invalid bit patterns that happen to satisfy ==.
62990
62991         Avoid link failures with separate libtests.a.
62992         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
62993         last, to satisfy circular dependencies.
62994
62995 2007-12-11  Eric Blake  <ebb9@byu.net>
62996         and Bruno Haible  <bruno@clisp.org>
62997
62998         Fix OpenBSD 4.0 <float.h> handling of long double.
62999         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
63000         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
63001         * doc/headers/float.texi (float.h): Document OpenBSD bug.
63002
63003 2007-12-11  Jim Meyering  <meyering@redhat.com>
63004
63005         * users.txt: Add libvirt.
63006
63007         Support versions of autoconf prior to 2.59c.
63008         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
63009         if it is not already defined.
63010
63011 2007-12-09  Bruno Haible  <bruno@clisp.org>
63012
63013         Let 'gnulib-tool --import' collect sources needed for the tests in
63014         tests/ rather than in lib/.
63015         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
63016         argument. If true, add rules to generate libtests.a, and put libtests.a
63017         into $(LDADD). Consider source files in subdirectories and set
63018         uses_subdirs.
63019         (func_emit_initmacro_start, func_emit_initmacro_end,
63020         func_emit_initmacro_done): Pass all arguments explicitly.
63021         (func_import): Determine two module lists main_modules,
63022         testsrelated_modules. Determine use_libtests. Determine two variables
63023         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
63024         instead of just sed_transform_lib_file. Determine two variables
63025         main_files and testsrelated_files. Compute 'files' as the union of
63026         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
63027         func_add_or_update. In the generated gnulib-comp.m4, collect the
63028         object files for tests/ in different variables than those for lib/.
63029         Substitute LIBTESTS_LIBDEPS.
63030         (func_create_testdir): Combine the uses_subdirs results from
63031         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
63032
63033 2007-12-09  Bruno Haible  <bruno@clisp.org>
63034
63035         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
63036         the build-aux directory.
63037
63038 2007-12-09  Bruno Haible  <bruno@clisp.org>
63039
63040         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
63041         introduced on 2006-09-09.
63042
63043 2007-12-07  Jim Meyering  <meyering@redhat.com>
63044
63045         Let these macros work also with autoconf-2.59.
63046         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
63047         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
63048         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63049
63050 2007-12-06  Jim Meyering  <meyering@redhat.com>
63051
63052         Avoid a configure-time syntax error in gl_FUNC_ACL.
63053         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
63054         function in each branch, before testing the cache variable.
63055
63056 2007-12-04  Eric Blake  <ebb9@byu.net>
63057
63058         Make scripts executable.
63059         * build-aux/config.guess: Add execute permissions.
63060         * build-aux/config.sub: Likewise.
63061         * build-aux/gendocs.sh: Likewise.
63062
63063         Fix frexp on mingw.
63064         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
63065         cross-compiling.
63066         * doc/functions/frexp.texi (frexp): Document the bug.
63067
63068         Make cygwin fseeko check more reliable.
63069         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
63070         version numbers, rather than unrelated feature check.
63071         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
63072         * doc/functions/ftello.texi (ftello): Likewise.
63073         Reported by Bruno Haible.
63074
63075         * m4/strerror.m4: Bump version number.
63076
63077 2007-12-03  Bruno Haible  <bruno@clisp.org>
63078
63079         * doc/functions/mprotect.texi: Mention the mingw problem.
63080
63081 2007-12-03  Eric Blake  <ebb9@byu.net>
63082
63083         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
63084         REPLACE_STRERROR is initialized before this macro.
63085
63086 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
63087
63088         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
63089         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
63090         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
63091         put -lsec in even for programs other than 'ls'.  This fixes a problem
63092         for gettext reported by Bruno Haible in
63093         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
63094         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
63095         Add support for Solaris 10.  This isn't efficient, but should get the
63096         job done for now.
63097
63098 2007-12-03  James Youngman  <jay@gnu.org>
63099
63100         * doc/regexprops-generic.texi: change "an close-group" to "a
63101         close-group" and "illegal" to "not allowed".
63102
63103 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63104
63105         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
63106         pr_byname.h. Needed for the rare case when the maintainer has done
63107         "make maintainer-clean" in the source directory and then attempts a
63108         build outside the source directory.
63109         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
63110         scripts_byname.h.
63111
63112 2007-12-02  Martin Lambers <marlam@marlam.de>
63113             Bruno Haible  <bruno@clisp.org>
63114
63115         * lib/getpagesize.h: Remove file.
63116         * lib/unistd.in.h: Include declaration of getpagesize here.
63117         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
63118         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
63119         HAVE_SYS_PARAM_H.
63120         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
63121         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63122         * modules/getpagesize (Files): Remove lib/getpagesize.h.
63123         (Depends-on): Add unistd.
63124         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63125         (Include): Use <unistd.h> instead of getpagesize.h.
63126         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
63127         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63128         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
63129         gl_GETPAGESIZE invocation, already handled by module dependency.
63130         * lib/pagealign_alloc.c: Don't include getpagesize.h.
63131
63132 2007-12-02  Bruno Haible  <bruno@clisp.org>
63133
63134         * modules/strings-tests: New file.
63135         * tests/test-strings.c: New file.
63136
63137         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
63138         * lib/strings.in.h: New file.
63139         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
63140         * m4/strings_h.m4: New file.
63141         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
63142         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
63143         * modules/strings: New file.
63144         * modules/string (Makefile.am): Update.
63145         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
63146         Reported by Karl Berry.
63147
63148 2007-12-01  Eric Blake  <ebb9@byu.net>
63149
63150         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
63151         accommodate fix in cygwin 1.5.25.
63152
63153 2007-12-01  Jim Meyering  <meyering@redhat.com>
63154
63155         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
63156         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
63157         that would inhibit utf8-optimization of a regexp containing line-
63158         or buffer-anchors, e.g., `^', `$'.
63159
63160 2007-11-30  Bruno Haible  <bruno@clisp.org>
63161
63162         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
63163         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
63164         glthread_recursive_lock_init.
63165         * lib/lock.c (glthread_recursive_lock_init)
63166         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
63167         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63168
63169 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
63170
63171         New function qset_acl, like set_acl but with syscall semantics.
63172         * lib/acl.h (qset_acl): New decl.
63173         * lib/acl.c (qset_acl): New function.
63174         (set_acl): Use new function.  Use more-consistent diagnostics.
63175
63176 2007-11-28  Jim Meyering  <meyering@redhat.com>
63177
63178         * modules/physmem (License): Change from GPL to LGPLv2+.
63179
63180 2007-11-26  Bruno Haible  <bruno@clisp.org>
63181
63182         * lib/vasnprintf.c (decode_long_double): Don't abort if the
63183         'long double' type has excess precision.
63184         Reported by Jim Meyering in
63185         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
63186
63187 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63188
63189         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
63190         Sync from <http://gnu.org/licenses>.
63191         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
63192         with license text from same location.
63193         * doc/maintain.texi, doc/standards.texi:  Sync from
63194         <http://savannah.gnu.org/projects/gnustandards>.
63195
63196 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
63197         and Jim Meyering  <meyering@redhat.com>
63198
63199         Adjust getdate' grammar to accept a slightly more regular language.
63200         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
63201         Before, the former was rejected.
63202         * lib/getdate.y (digits_to_date_time): New function, factored
63203         out of ...
63204         (number): ...here.  Just call digits_to_date_time.
63205         (hybrid): New non-terminal to handle an <unsigned number,
63206         signed relative offset> sequence consistently.
63207
63208 2007-11-18  Jim Meyering  <meyering@redhat.com>
63209
63210         Pull my changes from coreutils:
63211         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
63212         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
63213         use of $gnulib_tool_option_extras, so that it's separated from the
63214         preceding argument.
63215
63216         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
63217         * build-aux/bootstrap (cp_mark_as_generated): Create any required
63218         parent destination directories before copying a file into place.
63219
63220 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
63221
63222         bootstrap: work also with 4-argument variant of AC_INIT
63223         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
63224
63225 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63226
63227         Port test-getaddrinfo to Solaris.
63228         Problem reported by Bruno Haible in
63229         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
63230         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
63231         explanation of setting 'hints'.
63232         Don't reject an implementation merely because it returns EAI_SERVICE.
63233         (EAI_SERVICE): Define to 0 if not defined.
63234
63235 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63236
63237         The license of gnu-make and posix-shell is now "GPLed build tool".
63238         * modules/gnu-make (License): Likewise.
63239         * modules/posix-shell (License): Likewise.
63240
63241         New module posix-shell, for determining a POSIX shell
63242         or perhaps something that is close enough to a POSIX shell.
63243         * m4/posix-shell.m4: New file.
63244         * modules/posix-shell: New file.
63245
63246         * MODULES.html.sh: Mention new module.
63247
63248         New module gnu-make, for determining whether we're using GNU Make.
63249         * m4/gnu-make.m4: New file.
63250         * modules/gnu-make: New file.
63251         * MODULES.html.sh: Mention new module.
63252
63253 2007-11-14  Jim Meyering  <meyering@redhat.com>
63254
63255         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
63256         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
63257         use this macro to create a function _definition_.
63258         Remove useless "#undef ARGMATCH_DIE".
63259
63260 2007-11-14  Bruno Haible  <bruno@clisp.org>
63261
63262         * lib/config.charset: Update for OpenBSD 4.1.
63263         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
63264
63265 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
63266
63267         Document 64-bit #if problems in stdint.texi.
63268         * doc/headers/stdint.texi (stdint.h): Mention problems with
63269         64-bit-#if, and how to work around them.
63270
63271         Don't insist on 'long long int' support in the preprocessor.  It
63272         breaks too many things.  For example, PRIdMAX still uses a 'long
63273         long int' format with the latest Sun compiler, even though
63274         HAVE_LONG_LONG_INT isn't defined due to that compiler's
63275         preprocessor problem.  This causes the latest coreutils to dump
63276         core on Solaris 10 sparc with the Sun C compiler.
63277         Instead, fix the 2007-10-16 problem in a different way, by evaluating
63278         the troublesome expressions at configure-time, not at #if-time.
63279         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
63280         preprocessor.
63281         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
63282         compile-time C checks, done at 'configure'-time.
63283         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
63284         * modules/inttypes (Makefile): Substitute the new symbols that
63285         gl_INTTYPES_H now generates.
63286         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
63287
63288 2007-11-12  Bruno Haible  <bruno@clisp.org>
63289
63290         Tests for Unicode character classification functions.
63291
63292         * modules/unictype/bidicategory-byname-tests: New file.
63293         * modules/unictype/bidicategory-name-tests: New file.
63294         * modules/unictype/bidicategory-of-tests: New file.
63295         * modules/unictype/bidicategory-test-tests: New file.
63296         * modules/unictype/block-list-tests: New file.
63297         * modules/unictype/block-of-tests: New file.
63298         * modules/unictype/block-test-tests: New file.
63299         * modules/unictype/category-C-tests: New file.
63300         * modules/unictype/category-Cc-tests: New file.
63301         * modules/unictype/category-Cf-tests: New file.
63302         * modules/unictype/category-Cn-tests: New file.
63303         * modules/unictype/category-Co-tests: New file.
63304         * modules/unictype/category-Cs-tests: New file.
63305         * modules/unictype/category-L-tests: New file.
63306         * modules/unictype/category-Ll-tests: New file.
63307         * modules/unictype/category-Lm-tests: New file.
63308         * modules/unictype/category-Lo-tests: New file.
63309         * modules/unictype/category-Lt-tests: New file.
63310         * modules/unictype/category-Lu-tests: New file.
63311         * modules/unictype/category-M-tests: New file.
63312         * modules/unictype/category-Mc-tests: New file.
63313         * modules/unictype/category-Me-tests: New file.
63314         * modules/unictype/category-Mn-tests: New file.
63315         * modules/unictype/category-N-tests: New file.
63316         * modules/unictype/category-Nd-tests: New file.
63317         * modules/unictype/category-Nl-tests: New file.
63318         * modules/unictype/category-No-tests: New file.
63319         * modules/unictype/category-P-tests: New file.
63320         * modules/unictype/category-Pc-tests: New file.
63321         * modules/unictype/category-Pd-tests: New file.
63322         * modules/unictype/category-Pe-tests: New file.
63323         * modules/unictype/category-Pf-tests: New file.
63324         * modules/unictype/category-Pi-tests: New file.
63325         * modules/unictype/category-Po-tests: New file.
63326         * modules/unictype/category-Ps-tests: New file.
63327         * modules/unictype/category-S-tests: New file.
63328         * modules/unictype/category-Sc-tests: New file.
63329         * modules/unictype/category-Sk-tests: New file.
63330         * modules/unictype/category-Sm-tests: New file.
63331         * modules/unictype/category-So-tests: New file.
63332         * modules/unictype/category-Z-tests: New file.
63333         * modules/unictype/category-Zl-tests: New file.
63334         * modules/unictype/category-Zp-tests: New file.
63335         * modules/unictype/category-Zs-tests: New file.
63336         * modules/unictype/category-and-not-tests: New file.
63337         * modules/unictype/category-and-tests: New file.
63338         * modules/unictype/category-byname-tests: New file.
63339         * modules/unictype/category-name-tests: New file.
63340         * modules/unictype/category-none-tests: New file.
63341         * modules/unictype/category-of-tests: New file.
63342         * modules/unictype/category-or-tests: New file.
63343         * modules/unictype/category-test-withtable-tests: New file.
63344         * modules/unictype/combining-class-tests: New file.
63345         * modules/unictype/ctype-alnum-tests: New file.
63346         * modules/unictype/ctype-alpha-tests: New file.
63347         * modules/unictype/ctype-blank-tests: New file.
63348         * modules/unictype/ctype-cntrl-tests: New file.
63349         * modules/unictype/ctype-digit-tests: New file.
63350         * modules/unictype/ctype-graph-tests: New file.
63351         * modules/unictype/ctype-lower-tests: New file.
63352         * modules/unictype/ctype-print-tests: New file.
63353         * modules/unictype/ctype-punct-tests: New file.
63354         * modules/unictype/ctype-space-tests: New file.
63355         * modules/unictype/ctype-upper-tests: New file.
63356         * modules/unictype/ctype-xdigit-tests: New file.
63357         * modules/unictype/decimal-digit-tests: New file.
63358         * modules/unictype/digit-tests: New file.
63359         * modules/unictype/mirror-tests: New file.
63360         * modules/unictype/numeric-tests: New file.
63361         * modules/unictype/property-alphabetic-tests: New file.
63362         * modules/unictype/property-ascii-hex-digit-tests: New file.
63363         * modules/unictype/property-bidi-arabic-digit-tests: New file.
63364         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
63365         * modules/unictype/property-bidi-block-separator-tests: New file.
63366         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
63367         * modules/unictype/property-bidi-common-separator-tests: New file.
63368         * modules/unictype/property-bidi-control-tests: New file.
63369         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
63370         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
63371         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
63372         * modules/unictype/property-bidi-european-digit-tests: New file.
63373         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
63374         * modules/unictype/property-bidi-left-to-right-tests: New file.
63375         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
63376         * modules/unictype/property-bidi-other-neutral-tests: New file.
63377         * modules/unictype/property-bidi-pdf-tests: New file.
63378         * modules/unictype/property-bidi-segment-separator-tests: New file.
63379         * modules/unictype/property-bidi-whitespace-tests: New file.
63380         * modules/unictype/property-byname-tests: New file.
63381         * modules/unictype/property-combining-tests: New file.
63382         * modules/unictype/property-composite-tests: New file.
63383         * modules/unictype/property-currency-symbol-tests: New file.
63384         * modules/unictype/property-dash-tests: New file.
63385         * modules/unictype/property-decimal-digit-tests: New file.
63386         * modules/unictype/property-default-ignorable-code-point-tests: New file.
63387         * modules/unictype/property-deprecated-tests: New file.
63388         * modules/unictype/property-diacritic-tests: New file.
63389         * modules/unictype/property-extender-tests: New file.
63390         * modules/unictype/property-format-control-tests: New file.
63391         * modules/unictype/property-grapheme-base-tests: New file.
63392         * modules/unictype/property-grapheme-extend-tests: New file.
63393         * modules/unictype/property-grapheme-link-tests: New file.
63394         * modules/unictype/property-hex-digit-tests: New file.
63395         * modules/unictype/property-hyphen-tests: New file.
63396         * modules/unictype/property-id-continue-tests: New file.
63397         * modules/unictype/property-id-start-tests: New file.
63398         * modules/unictype/property-ideographic-tests: New file.
63399         * modules/unictype/property-ids-binary-operator-tests: New file.
63400         * modules/unictype/property-ids-trinary-operator-tests: New file.
63401         * modules/unictype/property-ignorable-control-tests: New file.
63402         * modules/unictype/property-iso-control-tests: New file.
63403         * modules/unictype/property-join-control-tests: New file.
63404         * modules/unictype/property-left-of-pair-tests: New file.
63405         * modules/unictype/property-line-separator-tests: New file.
63406         * modules/unictype/property-logical-order-exception-tests: New file.
63407         * modules/unictype/property-lowercase-tests: New file.
63408         * modules/unictype/property-math-tests: New file.
63409         * modules/unictype/property-non-break-tests: New file.
63410         * modules/unictype/property-not-a-character-tests: New file.
63411         * modules/unictype/property-numeric-tests: New file.
63412         * modules/unictype/property-other-alphabetic-tests: New file.
63413         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
63414         * modules/unictype/property-other-grapheme-extend-tests: New file.
63415         * modules/unictype/property-other-id-continue-tests: New file.
63416         * modules/unictype/property-other-id-start-tests: New file.
63417         * modules/unictype/property-other-lowercase-tests: New file.
63418         * modules/unictype/property-other-math-tests: New file.
63419         * modules/unictype/property-other-uppercase-tests: New file.
63420         * modules/unictype/property-paired-punctuation-tests: New file.
63421         * modules/unictype/property-paragraph-separator-tests: New file.
63422         * modules/unictype/property-pattern-syntax-tests: New file.
63423         * modules/unictype/property-pattern-white-space-tests: New file.
63424         * modules/unictype/property-private-use-tests: New file.
63425         * modules/unictype/property-punctuation-tests: New file.
63426         * modules/unictype/property-quotation-mark-tests: New file.
63427         * modules/unictype/property-radical-tests: New file.
63428         * modules/unictype/property-sentence-terminal-tests: New file.
63429         * modules/unictype/property-soft-dotted-tests: New file.
63430         * modules/unictype/property-space-tests: New file.
63431         * modules/unictype/property-terminal-punctuation-tests: New file.
63432         * modules/unictype/property-test-tests: New file.
63433         * modules/unictype/property-titlecase-tests: New file.
63434         * modules/unictype/property-unassigned-code-value-tests: New file.
63435         * modules/unictype/property-unified-ideograph-tests: New file.
63436         * modules/unictype/property-uppercase-tests: New file.
63437         * modules/unictype/property-variation-selector-tests: New file.
63438         * modules/unictype/property-white-space-tests: New file.
63439         * modules/unictype/property-xid-continue-tests: New file.
63440         * modules/unictype/property-xid-start-tests: New file.
63441         * modules/unictype/property-zero-width-tests: New file.
63442         * modules/unictype/scripts-tests: New file.
63443         * modules/unictype/syntax-c-ident-tests: New file.
63444         * modules/unictype/syntax-c-whitespace-tests: New file.
63445         * modules/unictype/syntax-java-ident-tests: New file.
63446         * modules/unictype/syntax-java-whitespace-tests: New file.
63447         * tests/unictype/test-bidi_byname.c: New file.
63448         * tests/unictype/test-bidi_name.c: New file.
63449         * tests/unictype/test-bidi_of.c: New file.
63450         * tests/unictype/test-bidi_test.c: New file.
63451         * tests/unictype/test-block_list.c: New file.
63452         * tests/unictype/test-block_of.c: New file.
63453         * tests/unictype/test-block_test.c: New file.
63454         * tests/unictype/test-categ_and.c: New file.
63455         * tests/unictype/test-categ_and_not.c: New file.
63456         * tests/unictype/test-categ_byname.c: New file.
63457         * tests/unictype/test-categ_name.c: New file.
63458         * tests/unictype/test-categ_none.c: New file.
63459         * tests/unictype/test-categ_of.c: New file.
63460         * tests/unictype/test-categ_or.c: New file.
63461         * tests/unictype/test-categ_test_withtable.c: New file.
63462         * tests/unictype/test-combining.c: New file.
63463         * tests/unictype/test-decdigit.c: New file.
63464         * tests/unictype/test-digit.c: New file.
63465         * tests/unictype/test-mirror.c: New file.
63466         * tests/unictype/test-numeric.c: New file.
63467         * tests/unictype/test-pr_byname.c: New file.
63468         * tests/unictype/test-pr_test.c: New file.
63469         * tests/unictype/test-predicate-part1.h: New file.
63470         * tests/unictype/test-predicate-part2.h: New file.
63471         * tests/unictype/test-scripts.c: New file.
63472         * tests/unictype/test-sy_c_ident.c: New file.
63473         * tests/unictype/test-sy_java_ident.c: New file.
63474
63475         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
63476         for Unicode 5.0.0.
63477         * tests/unictype/test-categ_Cc.c: Likewise.
63478         * tests/unictype/test-categ_Cf.c: Likewise.
63479         * tests/unictype/test-categ_Cn.c: Likewise.
63480         * tests/unictype/test-categ_Co.c: Likewise.
63481         * tests/unictype/test-categ_Cs.c: Likewise.
63482         * tests/unictype/test-categ_L.c: Likewise.
63483         * tests/unictype/test-categ_Ll.c: Likewise.
63484         * tests/unictype/test-categ_Lm.c: Likewise.
63485         * tests/unictype/test-categ_Lo.c: Likewise.
63486         * tests/unictype/test-categ_Lt.c: Likewise.
63487         * tests/unictype/test-categ_Lu.c: Likewise.
63488         * tests/unictype/test-categ_M.c: Likewise.
63489         * tests/unictype/test-categ_Mc.c: Likewise.
63490         * tests/unictype/test-categ_Me.c: Likewise.
63491         * tests/unictype/test-categ_Mn.c: Likewise.
63492         * tests/unictype/test-categ_N.c: Likewise.
63493         * tests/unictype/test-categ_Nd.c: Likewise.
63494         * tests/unictype/test-categ_Nl.c: Likewise.
63495         * tests/unictype/test-categ_No.c: Likewise.
63496         * tests/unictype/test-categ_P.c: Likewise.
63497         * tests/unictype/test-categ_Pc.c: Likewise.
63498         * tests/unictype/test-categ_Pd.c: Likewise.
63499         * tests/unictype/test-categ_Pe.c: Likewise.
63500         * tests/unictype/test-categ_Pf.c: Likewise.
63501         * tests/unictype/test-categ_Pi.c: Likewise.
63502         * tests/unictype/test-categ_Po.c: Likewise.
63503         * tests/unictype/test-categ_Ps.c: Likewise.
63504         * tests/unictype/test-categ_S.c: Likewise.
63505         * tests/unictype/test-categ_Sc.c: Likewise.
63506         * tests/unictype/test-categ_Sk.c: Likewise.
63507         * tests/unictype/test-categ_Sm.c: Likewise.
63508         * tests/unictype/test-categ_So.c: Likewise.
63509         * tests/unictype/test-categ_Z.c: Likewise.
63510         * tests/unictype/test-categ_Zl.c: Likewise.
63511         * tests/unictype/test-categ_Zp.c: Likewise.
63512         * tests/unictype/test-categ_Zs.c: Likewise.
63513         * tests/unictype/test-ctype_alnum.c: Likewise.
63514         * tests/unictype/test-ctype_alpha.c: Likewise.
63515         * tests/unictype/test-ctype_blank.c: Likewise.
63516         * tests/unictype/test-ctype_cntrl.c: Likewise.
63517         * tests/unictype/test-ctype_digit.c: Likewise.
63518         * tests/unictype/test-ctype_graph.c: Likewise.
63519         * tests/unictype/test-ctype_lower.c: Likewise.
63520         * tests/unictype/test-ctype_print.c: Likewise.
63521         * tests/unictype/test-ctype_punct.c: Likewise.
63522         * tests/unictype/test-ctype_space.c: Likewise.
63523         * tests/unictype/test-ctype_upper.c: Likewise.
63524         * tests/unictype/test-ctype_xdigit.c: Likewise.
63525         * tests/unictype/test-decdigit.h: Likewise.
63526         * tests/unictype/test-digit.h: Likewise.
63527         * tests/unictype/test-numeric.h: Likewise.
63528         * tests/unictype/test-pr_alphabetic.c: Likewise.
63529         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
63530         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
63531         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
63532         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
63533         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
63534         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
63535         * tests/unictype/test-pr_bidi_control.c: Likewise.
63536         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
63537         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
63538         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
63539         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
63540         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
63541         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
63542         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
63543         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
63544         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
63545         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
63546         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
63547         * tests/unictype/test-pr_combining.c: Likewise.
63548         * tests/unictype/test-pr_composite.c: Likewise.
63549         * tests/unictype/test-pr_currency_symbol.c: Likewise.
63550         * tests/unictype/test-pr_dash.c: Likewise.
63551         * tests/unictype/test-pr_decimal_digit.c: Likewise.
63552         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
63553         * tests/unictype/test-pr_deprecated.c: Likewise.
63554         * tests/unictype/test-pr_diacritic.c: Likewise.
63555         * tests/unictype/test-pr_extender.c: Likewise.
63556         * tests/unictype/test-pr_format_control.c: Likewise.
63557         * tests/unictype/test-pr_grapheme_base.c: Likewise.
63558         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
63559         * tests/unictype/test-pr_grapheme_link.c: Likewise.
63560         * tests/unictype/test-pr_hex_digit.c: Likewise.
63561         * tests/unictype/test-pr_hyphen.c: Likewise.
63562         * tests/unictype/test-pr_id_continue.c: Likewise.
63563         * tests/unictype/test-pr_id_start.c: Likewise.
63564         * tests/unictype/test-pr_ideographic.c: Likewise.
63565         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
63566         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
63567         * tests/unictype/test-pr_ignorable_control.c: Likewise.
63568         * tests/unictype/test-pr_iso_control.c: Likewise.
63569         * tests/unictype/test-pr_join_control.c: Likewise.
63570         * tests/unictype/test-pr_left_of_pair.c: Likewise.
63571         * tests/unictype/test-pr_line_separator.c: Likewise.
63572         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
63573         * tests/unictype/test-pr_lowercase.c: Likewise.
63574         * tests/unictype/test-pr_math.c: Likewise.
63575         * tests/unictype/test-pr_non_break.c: Likewise.
63576         * tests/unictype/test-pr_not_a_character.c: Likewise.
63577         * tests/unictype/test-pr_numeric.c: Likewise.
63578         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
63579         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
63580         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
63581         * tests/unictype/test-pr_other_id_continue.c: Likewise.
63582         * tests/unictype/test-pr_other_id_start.c: Likewise.
63583         * tests/unictype/test-pr_other_lowercase.c: Likewise.
63584         * tests/unictype/test-pr_other_math.c: Likewise.
63585         * tests/unictype/test-pr_other_uppercase.c: Likewise.
63586         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
63587         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
63588         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
63589         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
63590         * tests/unictype/test-pr_private_use.c: Likewise.
63591         * tests/unictype/test-pr_punctuation.c: Likewise.
63592         * tests/unictype/test-pr_quotation_mark.c: Likewise.
63593         * tests/unictype/test-pr_radical.c: Likewise.
63594         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
63595         * tests/unictype/test-pr_soft_dotted.c: Likewise.
63596         * tests/unictype/test-pr_space.c: Likewise.
63597         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
63598         * tests/unictype/test-pr_titlecase.c: Likewise.
63599         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
63600         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
63601         * tests/unictype/test-pr_uppercase.c: Likewise.
63602         * tests/unictype/test-pr_variation_selector.c: Likewise.
63603         * tests/unictype/test-pr_white_space.c: Likewise.
63604         * tests/unictype/test-pr_xid_continue.c: Likewise.
63605         * tests/unictype/test-pr_xid_start.c: Likewise.
63606         * tests/unictype/test-pr_zero_width.c: Likewise.
63607         * tests/unictype/test-sy_c_whitespace.c: Likewise.
63608         * tests/unictype/test-sy_java_whitespace.c: Likewise.
63609
63610 2007-11-12  Bruno Haible  <bruno@clisp.org>
63611
63612         Unicode character classification functions.
63613         * lib/unictype.h: New file.
63614         * modules/unictype/base: New file.
63615         * modules/unictype/category-L: New file.
63616         * modules/unictype/category-Lu: New file.
63617         * modules/unictype/category-Ll: New file.
63618         * modules/unictype/category-Lt: New file.
63619         * modules/unictype/category-Lm: New file.
63620         * modules/unictype/category-Lo: New file.
63621         * modules/unictype/category-M: New file.
63622         * modules/unictype/category-Mn: New file.
63623         * modules/unictype/category-Mc: New file.
63624         * modules/unictype/category-Me: New file.
63625         * modules/unictype/category-N: New file.
63626         * modules/unictype/category-Nd: New file.
63627         * modules/unictype/category-Nl: New file.
63628         * modules/unictype/category-No: New file.
63629         * modules/unictype/category-P: New file.
63630         * modules/unictype/category-Pc: New file.
63631         * modules/unictype/category-Pd: New file.
63632         * modules/unictype/category-Ps: New file.
63633         * modules/unictype/category-Pe: New file.
63634         * modules/unictype/category-Pi: New file.
63635         * modules/unictype/category-Pf: New file.
63636         * modules/unictype/category-Po: New file.
63637         * modules/unictype/category-S: New file.
63638         * modules/unictype/category-Sm: New file.
63639         * modules/unictype/category-Sc: New file.
63640         * modules/unictype/category-Sk: New file.
63641         * modules/unictype/category-So: New file.
63642         * modules/unictype/category-Z: New file.
63643         * modules/unictype/category-Zs: New file.
63644         * modules/unictype/category-Zl: New file.
63645         * modules/unictype/category-Zp: New file.
63646         * modules/unictype/category-C: New file.
63647         * modules/unictype/category-Cc: New file.
63648         * modules/unictype/category-Cf: New file.
63649         * modules/unictype/category-Cs: New file.
63650         * modules/unictype/category-Co: New file.
63651         * modules/unictype/category-Cn: New file.
63652         * modules/unictype/category-or: New file.
63653         * modules/unictype/category-of: New file.
63654         * modules/unictype/category-test: New file.
63655         * modules/unictype/category-test-withtable: New file.
63656         * modules/unictype/category-byname: New file.
63657         * modules/unictype/category-none: New file.
63658         * modules/unictype/category-and: New file.
63659         * modules/unictype/category-and-not: New file.
63660         * modules/unictype/category-name: New file.
63661         * modules/unictype/combining-class: New file.
63662         * modules/unictype/category-all: New file.
63663         * modules/unictype/bidicategory-all: New file.
63664         * modules/unictype/bidicategory-byname: New file.
63665         * modules/unictype/bidicategory-name: New file.
63666         * modules/unictype/bidicategory-of: New file.
63667         * modules/unictype/bidicategory-test: New file.
63668         * modules/unictype/decimal-digit: New file.
63669         * modules/unictype/digit: New file.
63670         * modules/unictype/numeric: New file.
63671         * modules/unictype/mirror: New file.
63672         * modules/unictype/property-white-space: New file.
63673         * modules/unictype/property-alphabetic: New file.
63674         * modules/unictype/property-other-alphabetic: New file.
63675         * modules/unictype/property-not-a-character: New file.
63676         * modules/unictype/property-default-ignorable-code-point: New file.
63677         * modules/unictype/property-other-default-ignorable-code-point: New
63678         file.
63679         * modules/unictype/property-deprecated: New file.
63680         * modules/unictype/property-logical-order-exception: New file.
63681         * modules/unictype/property-variation-selector: New file.
63682         * modules/unictype/property-private-use: New file.
63683         * modules/unictype/property-unassigned-code-value: New file.
63684         * modules/unictype/property-uppercase: New file.
63685         * modules/unictype/property-other-uppercase: New file.
63686         * modules/unictype/property-lowercase: New file.
63687         * modules/unictype/property-other-lowercase: New file.
63688         * modules/unictype/property-titlecase: New file.
63689         * modules/unictype/property-soft-dotted: New file.
63690         * modules/unictype/property-id-start: New file.
63691         * modules/unictype/property-other-id-start: New file.
63692         * modules/unictype/property-id-continue: New file.
63693         * modules/unictype/property-other-id-continue: New file.
63694         * modules/unictype/property-xid-start: New file.
63695         * modules/unictype/property-xid-continue: New file.
63696         * modules/unictype/property-pattern-white-space: New file.
63697         * modules/unictype/property-pattern-syntax: New file.
63698         * modules/unictype/property-join-control: New file.
63699         * modules/unictype/property-grapheme-base: New file.
63700         * modules/unictype/property-grapheme-extend: New file.
63701         * modules/unictype/property-other-grapheme-extend: New file.
63702         * modules/unictype/property-grapheme-link: New file.
63703         * modules/unictype/property-bidi-control: New file.
63704         * modules/unictype/property-bidi-left-to-right: New file.
63705         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
63706         * modules/unictype/property-bidi-arabic-right-to-left: New file.
63707         * modules/unictype/property-bidi-european-digit: New file.
63708         * modules/unictype/property-bidi-eur-num-separator: New file.
63709         * modules/unictype/property-bidi-eur-num-terminator: New file.
63710         * modules/unictype/property-bidi-arabic-digit: New file.
63711         * modules/unictype/property-bidi-common-separator: New file.
63712         * modules/unictype/property-bidi-block-separator: New file.
63713         * modules/unictype/property-bidi-segment-separator: New file.
63714         * modules/unictype/property-bidi-whitespace: New file.
63715         * modules/unictype/property-bidi-non-spacing-mark: New file.
63716         * modules/unictype/property-bidi-boundary-neutral: New file.
63717         * modules/unictype/property-bidi-pdf: New file.
63718         * modules/unictype/property-bidi-embedding-or-override: New file.
63719         * modules/unictype/property-bidi-other-neutral: New file.
63720         * modules/unictype/property-hex-digit: New file.
63721         * modules/unictype/property-ascii-hex-digit: New file.
63722         * modules/unictype/property-ideographic: New file.
63723         * modules/unictype/property-unified-ideograph: New file.
63724         * modules/unictype/property-radical: New file.
63725         * modules/unictype/property-ids-binary-operator: New file.
63726         * modules/unictype/property-ids-trinary-operator: New file.
63727         * modules/unictype/property-zero-width: New file.
63728         * modules/unictype/property-space: New file.
63729         * modules/unictype/property-non-break: New file.
63730         * modules/unictype/property-iso-control: New file.
63731         * modules/unictype/property-format-control: New file.
63732         * modules/unictype/property-dash: New file.
63733         * modules/unictype/property-hyphen: New file.
63734         * modules/unictype/property-punctuation: New file.
63735         * modules/unictype/property-line-separator: New file.
63736         * modules/unictype/property-paragraph-separator: New file.
63737         * modules/unictype/property-quotation-mark: New file.
63738         * modules/unictype/property-sentence-terminal: New file.
63739         * modules/unictype/property-terminal-punctuation: New file.
63740         * modules/unictype/property-currency-symbol: New file.
63741         * modules/unictype/property-math: New file.
63742         * modules/unictype/property-other-math: New file.
63743         * modules/unictype/property-paired-punctuation: New file.
63744         * modules/unictype/property-left-of-pair: New file.
63745         * modules/unictype/property-combining: New file.
63746         * modules/unictype/property-composite: New file.
63747         * modules/unictype/property-decimal-digit: New file.
63748         * modules/unictype/property-numeric: New file.
63749         * modules/unictype/property-diacritic: New file.
63750         * modules/unictype/property-extender: New file.
63751         * modules/unictype/property-ignorable-control: New file.
63752         * modules/unictype/property-test: New file.
63753         * modules/unictype/property-byname: New file.
63754         * modules/unictype/property-all: New file.
63755         * modules/unictype/scripts: New file.
63756         * modules/unictype/scripts-all: New file.
63757         * modules/unictype/block-of: New file.
63758         * modules/unictype/block-test: New file.
63759         * modules/unictype/block-list: New file.
63760         * modules/unictype/block-all: New file.
63761         * modules/unictype/syntax-c-whitespace: New file.
63762         * modules/unictype/syntax-java-whitespace: New file.
63763         * modules/unictype/syntax-c-ident: New file.
63764         * modules/unictype/syntax-java-ident: New file.
63765         * modules/unictype/ctype-alnum: New file.
63766         * modules/unictype/ctype-alpha: New file.
63767         * modules/unictype/ctype-cntrl: New file.
63768         * modules/unictype/ctype-digit: New file.
63769         * modules/unictype/ctype-graph: New file.
63770         * modules/unictype/ctype-lower: New file.
63771         * modules/unictype/ctype-print: New file.
63772         * modules/unictype/ctype-punct: New file.
63773         * modules/unictype/ctype-space: New file.
63774         * modules/unictype/ctype-upper: New file.
63775         * modules/unictype/ctype-xdigit: New file.
63776         * modules/unictype/ctype-blank: New file.
63777         * lib/unictype/bidi_byname.c: New file.
63778         * lib/unictype/bidi_name.c: New file.
63779         * lib/unictype/bidi_of.c: New file.
63780         * lib/unictype/bidi_test.c: New file.
63781         * lib/unictype/bitmap.h: New file.
63782         * lib/unictype/block_test.c: New file.
63783         * lib/unictype/blocks.c: New file.
63784         * lib/unictype/categ_C.c: New file.
63785         * lib/unictype/categ_Cc.c: New file.
63786         * lib/unictype/categ_Cf.c: New file.
63787         * lib/unictype/categ_Cn.c: New file.
63788         * lib/unictype/categ_Co.c: New file.
63789         * lib/unictype/categ_Cs.c: New file.
63790         * lib/unictype/categ_L.c: New file.
63791         * lib/unictype/categ_Ll.c: New file.
63792         * lib/unictype/categ_Lm.c: New file.
63793         * lib/unictype/categ_Lo.c: New file.
63794         * lib/unictype/categ_Lt.c: New file.
63795         * lib/unictype/categ_Lu.c: New file.
63796         * lib/unictype/categ_M.c: New file.
63797         * lib/unictype/categ_Mc.c: New file.
63798         * lib/unictype/categ_Me.c: New file.
63799         * lib/unictype/categ_Mn.c: New file.
63800         * lib/unictype/categ_N.c: New file.
63801         * lib/unictype/categ_Nd.c: New file.
63802         * lib/unictype/categ_Nl.c: New file.
63803         * lib/unictype/categ_No.c: New file.
63804         * lib/unictype/categ_P.c: New file.
63805         * lib/unictype/categ_Pc.c: New file.
63806         * lib/unictype/categ_Pd.c: New file.
63807         * lib/unictype/categ_Pe.c: New file.
63808         * lib/unictype/categ_Pf.c: New file.
63809         * lib/unictype/categ_Pi.c: New file.
63810         * lib/unictype/categ_Po.c: New file.
63811         * lib/unictype/categ_Ps.c: New file.
63812         * lib/unictype/categ_S.c: New file.
63813         * lib/unictype/categ_Sc.c: New file.
63814         * lib/unictype/categ_Sk.c: New file.
63815         * lib/unictype/categ_Sm.c: New file.
63816         * lib/unictype/categ_So.c: New file.
63817         * lib/unictype/categ_Z.c: New file.
63818         * lib/unictype/categ_Zl.c: New file.
63819         * lib/unictype/categ_Zp.c: New file.
63820         * lib/unictype/categ_Zs.c: New file.
63821         * lib/unictype/categ_and.c: New file.
63822         * lib/unictype/categ_and_not.c: New file.
63823         * lib/unictype/categ_byname.c: New file.
63824         * lib/unictype/categ_name.c: New file.
63825         * lib/unictype/categ_none.c: New file.
63826         * lib/unictype/categ_of.c: New file.
63827         * lib/unictype/categ_or.c: New file.
63828         * lib/unictype/categ_test.c: New file.
63829         * lib/unictype/combining.c: New file.
63830         * lib/unictype/ctype_alnum.c: New file.
63831         * lib/unictype/ctype_alpha.c: New file.
63832         * lib/unictype/ctype_blank.c: New file.
63833         * lib/unictype/ctype_cntrl.c: New file.
63834         * lib/unictype/ctype_digit.c: New file.
63835         * lib/unictype/ctype_graph.c: New file.
63836         * lib/unictype/ctype_lower.c: New file.
63837         * lib/unictype/ctype_print.c: New file.
63838         * lib/unictype/ctype_punct.c: New file.
63839         * lib/unictype/ctype_space.c: New file.
63840         * lib/unictype/ctype_upper.c: New file.
63841         * lib/unictype/ctype_xdigit.c: New file.
63842         * lib/unictype/decdigit.c: New file.
63843         * lib/unictype/digit.c: New file.
63844         * lib/unictype/identsyntaxmap.h: New file.
63845         * lib/unictype/mirror.c: New file.
63846         * lib/unictype/numeric.c: New file.
63847         * lib/unictype/pr_alphabetic.c: New file.
63848         * lib/unictype/pr_ascii_hex_digit.c: New file.
63849         * lib/unictype/pr_bidi_arabic_digit.c: New file.
63850         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
63851         * lib/unictype/pr_bidi_block_separator.c: New file.
63852         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
63853         * lib/unictype/pr_bidi_common_separator.c: New file.
63854         * lib/unictype/pr_bidi_control.c: New file.
63855         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
63856         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
63857         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
63858         * lib/unictype/pr_bidi_european_digit.c: New file.
63859         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
63860         * lib/unictype/pr_bidi_left_to_right.c: New file.
63861         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
63862         * lib/unictype/pr_bidi_other_neutral.c: New file.
63863         * lib/unictype/pr_bidi_pdf.c: New file.
63864         * lib/unictype/pr_bidi_segment_separator.c: New file.
63865         * lib/unictype/pr_bidi_whitespace.c: New file.
63866         * lib/unictype/pr_byname.c: New file.
63867         * lib/unictype/pr_byname.gperf: New file.
63868         * lib/unictype/pr_combining.c: New file.
63869         * lib/unictype/pr_composite.c: New file.
63870         * lib/unictype/pr_currency_symbol.c: New file.
63871         * lib/unictype/pr_dash.c: New file.
63872         * lib/unictype/pr_decimal_digit.c: New file.
63873         * lib/unictype/pr_default_ignorable_code_point.c: New file.
63874         * lib/unictype/pr_deprecated.c: New file.
63875         * lib/unictype/pr_diacritic.c: New file.
63876         * lib/unictype/pr_extender.c: New file.
63877         * lib/unictype/pr_format_control.c: New file.
63878         * lib/unictype/pr_grapheme_base.c: New file.
63879         * lib/unictype/pr_grapheme_extend.c: New file.
63880         * lib/unictype/pr_grapheme_link.c: New file.
63881         * lib/unictype/pr_hex_digit.c: New file.
63882         * lib/unictype/pr_hyphen.c: New file.
63883         * lib/unictype/pr_id_continue.c: New file.
63884         * lib/unictype/pr_id_start.c: New file.
63885         * lib/unictype/pr_ideographic.c: New file.
63886         * lib/unictype/pr_ids_binary_operator.c: New file.
63887         * lib/unictype/pr_ids_trinary_operator.c: New file.
63888         * lib/unictype/pr_ignorable_control.c: New file.
63889         * lib/unictype/pr_iso_control.c: New file.
63890         * lib/unictype/pr_join_control.c: New file.
63891         * lib/unictype/pr_left_of_pair.c: New file.
63892         * lib/unictype/pr_line_separator.c: New file.
63893         * lib/unictype/pr_logical_order_exception.c: New file.
63894         * lib/unictype/pr_lowercase.c: New file.
63895         * lib/unictype/pr_math.c: New file.
63896         * lib/unictype/pr_non_break.c: New file.
63897         * lib/unictype/pr_not_a_character.c: New file.
63898         * lib/unictype/pr_numeric.c: New file.
63899         * lib/unictype/pr_other_alphabetic.c: New file.
63900         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
63901         * lib/unictype/pr_other_grapheme_extend.c: New file.
63902         * lib/unictype/pr_other_id_continue.c: New file.
63903         * lib/unictype/pr_other_id_start.c: New file.
63904         * lib/unictype/pr_other_lowercase.c: New file.
63905         * lib/unictype/pr_other_math.c: New file.
63906         * lib/unictype/pr_other_uppercase.c: New file.
63907         * lib/unictype/pr_paired_punctuation.c: New file.
63908         * lib/unictype/pr_paragraph_separator.c: New file.
63909         * lib/unictype/pr_pattern_syntax.c: New file.
63910         * lib/unictype/pr_pattern_white_space.c: New file.
63911         * lib/unictype/pr_private_use.c: New file.
63912         * lib/unictype/pr_punctuation.c: New file.
63913         * lib/unictype/pr_quotation_mark.c: New file.
63914         * lib/unictype/pr_radical.c: New file.
63915         * lib/unictype/pr_sentence_terminal.c: New file.
63916         * lib/unictype/pr_soft_dotted.c: New file.
63917         * lib/unictype/pr_space.c: New file.
63918         * lib/unictype/pr_terminal_punctuation.c: New file.
63919         * lib/unictype/pr_test.c: New file.
63920         * lib/unictype/pr_titlecase.c: New file.
63921         * lib/unictype/pr_unassigned_code_value.c: New file.
63922         * lib/unictype/pr_unified_ideograph.c: New file.
63923         * lib/unictype/pr_uppercase.c: New file.
63924         * lib/unictype/pr_variation_selector.c: New file.
63925         * lib/unictype/pr_white_space.c: New file.
63926         * lib/unictype/pr_xid_continue.c: New file.
63927         * lib/unictype/pr_xid_start.c: New file.
63928         * lib/unictype/pr_zero_width.c: New file.
63929         * lib/unictype/scripts.c: New file.
63930         * lib/unictype/sy_c_ident.c: New file.
63931         * lib/unictype/sy_c_whitespace.c: New file.
63932         * lib/unictype/sy_java_ident.c: New file.
63933         * lib/unictype/sy_java_whitespace.c: New file.
63934
63935         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
63936         Unicode 5.0.0.
63937         * lib/unictype/blocks.h: Likewise.
63938         * lib/unictype/categ_C.h: Likewise.
63939         * lib/unictype/categ_Cc.h: Likewise.
63940         * lib/unictype/categ_Cf.h: Likewise.
63941         * lib/unictype/categ_Cn.h: Likewise.
63942         * lib/unictype/categ_Co.h: Likewise.
63943         * lib/unictype/categ_Cs.h: Likewise.
63944         * lib/unictype/categ_L.h: Likewise.
63945         * lib/unictype/categ_Ll.h: Likewise.
63946         * lib/unictype/categ_Lm.h: Likewise.
63947         * lib/unictype/categ_Lo.h: Likewise.
63948         * lib/unictype/categ_Lt.h: Likewise.
63949         * lib/unictype/categ_Lu.h: Likewise.
63950         * lib/unictype/categ_M.h: Likewise.
63951         * lib/unictype/categ_Mc.h: Likewise.
63952         * lib/unictype/categ_Me.h: Likewise.
63953         * lib/unictype/categ_Mn.h: Likewise.
63954         * lib/unictype/categ_N.h: Likewise.
63955         * lib/unictype/categ_Nd.h: Likewise.
63956         * lib/unictype/categ_Nl.h: Likewise.
63957         * lib/unictype/categ_No.h: Likewise.
63958         * lib/unictype/categ_P.h: Likewise.
63959         * lib/unictype/categ_Pc.h: Likewise.
63960         * lib/unictype/categ_Pd.h: Likewise.
63961         * lib/unictype/categ_Pe.h: Likewise.
63962         * lib/unictype/categ_Pf.h: Likewise.
63963         * lib/unictype/categ_Pi.h: Likewise.
63964         * lib/unictype/categ_Po.h: Likewise.
63965         * lib/unictype/categ_Ps.h: Likewise.
63966         * lib/unictype/categ_S.h: Likewise.
63967         * lib/unictype/categ_Sc.h: Likewise.
63968         * lib/unictype/categ_Sk.h: Likewise.
63969         * lib/unictype/categ_Sm.h: Likewise.
63970         * lib/unictype/categ_So.h: Likewise.
63971         * lib/unictype/categ_Z.h: Likewise.
63972         * lib/unictype/categ_Zl.h: Likewise.
63973         * lib/unictype/categ_Zp.h: Likewise.
63974         * lib/unictype/categ_Zs.h: Likewise.
63975         * lib/unictype/categ_of.h: Likewise.
63976         * lib/unictype/combining.h: Likewise.
63977         * lib/unictype/ctype_alnum.h: Likewise.
63978         * lib/unictype/ctype_alpha.h: Likewise.
63979         * lib/unictype/ctype_blank.h: Likewise.
63980         * lib/unictype/ctype_cntrl.h: Likewise.
63981         * lib/unictype/ctype_digit.h: Likewise.
63982         * lib/unictype/ctype_graph.h: Likewise.
63983         * lib/unictype/ctype_lower.h: Likewise.
63984         * lib/unictype/ctype_print.h: Likewise.
63985         * lib/unictype/ctype_punct.h: Likewise.
63986         * lib/unictype/ctype_space.h: Likewise.
63987         * lib/unictype/ctype_upper.h: Likewise.
63988         * lib/unictype/ctype_xdigit.h: Likewise.
63989         * lib/unictype/decdigit.h: Likewise.
63990         * lib/unictype/digit.h: Likewise.
63991         * lib/unictype/mirror.h: Likewise.
63992         * lib/unictype/numeric.h: Likewise.
63993         * lib/unictype/pr_alphabetic.h: Likewise.
63994         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
63995         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
63996         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
63997         * lib/unictype/pr_bidi_block_separator.h: Likewise.
63998         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
63999         * lib/unictype/pr_bidi_common_separator.h: Likewise.
64000         * lib/unictype/pr_bidi_control.h: Likewise.
64001         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
64002         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
64003         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
64004         * lib/unictype/pr_bidi_european_digit.h: Likewise.
64005         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
64006         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
64007         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
64008         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
64009         * lib/unictype/pr_bidi_pdf.h: Likewise.
64010         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
64011         * lib/unictype/pr_bidi_whitespace.h: Likewise.
64012         * lib/unictype/pr_combining.h: Likewise.
64013         * lib/unictype/pr_composite.h: Likewise.
64014         * lib/unictype/pr_currency_symbol.h: Likewise.
64015         * lib/unictype/pr_dash.h: Likewise.
64016         * lib/unictype/pr_decimal_digit.h: Likewise.
64017         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
64018         * lib/unictype/pr_deprecated.h: Likewise.
64019         * lib/unictype/pr_diacritic.h: Likewise.
64020         * lib/unictype/pr_extender.h: Likewise.
64021         * lib/unictype/pr_format_control.h: Likewise.
64022         * lib/unictype/pr_grapheme_base.h: Likewise.
64023         * lib/unictype/pr_grapheme_extend.h: Likewise.
64024         * lib/unictype/pr_grapheme_link.h: Likewise.
64025         * lib/unictype/pr_hex_digit.h: Likewise.
64026         * lib/unictype/pr_hyphen.h: Likewise.
64027         * lib/unictype/pr_id_continue.h: Likewise.
64028         * lib/unictype/pr_id_start.h: Likewise.
64029         * lib/unictype/pr_ideographic.h: Likewise.
64030         * lib/unictype/pr_ids_binary_operator.h: Likewise.
64031         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
64032         * lib/unictype/pr_ignorable_control.h: Likewise.
64033         * lib/unictype/pr_iso_control.h: Likewise.
64034         * lib/unictype/pr_join_control.h: Likewise.
64035         * lib/unictype/pr_left_of_pair.h: Likewise.
64036         * lib/unictype/pr_line_separator.h: Likewise.
64037         * lib/unictype/pr_logical_order_exception.h: Likewise.
64038         * lib/unictype/pr_lowercase.h: Likewise.
64039         * lib/unictype/pr_math.h: Likewise.
64040         * lib/unictype/pr_non_break.h: Likewise.
64041         * lib/unictype/pr_not_a_character.h: Likewise.
64042         * lib/unictype/pr_numeric.h: Likewise.
64043         * lib/unictype/pr_other_alphabetic.h: Likewise.
64044         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
64045         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
64046         * lib/unictype/pr_other_id_continue.h: Likewise.
64047         * lib/unictype/pr_other_id_start.h: Likewise.
64048         * lib/unictype/pr_other_lowercase.h: Likewise.
64049         * lib/unictype/pr_other_math.h: Likewise.
64050         * lib/unictype/pr_other_uppercase.h: Likewise.
64051         * lib/unictype/pr_paired_punctuation.h: Likewise.
64052         * lib/unictype/pr_paragraph_separator.h: Likewise.
64053         * lib/unictype/pr_pattern_syntax.h: Likewise.
64054         * lib/unictype/pr_pattern_white_space.h: Likewise.
64055         * lib/unictype/pr_private_use.h: Likewise.
64056         * lib/unictype/pr_punctuation.h: Likewise.
64057         * lib/unictype/pr_quotation_mark.h: Likewise.
64058         * lib/unictype/pr_radical.h: Likewise.
64059         * lib/unictype/pr_sentence_terminal.h: Likewise.
64060         * lib/unictype/pr_soft_dotted.h: Likewise.
64061         * lib/unictype/pr_space.h: Likewise.
64062         * lib/unictype/pr_terminal_punctuation.h: Likewise.
64063         * lib/unictype/pr_titlecase.h: Likewise.
64064         * lib/unictype/pr_unassigned_code_value.h: Likewise.
64065         * lib/unictype/pr_unified_ideograph.h: Likewise.
64066         * lib/unictype/pr_uppercase.h: Likewise.
64067         * lib/unictype/pr_variation_selector.h: Likewise.
64068         * lib/unictype/pr_white_space.h: Likewise.
64069         * lib/unictype/pr_xid_continue.h: Likewise.
64070         * lib/unictype/pr_xid_start.h: Likewise.
64071         * lib/unictype/pr_zero_width.h: Likewise.
64072         * lib/unictype/scripts.h: Likewise.
64073         * lib/unictype/scripts_byname.gperf: Likewise.
64074         * lib/unictype/sy_c_ident.h: Likewise.
64075         * lib/unictype/sy_c_whitespace.h: Likewise.
64076         * lib/unictype/sy_java_ident.h: Likewise.
64077         * lib/unictype/sy_java_whitespace.h: Likewise.
64078
64079         * lib/unictype/Makefile: New file.
64080         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
64081         glibc.
64082         * lib/unictype/3level.h: New file, copied from glibc.
64083         * lib/unictype/3levelbit.h: New file.
64084
64085 2007-11-11  Bruno Haible  <bruno@clisp.org>
64086
64087         * modules/gperf: New file.
64088         * modules/iconv_open (Depends-on): Add it.
64089         (Makefile.am): Remove the GPERF definition.
64090
64091 2007-11-11  Bruno Haible  <bruno@clisp.org>
64092
64093         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
64094         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
64095
64096 2007-11-11  Bruno Haible  <bruno@clisp.org>
64097
64098         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
64099         (usage): Remove function.
64100
64101 2007-11-11  Bruno Haible  <bruno@clisp.org>
64102
64103         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
64104         gl_FUNC_CEILF_LIBS.
64105         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
64106         gl_FUNC_CEIL_LIBS.
64107         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
64108         gl_FUNC_CEILL_LIBS.
64109         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
64110         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
64111         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
64112
64113 2007-11-11  Bruno Haible  <bruno@clisp.org>
64114
64115         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
64116         roundf were declared but do not exist on functions.
64117         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
64118         roundl were declared but do not exist on functions.
64119         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
64120         HAVE_FLOORL_AND_CEILL, respectively.
64121         Needed for Sun C on Solaris 10.
64122
64123 2007-11-11  Bruno Haible  <bruno@clisp.org>
64124
64125         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
64126         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
64127         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
64128         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
64129         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
64130         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
64131         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
64132         HAVE_DECL_ROUNDF.
64133         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
64134         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
64135         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
64136         of HAVE_DECL_ROUND*.
64137         * modules/math (Makefile.am): Update.
64138
64139 2007-11-10  Bruno Haible  <bruno@clisp.org>
64140
64141         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
64142         ptrdiff_t as m4/intl.m4.
64143
64144 2007-11-10  Jim Meyering  <meyering@redhat.com>
64145
64146         Avoid link failure for the argmatch test.
64147         * tests/test-argmatch.c (usage): Define function to avoid a link
64148         failure: argmatch_die requires a usage function.
64149
64150 2007-11-09  Bruno Haible  <bruno@clisp.org>
64151
64152         * doc/functions/snprintf.texi: Mention BeOS deficiency.
64153         * doc/functions/vsnprintf.texi: Likewise.
64154         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
64155         with a size argument < 2.
64156
64157 2007-11-09  Bruno Haible  <bruno@clisp.org>
64158
64159         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
64160         buffer. Fixes an inefficiency introduced on 2007-11-03.
64161
64162 2007-11-09  Bruno Haible  <bruno@clisp.org>
64163
64164         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
64165         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
64166
64167 2007-11-08  Jim Meyering  <meyering@redhat.com>
64168
64169         Change cache variable name prefix "jm_" to "gl_" everywhere.
64170         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
64171         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
64172         * m4/uptime.m4: s/gl_/jm_/
64173
64174 2007-11-07  Bruno Haible  <bruno@clisp.org>
64175
64176         Update to GNU gettext 0.17.
64177         * m4/intl.m4: Update to GNU gettext 0.17.
64178         * m4/po.m4: Likewise.
64179         * modules/gettext (Files): Remove m4/ulonglong.m4.
64180         (configure.ac): Require gettext infrastructure from version 0.17.
64181
64182 2007-11-06  Bruno Haible  <bruno@clisp.org>
64183
64184         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
64185         symbolic values are not defined in a public header.
64186         * lib/freadable.c (freadable) [QNX]: Likewise.
64187         * lib/freadahead.c (freadahead) [QNX]: Likewise.
64188         * lib/freading.c (freading) [QNX]: Likewise.
64189         * lib/fseterr.c (fseterr) [QNX]: Likewise.
64190         * lib/fwritable.c (fwritable) [QNX]: Likewise.
64191         * lib/fwriting.c (fwriting) [QNX]: Likewise.
64192         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
64193         Reported by Alain Magloire.
64194
64195         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
64196
64197 2007-11-05  Bruno Haible  <bruno@clisp.org>
64198
64199         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
64200         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
64201         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
64202         Reported by Eric Blake.
64203
64204 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64205             Bruno Haible  <bruno@clisp.org>
64206
64207         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
64208         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
64209         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
64210         (malloc): Undefine also before including <stdlib.h>.
64211         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
64212         Needed on OSF/1 4.0.
64213
64214 2007-11-05  Jim Meyering  <meyering@redhat.com>
64215
64216         git-version-gen: sync from coreutils.
64217         * build-aux/git-version-gen: Add comments.
64218         Change the first '-' to '.' in the snapshot version string,
64219         e.g., 6.9-377-08144 -> 6.9.377-08144
64220         Remove first parameter.
64221         Don't declare a version "-dirty" merely because a time
64222         stamp has changed.
64223
64224 2007-11-04  Bruno Haible  <bruno@clisp.org>
64225
64226         * lib/lock.h: Protect all macro definitions containing an 'if'
64227         statement through a "do { ... } while (0)".
64228         * lib/tls.h: Likewise.
64229
64230 2007-11-04  Bruno Haible  <bruno@clisp.org>
64231
64232         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
64233
64234 2007-11-04  Bruno Haible  <bruno@clisp.org>
64235
64236         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
64237         * modules/fprintf-posix (Depends-on): Add nocrash.
64238         * modules/snprintf-posix (Depends-on): Likewise.
64239         * modules/sprintf-posix (Depends-on): Likewise.
64240         * modules/vasnprintf-posix (Depends-on): Likewise.
64241         * modules/vasprintf-posix (Depends-on): Likewise.
64242         * modules/vfprintf-posix (Depends-on): Likewise.
64243         * modules/vsnprintf-posix (Depends-on): Likewise.
64244         * modules/vsprintf-posix (Depends-on): Likewise.
64245         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64246         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64247         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64248         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64249         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64250         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64251         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64252
64253 2007-11-04  Bruno Haible  <bruno@clisp.org>
64254
64255         * modules/nocrash: New file.
64256         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
64257         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
64258
64259 2007-11-04  Bruno Haible  <bruno@clisp.org>
64260
64261         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
64262         precision handling.
64263         * tests/test-vasprintf-posix.c (test_function): Likewise.
64264         * tests/test-snprintf-posix.h (test_function): Likewise.
64265         * tests/test-sprintf-posix.h (test_function): Likewise.
64266
64267         Fix *printf behaviour for large precisions on mingw and BeOS.
64268         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
64269         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
64270         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
64271         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64272         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64273         gl_PRINTF_PRECISION and test its result. Invoke
64274         gl_PREREQ_VASNPRINTF_PRECISION.
64275         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64276         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64277         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64278         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64279         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64280         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64281         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64282         * doc/functions/fprintf.texi: Update.
64283         * doc/functions/printf.texi: Update.
64284         * doc/functions/snprintf.texi: Update.
64285         * doc/functions/sprintf.texi: Update.
64286         * doc/functions/vfprintf.texi: Update.
64287         * doc/functions/vprintf.texi: Update.
64288         * doc/functions/vsnprintf.texi: Update.
64289         * doc/functions/vsprintf.texi: Update.
64290
64291 2007-11-04  Bruno Haible  <bruno@clisp.org>
64292
64293         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
64294
64295 2007-11-04  Bruno Haible  <bruno@clisp.org>
64296
64297         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
64298         Reported by Sylvain Beucler <beuc@gnu.org>.
64299
64300 2007-11-03  Bruno Haible  <bruno@clisp.org>
64301
64302         * tests/test-fprintf-posix2.sh: New file.
64303         * tests/test-fprintf-posix2.c: New file.
64304         * modules/fprintf-posix-tests (Files): Add them.
64305         (TESTS): Add test-fprintf-posix2.sh.
64306         (configure.ac): Check for getrlimit and setrlimit.
64307         (check_PROGRAMS): Add test-fprintf-posix2.
64308
64309         * tests/test-printf-posix2.sh: New file.
64310         * tests/test-printf-posix2.c: New file.
64311         * modules/printf-posix-tests (Files): Add them.
64312         (TESTS): Add test-printf-posix2.sh.
64313         (configure.ac): Check for getrlimit and setrlimit.
64314         (check_PROGRAMS): Add test-printf-posix2.
64315
64316         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
64317         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
64318         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
64319         (decode_double): New function, copied from decode_long_double.
64320         (scale10_round_decimal_decoded): New function, extracted from
64321         scale10_round_decimal_long_double.
64322         (scale10_round_decimal_long_double): Use it.
64323         (scale10_round_decimal_double): New function.
64324         (floorlog10): New function.
64325         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
64326         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
64327         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64328         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64329         gl_PRINTF_ENOMEM and test its result. Invoke
64330         gl_PREREQ_VASNPRINTF_ENOMEM.
64331         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64332         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64333         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64334         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64335         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64336         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64337         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64338         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
64339         * modules/snprintf-posix (Depends-on): Likewise.
64340         * modules/sprintf-posix (Depends-on): Likewise.
64341         * modules/vasnprintf-posix (Depends-on): Likewise.
64342         * modules/vasprintf-posix (Depends-on): Likewise.
64343         * modules/vfprintf-posix (Depends-on): Likewise.
64344         * modules/vsnprintf-posix (Depends-on): Likewise.
64345         * modules/vsprintf-posix (Depends-on): Likewise.
64346         * doc/functions/fprintf.texi: Update.
64347         * doc/functions/printf.texi: Update.
64348         * doc/functions/snprintf.texi: Update.
64349         * doc/functions/sprintf.texi: Update.
64350         * doc/functions/vfprintf.texi: Update.
64351         * doc/functions/vprintf.texi: Update.
64352         * doc/functions/vsnprintf.texi: Update.
64353         * doc/functions/vsprintf.texi: Update.
64354
64355 2007-11-03  Bruno Haible  <bruno@clisp.org>
64356
64357         * modules/frexp-nolibm-tests: New file.
64358
64359         * modules/frexp-nolibm: New file.
64360         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
64361
64362 2007-11-03  Bruno Haible  <bruno@clisp.org>
64363
64364         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
64365         value is C99 compliant.
64366         Needed for OSF/1 5.1.
64367
64368 2007-11-03  Bruno Haible  <bruno@clisp.org>
64369
64370         Fix out-of-memory handling of vasnprintf.
64371         * lib/printf-parse.c: Include <errno.h>.
64372         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
64373         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
64374         is already set.
64375
64376 2007-11-02  Eric Blake  <ebb9@byu.net>
64377
64378         Fix tests on cygwin.
64379         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
64380
64381 2007-11-01  Bruno Haible  <bruno@clisp.org>
64382
64383         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
64384         warning.
64385         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
64386         needed for POSIX compatibility.
64387
64388 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64389
64390         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
64391         for compatibility with GNU.
64392
64393 2007-11-01  Bruno Haible  <bruno@clisp.org>
64394
64395         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
64396         (putenv): Renamed from rpl_putenv. Change argument type from
64397         'const char *' to 'char *'.
64398         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
64399         of defining putenv in config.h, just set REPLACE_PUTENV.
64400         * modules/putenv (Depends-on): Add stdlib.
64401         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64402         (Include): Use <stdlib.h>.
64403         * lib/stdlib.in.h (putenv): New declaration.
64404         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
64405         REPLACE_PUTENV.
64406         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
64407         REPLACE_PUTENV.
64408         Needed for MacOS X 10.5.0.
64409         Reported by Peter O'Gorman <peter@pogma.com>.
64410
64411 2007-11-01  Jim Meyering  <meyering@redhat.com>
64412
64413         Treat an empty date string exactly like "0".
64414         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
64415         if the remaining date string (to be parsed) is empty, use "0".
64416         Reported by Mischa Molhoek and discussed in this thread:
64417         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
64418
64419 2007-10-31  Bruno Haible  <bruno@clisp.org>
64420
64421         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
64422         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
64423         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
64424         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
64425         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
64426         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
64427
64428 2007-10-31  Bruno Haible  <bruno@clisp.org>
64429
64430         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
64431         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
64432         (AC_TYPE_LONG_LONG_INT): Use it.
64433         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
64434         it as well.
64435         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
64436         to m4/longlong.m4.
64437         * modules/stdint (Files): Remove m4/ulonglong.m4.
64438         * modules/strtoull (Files): Use m4/longlong.m4 instead of
64439         m4/ulonglong.m4.
64440         * modules/strtoumax (Files): Likewise.
64441
64442 2007-10-30  Bruno Haible  <bruno@clisp.org>
64443
64444         * modules/xvasprintf-posix: New file.
64445         Suggested by Eric Blake.
64446
64447 2007-10-30  Bruno Haible  <bruno@clisp.org>
64448
64449         * modules/xprintf-posix-tests: New file.
64450         * tests/test-xprintf-posix.sh: New file.
64451         * tests/test-xprintf-posix.c: New file.
64452         * tests/test-xfprintf-posix.c: New file.
64453
64454         * modules/xprintf-posix: New file.
64455
64456 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64457
64458         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
64459         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
64460         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
64461
64462 2007-10-29  Bruno Haible  <bruno@clisp.org>
64463
64464         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
64465         contain the special marker '_cv_'.
64466         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64467         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64468         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64469         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64470         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64471         Reported by Ralf Wildenhues.
64472
64473 2007-10-29  Bruno Haible  <bruno@clisp.org>
64474
64475         * gnulib-tool (func_import): When --lgpl is not specified, set
64476         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
64477         GPLv3.
64478         Reported by Simon Josefsson.
64479
64480 2007-10-28  Bruno Haible  <bruno@clisp.org>
64481
64482         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
64483         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
64484         HAVE_DECL_ISFINITE.
64485         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64486         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
64487         HAVE_DECL_ISFINITE.
64488
64489 2007-10-28  Bruno Haible  <bruno@clisp.org>
64490
64491         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
64492         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
64493
64494 2007-10-28  Bruno Haible  <bruno@clisp.org>
64495
64496         Fix link errors with Sun C 5.0 on Solaris 10.
64497         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
64498         function is declared but not present in the compiler's libm.
64499         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
64500         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
64501         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
64502         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
64503         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
64504         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
64505         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
64506         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64507         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
64508         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
64509         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
64510         HAVE_DECL_FLOORL.
64511
64512 2007-10-28  Bruno Haible  <bruno@clisp.org>
64513
64514         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
64515         gl_FUNC_FLOORL. Cache the result.
64516         (gl_FUNC_FLOORL): Use it.
64517         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
64518         gl_FUNC_CEILL. Cache the result.
64519         (gl_FUNC_CEILL): Use it.
64520
64521         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
64522         gl_FUNC_FLOOR. Cache the result.
64523         (gl_FUNC_FLOOR): Use it.
64524         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
64525         gl_FUNC_CEIL. Cache the result.
64526         (gl_FUNC_CEIL): Use it.
64527
64528         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
64529         gl_FUNC_FLOORF. Cache the result.
64530         (gl_FUNC_FLOORF): Use it.
64531         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
64532         gl_FUNC_CEILF. Cache the result.
64533         (gl_FUNC_CEILF): Use it.
64534
64535 2007-10-28  Bruno Haible  <bruno@clisp.org>
64536
64537         * gnulib-tool: Allow specifying the LGPL version number through
64538         --lgpl=2 or --lgpl=3.
64539         (func_usage): Document --lgpl with argument.
64540         Handle --lgpl=... arguments.
64541         (func_import): Recognize also gl_LGPL calls with an argument. When
64542         --lgpl=2 is used and the module's license is just LGPL, report an
64543         error. Set sed_transform_lib_file according to the lgpl variable. In
64544         the generated files, use --lgpl or gl_LGPL invocations with argument,
64545         if necessary.
64546         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
64547         an LGPv2+ license.
64548         * doc/gnulib-tool.texi (Modified imports): Update explanation of
64549         gl_LGPL macro.
64550
64551 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64552             Bruno Haible  <bruno@clisp.org>
64553
64554         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
64555         (u16_uctomb_aux): Likewise.
64556         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
64557         !HAVE_INLINE.
64558         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
64559
64560 2007-10-28  Bruno Haible  <bruno@clisp.org>
64561
64562         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
64563         Invoke AM_GETTEXT_OPTION if it exists.
64564         * modules/vasprintf: Likewise.
64565         * modules/verror: Likewise.
64566         * modules/xprintf: Likewise.
64567         * modules/xvasprintf: Likewise.
64568
64569 2007-10-27  Ben Pfaff  <blp@gnu.org>
64570
64571         * lib/math.in.h: Define isfinite macro and prototypes for
64572         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
64573         implementations.
64574         * m4/math_h.m4: New substitutions for isfinite module.
64575         * lib/isfinite.c: New file.
64576         * m4/isfinite.m4: New file.
64577         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
64578         * modules/isfinite: New file.
64579         * modules/isfinite-tests: New file.
64580         * tests/tests-isfinite.c: New file.
64581         * doc/functions/isfinite.texi: Mention isfinite module.
64582         * MODULES.html.sh: Mention new module.
64583
64584 2007-10-27  Ben Pfaff  <blp@gnu.org>
64585
64586         Ralf Wildenhues reported that Tru64 4.0D declares the round
64587         functions but does not have definitions.
64588         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
64589         cannot be found in any library, set the output variable to
64590         "missing" instead of "".
64591         * m4/round.m4: Also use our substitute if we cannot find round in
64592         any library, even if it is declared.
64593         * m4/roundf.m4: Likewise for roundf.
64594         * m4/roundl.m4: Likewise for roundl.
64595         * lib/math.in.h: Undefine roundf, round, roundl before defining
64596         their replacements, to allow for hypothetical systems where these
64597         may be defined as macros but not available in libraries.
64598
64599 2007-10-27  Bruno Haible  <bruno@clisp.org>
64600
64601         * doc/gnulib.texi: Invoke @firstparagraphindent.
64602         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
64603         changes in gnulib.
64604         (Source changes): New section.
64605
64606 2007-10-26  Bruno Haible  <bruno@clisp.org>
64607
64608         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
64609         borrowed from autoconf.
64610
64611 2007-10-26  Bruno Haible  <bruno@clisp.org>
64612
64613         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
64614         strerror returned the empty string. Needed on HP-UX 11.00.
64615
64616 2007-10-24  Micah Cowan  <micah@cowan.name>
64617
64618         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
64619         * build-aux/bootstrap: Remove support for now-unnecessary option,
64620         --cvs-user, and envvars CVS_USER, CVS_RSH.
64621
64622 2007-10-24  Jim Meyering  <meyering@redhat.com>
64623
64624         Avoid diagnostics from sha1sum when there is no cached checksum.
64625         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
64626         if the po.s1 file hasn't been created yet.
64627
64628         * build-aux/bootstrap: Sync from coreutils:
64629         2007-10-24  Jim Meyering  <meyering@redhat.com>
64630         Get gnulib from the git repository, not from an obsolete cvs one.
64631         * build-aux/bootstrap: Suggestion from Micah Cowan.
64632         2007-10-04  Jim Meyering  <jim@meyering.net>
64633         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
64634         (update_po_files): Work also when there are no .po files in po/.
64635
64636 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64637
64638         * README: Append ".git" to git and cg examples.
64639         Problem reported by Benoit Sigoure.
64640
64641 2007-10-23  Micah Cowan  <micah@cowan.name>
64642
64643         * users.txt: Add wget.
64644
64645 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64646
64647         Fix linking of some unistdio tests on FreeBSD.
64648         * modules/unistdio/u16-vsnprintf-tests
64649         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
64650         * modules/unistdio/u16-vsprintf-tests
64651         (test_u16_vsnprintf1_LDADD): Likewise.
64652         * modules/unistdio/u32-vsnprintf-tests
64653         (test_u32_vsnprintf1_LDADD): Likewise.
64654         * modules/unistdio/u32-vsprintf-tests
64655         (test_u32_vsprintf1_LDADD): Likewise.
64656         * modules/unistdio/u8-vsnprintf-tests
64657         (test_u8_vsnprintf1_LDADD): Likewise.
64658         * modules/unistdio/u8-vsprintf-tests
64659         (test_u8_vsprintf1_LDADD): Likewise.
64660         * modules/unistdio/ulc-vsnprintf-tests
64661         (test_ulc_vsnprintf1_LDADD): Likewise.
64662         * modules/unistdio/ulc-vsprintf-tests
64663         (test_ulc_vsprintf1_LDADD): Likewise.
64664
64665         Fix linking of some uniconv tests on FreeBSD.
64666         * modules/uniconv/u16-conv-from-enc-tests
64667         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
64668         * modules/uniconv/u16-conv-to-enc-tests
64669         (test_u16_conv_to_enc_LDADD): Likewise.
64670         * modules/uniconv/u16-strconv-from-enc-tests
64671         (test_u16_strconv_from_enc_LDADD): Likewise.
64672         * modules/uniconv/u16-strconv-to-enc-tests
64673         (test_u16_strconv_to_enc_LDADD): Likewise.
64674         * modules/uniconv/u32-conv-from-enc-tests
64675         (test_u32_conv_from_enc_LDADD): Likewise.
64676         * modules/uniconv/u32-conv-to-enc-tests
64677         (test_u32_conv_to_enc_LDADD): Likewise.
64678         * modules/uniconv/u32-strconv-from-enc-tests
64679         (test_u32_strconv_from_enc_LDADD): Likewise.
64680         * modules/uniconv/u32-strconv-to-enc-tests
64681         (test_u32_strconv_to_enc_LDADD): Likewise.
64682         * modules/uniconv/u8-conv-from-enc-tests
64683         (test_u8_conv_from_enc_LDADD): Likewise.
64684         * modules/uniconv/u8-conv-to-enc-tests
64685         (test_u8_conv_to_enc_LDADD): Likewise.
64686         * modules/uniconv/u8-strconv-from-enc-tests
64687         (test_u8_strconv_from_enc_LDADD): Likewise.
64688         * modules/uniconv/u8-strconv-to-enc-tests
64689         (test_u8_strconv_to_enc_LDADD): Likewise.
64690
64691 2007-10-22  Bruno Haible  <bruno@clisp.org>
64692
64693         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
64694         size.
64695
64696 2007-10-22  Eric Blake  <ebb9@byu.net>
64697
64698         Tweak x*printf documentation.
64699         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
64700         variable name and comments.
64701         Suggested by Bruno Haible.
64702
64703 2007-10-22  Bruno Haible  <bruno@clisp.org>
64704
64705         * lib/acl.c (copy_acl): Fix file name in comment.
64706
64707 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64708
64709         Fix Tru64 problem with stdbool.h.
64710         * lib/stdbool.in.h (false, true):
64711         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
64712         Don't declare as an enum in this situation; it runs afoul of Tru64.
64713         Problem reported by Steven M. Schweda in
64714         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
64715
64716 2007-10-22  Eric Blake  <ebb9@byu.net>
64717
64718         Also wrap vf?printf.
64719         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
64720         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
64721         (xvprintf, xvfprintf): New functions.
64722
64723 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64724
64725         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
64726         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
64727
64728         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
64729         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
64730
64731 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64732
64733         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
64734         by Bruno Haible.
64735
64736 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64737
64738         * lib/getloadavg.c
64739         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
64740         Undef `sys' after including sys/table.h, for Tru64 4.0D.
64741
64742         * tests/test-i-ring.c: Work for C89.
64743
64744 2007-10-22  Bruno Haible  <bruno@clisp.org>
64745
64746         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
64747         -1u, in preprocessor expression, so that we don't test for the bug
64748         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
64749         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
64750
64751 2007-10-22  Eric Blake  <ebb9@byu.net>
64752
64753         * tests/test-yesno.sh: Silence stderr during test.
64754
64755 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64756
64757         * modules/crypto/gc-camellia: New file.
64758
64759         * m4/gc-camellia.m4: New file.
64760
64761         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
64762
64763         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
64764
64765 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64766
64767         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
64768         --help to stdout.  Reported by sms@antinode.org (Steven
64769         M. Schweda).
64770
64771 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64772
64773         * users.txt: Fix link to libksba.
64774
64775 2007-10-21  Ben Pfaff  <blp@gnu.org>
64776
64777         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
64778         round.c roundf implementation that depends on floorf and ceilf to
64779         be tested unconditionally.
64780
64781 2007-10-21  Ben Pfaff  <blp@gnu.org>
64782
64783         * m4/check-libm-func.m4: Removed.
64784         * m4/check-math-lib.m4: New file.
64785         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
64786         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
64787         definition and lack of AC_LIBOBJ([roundf]).
64788         * m4/roundl.m4: Ditto, and similarly for roundl.
64789         * modules/round: Reference new m4 file.
64790         * modules/roundf: Ditto.
64791         * modules/roundl: Ditto.
64792         * tests/test-round2.c (main): Use ROUND instead of round.
64793         Bug report from Bruno Haible.
64794
64795 2007-10-21  Bruno Haible  <bruno@clisp.org>
64796
64797         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
64798         context.
64799
64800 2007-10-21  Bruno Haible  <bruno@clisp.org>
64801
64802         * tests/test-wcwidth.c (main): Allow negative result for some control
64803         characters.
64804
64805         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
64806         Needed on OSF/1 5.1.
64807
64808 2007-10-21  Bruno Haible  <bruno@clisp.org>
64809
64810         * tests/test-floorf1.c: Include isnanf.h.
64811         (main): Use isnanf() instead of isnan().
64812         * tests/test-ceilf1.c: Include isnanf.h.
64813         (main): Use isnanf() instead of isnan().
64814         * tests/test-truncf1.c: Include isnanf.h.
64815         (main): Use isnanf() instead of isnan().
64816         * tests/test-roundf1.c: Include isnanf.h.
64817         (main): Use isnanf() instead of isnan().
64818
64819 2007-10-21  Eric Blake  <ebb9@byu.net>
64820
64821         * users.txt: Update URL for m4.
64822
64823 2007-10-21  Bruno Haible  <bruno@clisp.org>
64824
64825         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
64826
64827 2007-10-21  Bruno Haible  <bruno@clisp.org>
64828
64829         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
64830         Git's management files if the CVS files are not present.
64831
64832 2007-10-20  Bruno Haible  <bruno@clisp.org>
64833
64834         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
64835         gcc-3.4.x.
64836
64837 2007-10-20  Ben Pfaff  <blp@gnu.org>
64838
64839         * lib/math.in.h: Declare round, roundf, roundl if we are providing
64840         implementations.
64841         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
64842         * lib/round.c: New file.
64843         * lib/roundf.c: New file.
64844         * lib/roundl.c: New file.
64845         * m4/round.m4: New file.
64846         * m4/roundf.m4: New file.
64847         * m4/roundl.m4: New file.
64848         * m4/check-libm-func-m4: New file.
64849         * modules/math: Replace round, roundf, roundl related @VARS@ in
64850         math.in.h.
64851         * modules/round: New file.
64852         * modules/round-tests: New file.
64853         * modules/roundf: New file.
64854         * modules/roundf-tests: New file.
64855         * modules/roundl: New file.
64856         * modules/roundl-tests: New file.
64857         * tests/test-round1.c: New file.
64858         * tests/test-round2.c: New file.
64859         * tests/test-roundf1.c: New file.
64860         * tests/test-roundf2.c: New file.
64861         * tests/test-roundl.c: New file.
64862         * doc/functions/round.texi: Mention round module.
64863         * doc/functions/roundf.texi: Mention roundf module.
64864         * doc/functions/roundl.texi: Mention roundl module.
64865         * MODULES.html.sh: Mention new modules.
64866         Thanks to Bruno Haible for suggestions.
64867
64868 2007-10-20  Jim Meyering  <meyering@redhat.com>
64869
64870         * lib/xprintf.c: Include <config.h> unconditionally.
64871
64872         Change xprintf's license to GPL.
64873         * modules/xprintf (License): s/LGPL/GPL/, since this module
64874         depends on modules (exit and exitfail) which are GPL.
64875         Suggestion from Bruno Haible.
64876
64877         xprintf fixes.
64878         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
64879         Use a clearer diagnostic.
64880         Patch from Bruno Haible.
64881
64882 2007-10-20  Bruno Haible  <bruno@clisp.org>
64883
64884         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
64885         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
64886         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64887
64888 2007-10-20  Bruno Haible  <bruno@clisp.org>
64889
64890         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
64891         precision in the comparison result > x - 1 or similar.
64892         * tests/test-ceilf2.c (correct_result_p): Likewise.
64893         * tests/test-truncf2.c (correct_result_p): Likewise.
64894         * tests/test-trunc2.c (correct_result_p): Likewise.
64895         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64896
64897 2007-10-20  Bruno Haible  <bruno@clisp.org>
64898
64899         * modules/ceil: New file.
64900         * m4/ceil.m4: New file.
64901         * doc/functions/ceil.texi: Mention the 'ceil' module.
64902
64903 2007-10-20  Bruno Haible  <bruno@clisp.org>
64904
64905         * modules/floor: New file.
64906         * m4/floor.m4: New file.
64907         * doc/functions/floor.texi: Mention the 'floor' module.
64908
64909 2007-10-20  Bruno Haible  <bruno@clisp.org>
64910
64911         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
64912         of %a.
64913         * modules/floorf-tests (Depends-on): Likewise.
64914         * modules/truncf-tests (Depends-on): Likewise.
64915         * modules/trunc-tests (Depends-on): Likewise.
64916         Reported by Ben Pfaff.
64917
64918 2007-10-19  Jim Meyering  <meyering@redhat.com>
64919
64920         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
64921         Don't bother testing specific errno values.  Just test ferror.
64922
64923         New module: xprintf
64924         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
64925
64926 2007-10-19  Bruno Haible  <bruno@clisp.org>
64927
64928         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
64929         syntax.
64930         * modules/javaexec (Makefile.am): Likewise.
64931         * modules/relocatable-prog (Makefile.am): Likewise.
64932         Suggested by Jim Meyering.
64933
64934 2007-10-18  Bruno Haible  <bruno@clisp.org>
64935
64936         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
64937         Reported by Jim Meyering.
64938
64939 2007-10-18  Eric Blake  <ebb9@byu.net>
64940
64941         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
64942
64943 2007-10-18  Bruno Haible  <bruno@clisp.org>
64944
64945         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
64946         the format string into writable memory. Needed in Fortify conditions.
64947
64948 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
64949             Bruno Haible  <bruno@clisp.org>
64950
64951         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
64952         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
64953         * modules/trim (Depends-on): Add mbchar.
64954         (configure.ac): Add gl_FUNC_MBRTOWC.
64955         (Makefile.am): Augment lib_SOURCES.
64956
64957 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
64958
64959         Modify glob.c to use fstatat and dirfd, to simplify it.
64960         Suggested by Eric Blake.
64961         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
64962         Don't include <stdbool.h>; not used.
64963         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
64964         (link_exists_p): Simplify implementation, since we can now assume
64965         dirfd and fstatat.
64966         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
64967
64968 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64969
64970         * gnulib-tool (func_get_dependencies): Fix sed script to
64971         match only tests.
64972
64973 2007-10-17  Bruno Haible  <bruno@clisp.org>
64974
64975         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
64976         allow locale names without encoding suffix.
64977         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
64978         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64979
64980 2007-10-16  Bruno Haible  <bruno@clisp.org>
64981
64982         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
64983         * lib/getgroups.c (getgroups): Likewise.
64984         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
64985
64986 2007-10-16  Bruno Haible  <bruno@clisp.org>
64987
64988         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
64989         * modules/malloc-posix (License): Likewise.
64990         * modules/realloc-posix (License): Likewise.
64991         * modules/calloc-posix (License): Likewise.
64992         * modules/intprops (License): Change from GPL to LGPL, with
64993         Paul Eggert's approval.
64994
64995 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64996
64997         Merge glibc changes into lib/glob.c.
64998
64999         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
65000         2007-10-15 04:59:03 UTC.  Here are the changes:
65001
65002         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
65003
65004         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
65005
65006         * lib/glob.c: Add some branch prediction throughout.
65007
65008         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
65009
65010         [BZ #5103]
65011         * lib/glob.c (glob): Recognize patterns starting \/.
65012
65013         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
65014
65015         [BZ #3996]
65016         * lib/glob.c (attribute_hidden): Define if not defined.
65017         (glob): Unescape dirname, filename or username when needed and not
65018         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
65019         is NULL.  Handle unescaped [ in pattern without closing ].
65020         Don't pass GLOB_CHECK down to recursive glob for directories.
65021         (__glob_pattern_type): New function.
65022         (__glob_pattern_p): Implement using __glob_pattern_type.
65023         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
65024         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
65025         Remove unreachable code.
65026
65027         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
65028
65029         * lib/glob.c (glob_in_dir): Add some comments and asserts to
65030         explain why there are no leaks.
65031
65032         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
65033
65034         [BZ #3253]
65035         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
65036         time, rather allocate increasingly bigger arrays of pointers, if
65037         possible with alloca, if too large with malloc.
65038
65039 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65040
65041         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
65042         Problem reported by H.Merijn Brand in
65043         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
65044         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
65045         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
65046
65047 2007-10-15  Bruno Haible  <bruno@clisp.org>
65048
65049         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
65050         with explicit rpl_ prefix.
65051         * lib/fopen.c (fopen): Likewise.
65052         * lib/freopen.c (freopen): Likewise.
65053         * lib/iconv.c (iconv): Likewise.
65054         * lib/iconv_close.c (iconv_close): Likewise.
65055
65056 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65057
65058         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
65059
65060 2007-10-15  Bruno Haible  <bruno@clisp.org>
65061
65062         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
65063         <stddef.h> instead of <stdlib.h> since we only need NULL.
65064         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65065
65066 2007-10-15  Bruno Haible  <bruno@clisp.org>
65067
65068         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
65069         Replace paragraph talking about LIBOBJS.
65070         Reported by Colin Watson <cjwatson@debian.org>.
65071
65072 2007-10-15  Bruno Haible  <bruno@clisp.org>
65073
65074         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
65075         <stdlib.h> before using NULL.
65076
65077 2007-10-15  Simon Josefsson  <simon@josefsson.org>
65078
65079         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
65080         Reported by Albert Chin <china@thewrittenword.com>.
65081
65082 2007-10-14  Bruno Haible  <bruno@clisp.org>
65083
65084         * modules/iconv_open-utf-tests: New file.
65085         * tests/test-iconv-utf.c: New file.
65086
65087         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
65088         * modules/iconv_open-utf: New file.
65089         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
65090         (iconv, iconv_close): New declarations.
65091         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
65092         be defined.
65093         (iconv_open): Add special handling of conversion between UTF-8 and
65094         UTF-{16,32}{BE,LE}.
65095         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
65096         * lib/iconv_close.c: New file.
65097         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
65098         gl_FUNC_ICONV_OPEN.
65099         (gl_FUNC_ICONV_OPEN): Use it.
65100         (gl_FUNC_ICONV_OPEN_UTF): New macro.
65101         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
65102         and REPLACE_ICONV_UTF.
65103         * modules/iconv_open (Depends-on): Add c-strcase.
65104         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
65105         ICONV_CONST.
65106         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
65107
65108 2007-10-13  Albert Chin  <china@thewrittenword.com>
65109             Bruno Haible  <bruno@clisp.org>
65110
65111         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
65112         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
65113
65114 2007-10-13  Bruno Haible  <bruno@clisp.org>
65115
65116         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
65117         defined, use the ISO C99 inline semantics.
65118         * lib/argp.h (ARGP_EI): Likewise.
65119
65120 2007-10-13  Bruno Haible  <bruno@clisp.org>
65121
65122         Handle 'inline' change in gcc 4.3.0.
65123         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
65124         argp_fmtstream_write, argp_fmtstream_set_lmargin,
65125         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
65126         argp_fmtstream_point): Disable 'extern' declaration if the function
65127         definition is going to be provided inline.
65128         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
65129         semantics, not the ISO C99 inline semantics.
65130         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
65131         'extern' declaration if the function definition is going to be provided
65132         inline.
65133         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
65134         the GNU C inline semantics, not the ISO C99 inline semantics. With
65135         GCC 4.2, avoid a warning.
65136
65137 2007-10-13  Bruno Haible  <bruno@clisp.org>
65138
65139         * lib/freading.h (freading): Enable the use of __freading for
65140         glibc >= 2.7.
65141         * lib/freading.c (freading): Likewise.
65142
65143 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
65144
65145         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
65146         "warning: C99 inline functions are not supported; using GNU89".
65147
65148 2007-10-12  Bruno Haible  <bruno@clisp.org>
65149
65150         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
65151         of 2.
65152         * tests/test-ceilf2.c: New file.
65153         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
65154
65155         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
65156         * modules/ceilf-tests: Update.
65157
65158 2007-10-12  Bruno Haible  <bruno@clisp.org>
65159
65160         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
65161         of 2.
65162         * tests/test-floorf2.c: New file.
65163         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
65164
65165         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
65166         * modules/floorf-tests: Update.
65167
65168 2007-10-12  Bruno Haible  <bruno@clisp.org>
65169
65170         * tests/test-trunc2.c: New file.
65171         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
65172
65173         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
65174         * modules/trunc-tests: Update.
65175
65176 2007-10-12  Bruno Haible  <bruno@clisp.org>
65177
65178         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
65179         of 2.
65180         * tests/test-truncf2.c: New file.
65181         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
65182
65183         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
65184         * modules/truncf-tests: Update.
65185
65186 2007-10-11  Eric Blake  <ebb9@byu.net>
65187
65188         Don't claim strerror is broken on Interix.
65189         * doc/functions/strerror.texi (strerror): Known broken systems are
65190         now Solaris 8, and not Interix.
65191         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
65192         Interix on cross-compile.
65193         Reported by Martin Koeppe in
65194         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
65195
65196 2007-10-11  Bruno Haible  <bruno@clisp.org>
65197
65198         * modules/i-ring-tests: New file.
65199         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
65200         instead of assert.
65201
65202 2007-10-11  Bruno Haible  <bruno@clisp.org>
65203
65204         * modules/filenamecat-tests: New file.
65205         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
65206         * lib/filenamecat.c: Remove test code.
65207
65208 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65209
65210         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
65211
65212         * lib/strerror.c: Include <string.h> always, to test interface,
65213         and to remove the need for the dummy.
65214         Include intprops.h to compute width instead of doing it ourselves
65215         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
65216         (strerror): Define it to return NULL if there's no system strerror.
65217         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
65218         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
65219         ancient pre-strerror Unix systems well any more.  Saying "unknown
65220         system error" is enough.
65221         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
65222         simpler strerror.c implementation.
65223         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
65224         Simplify the tests to reflect the simpler strerror implementation.
65225         * modules/strerror (Depends-on): Add intprops.
65226
65227 2007-10-09  Eric Blake  <ebb9@byu.net>
65228
65229         Silence test-fpending.
65230         * modules/fpending-tests (Files): Add wrapper script.
65231         * tests/test-fpending.sh: New file.
65232
65233 2007-10-09  Bruno Haible  <bruno@clisp.org>
65234
65235         * MODULES.html.sh (func_module): Don't create a hyperlink for
65236         function names like 'printf_frexp'.
65237         (Misc): Add crc, memxor.
65238         (Characteristics of floating types): New section.
65239         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
65240         isnanf-nolibm, signbit, trunc, truncf, truncl.
65241         (Enhancements for ISO C 99 functions): New subsection Input/output.
65242         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
65243         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
65244         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
65245         (Compatibility checks for POSIX:2001 functions): Add clock-time.
65246         (Enhancements for POSIX:2001 functions): Add chdir-long.
65247         (File system functions): Add areadlink, chdir-safer, read-file.
65248         Remove cycle-check.
65249         (File system as inode set): New section.
65250         (Date and time): Add gethrxtime.
65251         (Multithreading): Add openmp.
65252         (Internationalization functions): Add localename.
65253         (Unicode string functions): Add unistr/u*-mbsnlen.
65254         (Support for maintaining and releasing projects): Add git-version-gen.
65255         (Lone files): Remove directories.
65256
65257 2007-10-08  Ben Pfaff  <blp@gnu.org>
65258
65259         * lib/xmalloca.h: Fix typo in comment.
65260
65261 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65262
65263         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
65264         when avoiding problems with integer overflow.  Use a portable test
65265         instead.
65266
65267 2007-10-08  Simon Josefsson  <simon@josefsson.org>
65268
65269         * modules/dummy (License): Change to LGPLv2+.
65270         * modules/float (License): Likewise
65271         * modules/realloc (License): Likewise
65272         * modules/stdlib (License): Likewise
65273
65274 2007-10-07  Bruno Haible  <bruno@clisp.org>
65275
65276         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
65277         * floor.c (TWO_MANT_DIG): Likewise.
65278         * ceil.c (TWO_MANT_DIG): Likewise.
65279         Reported by Ben Pfaff.
65280
65281 2007-10-07  Bruno Haible  <bruno@clisp.org>
65282
65283         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
65284         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
65285         * lib/frexp.c (FUNC): Likewise.
65286         * lib/printf-frexp.h (printf_frexp): Likewise.
65287         * lib/printf-frexpl.h (printf_frexpl): Likewise.
65288         * lib/printf-frexp.c (FUNC): Likewise.
65289         Suggested by Jim Meyering.
65290
65291 2007-10-07  Jim Meyering  <meyering@redhat.com>
65292
65293         Make xnanosleep's integer overflow test more robust.
65294         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
65295         so that gcc-4.3.0 doesn't optimize away this test for overflow.
65296
65297 2007-10-07  Bruno Haible  <bruno@clisp.org>
65298
65299         * NEWS: Mention the license change.
65300
65301         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
65302         abbreviations in the modules files.
65303
65304         Change copyright notice from GPLv2+ to GPLv3+.
65305         * README: Change copyright notice.
65306         * MODULES.html.sh: Likewise.
65307         * build-aux/bootstrap.conf: Likewise.
65308         * build-aux/config.libpath: Likewise.
65309         * build-aux/csharpcomp.sh.in: Likewise.
65310         * build-aux/csharpexec.sh.in: Likewise.
65311         * build-aux/install-reloc: Likewise.
65312         * build-aux/javacomp.sh.in: Likewise.
65313         * build-aux/javaexec.sh.in: Likewise.
65314         * build-aux/ldd.sh.in: Likewise.
65315         * build-aux/reloc-ldflags: Likewise.
65316         * build-aux/relocatable.sh.in: Likewise.
65317         * build-aux/x-to-1.in: Likewise.
65318         * check-module: Likewise.
65319         * config/srclistvars.sh: Likewise.
65320         * gnulib-tool: Likewise.
65321         * lib/acl-internal.h: Likewise.
65322         * lib/acl.c: Likewise.
65323         * lib/acl.h: Likewise.
65324         * lib/acl_entries.c: Likewise.
65325         * lib/areadlink-with-size.c: Likewise.
65326         * lib/areadlink.c: Likewise.
65327         * lib/areadlink.h: Likewise.
65328         * lib/argmatch.c: Likewise.
65329         * lib/argmatch.h: Likewise.
65330         * lib/argp-ba.c: Likewise.
65331         * lib/argp-eexst.c: Likewise.
65332         * lib/argp-fmtstream.c: Likewise.
65333         * lib/argp-fmtstream.h: Likewise.
65334         * lib/argp-fs-xinl.c: Likewise.
65335         * lib/argp-help.c: Likewise.
65336         * lib/argp-namefrob.h: Likewise.
65337         * lib/argp-parse.c: Likewise.
65338         * lib/argp-pin.c: Likewise.
65339         * lib/argp-pv.c: Likewise.
65340         * lib/argp-pvh.c: Likewise.
65341         * lib/argp-xinl.c: Likewise.
65342         * lib/argp.h: Likewise.
65343         * lib/at-func.c: Likewise.
65344         * lib/atanl.c: Likewise.
65345         * lib/backupfile.c: Likewise.
65346         * lib/backupfile.h: Likewise.
65347         * lib/basename.c: Likewise.
65348         * lib/binary-io.h: Likewise.
65349         * lib/byteswap.in.h: Likewise.
65350         * lib/c-stack.c: Likewise.
65351         * lib/c-stack.h: Likewise.
65352         * lib/c-strcasestr.c: Likewise.
65353         * lib/c-strcasestr.h: Likewise.
65354         * lib/c-strstr.c: Likewise.
65355         * lib/c-strstr.h: Likewise.
65356         * lib/c-strtod.c: Likewise.
65357         * lib/calloc.c: Likewise.
65358         * lib/canon-host.c: Likewise.
65359         * lib/canon-host.h: Likewise.
65360         * lib/canonicalize-lgpl.c: Likewise.
65361         * lib/canonicalize.c: Likewise.
65362         * lib/canonicalize.h: Likewise.
65363         * lib/ceil.c: Likewise.
65364         * lib/ceilf.c: Likewise.
65365         * lib/ceill.c: Likewise.
65366         * lib/chdir-long.c: Likewise.
65367         * lib/chdir-long.h: Likewise.
65368         * lib/chdir-safer.c: Likewise.
65369         * lib/chdir-safer.h: Likewise.
65370         * lib/chown.c: Likewise.
65371         * lib/classpath.c: Likewise.
65372         * lib/classpath.h: Likewise.
65373         * lib/clean-temp.c: Likewise.
65374         * lib/clean-temp.h: Likewise.
65375         * lib/cloexec.c: Likewise.
65376         * lib/close-stream.c: Likewise.
65377         * lib/closein.c: Likewise.
65378         * lib/closein.h: Likewise.
65379         * lib/closeout.c: Likewise.
65380         * lib/closeout.h: Likewise.
65381         * lib/concat-filename.c: Likewise.
65382         * lib/copy-file.c: Likewise.
65383         * lib/copy-file.h: Likewise.
65384         * lib/count-one-bits.h: Likewise.
65385         * lib/crc.c: Likewise.
65386         * lib/crc.h: Likewise.
65387         * lib/creat-safer.c: Likewise.
65388         * lib/csharpcomp.c: Likewise.
65389         * lib/csharpcomp.h: Likewise.
65390         * lib/csharpexec.c: Likewise.
65391         * lib/csharpexec.h: Likewise.
65392         * lib/cycle-check.c: Likewise.
65393         * lib/cycle-check.h: Likewise.
65394         * lib/diacrit.c: Likewise.
65395         * lib/diacrit.h: Likewise.
65396         * lib/diffseq.h: Likewise.
65397         * lib/dirchownmod.c: Likewise.
65398         * lib/dirent.in.h: Likewise.
65399         * lib/dirfd.c: Likewise.
65400         * lib/dirfd.h: Likewise.
65401         * lib/dirname.c: Likewise.
65402         * lib/dirname.h: Likewise.
65403         * lib/dummy.c: Likewise.
65404         * lib/dup-safer.c: Likewise.
65405         * lib/dup2.c: Likewise.
65406         * lib/eealloc.h: Likewise.
65407         * lib/error.c: Likewise.
65408         * lib/error.h: Likewise.
65409         * lib/euidaccess.c: Likewise.
65410         * lib/exclude.c: Likewise.
65411         * lib/exclude.h: Likewise.
65412         * lib/execute.c: Likewise.
65413         * lib/execute.h: Likewise.
65414         * lib/exitfail.c: Likewise.
65415         * lib/exitfail.h: Likewise.
65416         * lib/expl.c: Likewise.
65417         * lib/fatal-signal.c: Likewise.
65418         * lib/fatal-signal.h: Likewise.
65419         * lib/fbufmode.c: Likewise.
65420         * lib/fbufmode.h: Likewise.
65421         * lib/fchdir.c: Likewise.
65422         * lib/fchmodat.c: Likewise.
65423         * lib/fchownat.c: Likewise.
65424         * lib/fcntl--.h: Likewise.
65425         * lib/fcntl-safer.h: Likewise.
65426         * lib/fcntl.in.h: Likewise.
65427         * lib/fd-safer.c: Likewise.
65428         * lib/fflush.c: Likewise.
65429         * lib/file-has-acl.c: Likewise.
65430         * lib/file-set.c: Likewise.
65431         * lib/file-type.c: Likewise.
65432         * lib/file-type.h: Likewise.
65433         * lib/fileblocks.c: Likewise.
65434         * lib/filemode.c: Likewise.
65435         * lib/filemode.h: Likewise.
65436         * lib/filename.h: Likewise.
65437         * lib/filenamecat.c: Likewise.
65438         * lib/filenamecat.h: Likewise.
65439         * lib/findprog.c: Likewise.
65440         * lib/findprog.h: Likewise.
65441         * lib/float.in.h: Likewise.
65442         * lib/floor.c: Likewise.
65443         * lib/floorf.c: Likewise.
65444         * lib/floorl.c: Likewise.
65445         * lib/fopen-safer.c: Likewise.
65446         * lib/fopen.c: Likewise.
65447         * lib/fpending.c: Likewise.
65448         * lib/fpending.h: Likewise.
65449         * lib/fprintf.c: Likewise.
65450         * lib/fprintftime.h: Likewise.
65451         * lib/fpucw.h: Likewise.
65452         * lib/fpurge.c: Likewise.
65453         * lib/fpurge.h: Likewise.
65454         * lib/freadable.c: Likewise.
65455         * lib/freadable.h: Likewise.
65456         * lib/freadahead.c: Likewise.
65457         * lib/freadahead.h: Likewise.
65458         * lib/freading.c: Likewise.
65459         * lib/freading.h: Likewise.
65460         * lib/free.c: Likewise.
65461         * lib/freopen.c: Likewise.
65462         * lib/frexp.c: Likewise.
65463         * lib/frexpl.c: Likewise.
65464         * lib/fseek.c: Likewise.
65465         * lib/fseterr.c: Likewise.
65466         * lib/fseterr.h: Likewise.
65467         * lib/fstatat.c: Likewise.
65468         * lib/fstrcmp.c: Likewise.
65469         * lib/fstrcmp.h: Likewise.
65470         * lib/fsusage.c: Likewise.
65471         * lib/fsusage.h: Likewise.
65472         * lib/ftell.c: Likewise.
65473         * lib/ftello.c: Likewise.
65474         * lib/fts-cycle.c: Likewise.
65475         * lib/fts.c: Likewise.
65476         * lib/fts_.h: Likewise.
65477         * lib/full-read.c: Likewise.
65478         * lib/full-read.h: Likewise.
65479         * lib/full-write.c: Likewise.
65480         * lib/full-write.h: Likewise.
65481         * lib/fwritable.c: Likewise.
65482         * lib/fwritable.h: Likewise.
65483         * lib/fwriteerror.c: Likewise.
65484         * lib/fwriteerror.h: Likewise.
65485         * lib/fwriting.c: Likewise.
65486         * lib/fwriting.h: Likewise.
65487         * lib/gcd.c: Likewise.
65488         * lib/gcd.h: Likewise.
65489         * lib/getcwd.c: Likewise.
65490         * lib/getdate.h: Likewise.
65491         * lib/getdate.y: Likewise.
65492         * lib/getdomainname.c: Likewise.
65493         * lib/getdomainname.h: Likewise.
65494         * lib/getgroups.c: Likewise.
65495         * lib/gethostname.c: Likewise.
65496         * lib/gethrxtime.c: Likewise.
65497         * lib/gethrxtime.h: Likewise.
65498         * lib/getloadavg.c: Likewise.
65499         * lib/getndelim2.c: Likewise.
65500         * lib/getndelim2.h: Likewise.
65501         * lib/getnline.c: Likewise.
65502         * lib/getnline.h: Likewise.
65503         * lib/getopt.c: Likewise.
65504         * lib/getopt.in.h: Likewise.
65505         * lib/getopt1.c: Likewise.
65506         * lib/getopt_int.h: Likewise.
65507         * lib/getpagesize.h: Likewise.
65508         * lib/getsubopt.c: Likewise.
65509         * lib/gettime.c: Likewise.
65510         * lib/getugroups.c: Likewise.
65511         * lib/getugroups.h: Likewise.
65512         * lib/getusershell.c: Likewise.
65513         * lib/gl_anyavltree_list1.h: Likewise.
65514         * lib/gl_anyavltree_list2.h: Likewise.
65515         * lib/gl_anyhash_list1.h: Likewise.
65516         * lib/gl_anyhash_list2.h: Likewise.
65517         * lib/gl_anylinked_list1.h: Likewise.
65518         * lib/gl_anylinked_list2.h: Likewise.
65519         * lib/gl_anyrbtree_list1.h: Likewise.
65520         * lib/gl_anyrbtree_list2.h: Likewise.
65521         * lib/gl_anytree_list1.h: Likewise.
65522         * lib/gl_anytree_list2.h: Likewise.
65523         * lib/gl_anytree_oset.h: Likewise.
65524         * lib/gl_anytreehash_list1.h: Likewise.
65525         * lib/gl_anytreehash_list2.h: Likewise.
65526         * lib/gl_array_list.c: Likewise.
65527         * lib/gl_array_list.h: Likewise.
65528         * lib/gl_array_oset.c: Likewise.
65529         * lib/gl_array_oset.h: Likewise.
65530         * lib/gl_avltree_list.c: Likewise.
65531         * lib/gl_avltree_list.h: Likewise.
65532         * lib/gl_avltree_oset.c: Likewise.
65533         * lib/gl_avltree_oset.h: Likewise.
65534         * lib/gl_avltreehash_list.c: Likewise.
65535         * lib/gl_avltreehash_list.h: Likewise.
65536         * lib/gl_carray_list.c: Likewise.
65537         * lib/gl_carray_list.h: Likewise.
65538         * lib/gl_linked_list.c: Likewise.
65539         * lib/gl_linked_list.h: Likewise.
65540         * lib/gl_linkedhash_list.c: Likewise.
65541         * lib/gl_linkedhash_list.h: Likewise.
65542         * lib/gl_list.c: Likewise.
65543         * lib/gl_list.h: Likewise.
65544         * lib/gl_oset.c: Likewise.
65545         * lib/gl_oset.h: Likewise.
65546         * lib/gl_rbtree_list.c: Likewise.
65547         * lib/gl_rbtree_list.h: Likewise.
65548         * lib/gl_rbtree_oset.c: Likewise.
65549         * lib/gl_rbtree_oset.h: Likewise.
65550         * lib/gl_rbtreehash_list.c: Likewise.
65551         * lib/gl_rbtreehash_list.h: Likewise.
65552         * lib/gl_sublist.c: Likewise.
65553         * lib/gl_sublist.h: Likewise.
65554         * lib/group-member.c: Likewise.
65555         * lib/group-member.h: Likewise.
65556         * lib/hard-locale.c: Likewise.
65557         * lib/hard-locale.h: Likewise.
65558         * lib/hash-pjw.c: Likewise.
65559         * lib/hash-pjw.h: Likewise.
65560         * lib/hash-triple.c: Likewise.
65561         * lib/hash.c: Likewise.
65562         * lib/hash.h: Likewise.
65563         * lib/human.c: Likewise.
65564         * lib/human.h: Likewise.
65565         * lib/i-ring.c: Likewise.
65566         * lib/i-ring.h: Likewise.
65567         * lib/idcache.c: Likewise.
65568         * lib/imaxabs.c: Likewise.
65569         * lib/imaxdiv.c: Likewise.
65570         * lib/inet_pton.c: Likewise.
65571         * lib/inet_pton.h: Likewise.
65572         * lib/intprops.h: Likewise.
65573         * lib/inttostr.c: Likewise.
65574         * lib/inttostr.h: Likewise.
65575         * lib/inttypes.in.h: Likewise.
65576         * lib/isapipe.c: Likewise.
65577         * lib/isdir.c: Likewise.
65578         * lib/isnan.c: Likewise.
65579         * lib/isnan.h: Likewise.
65580         * lib/isnanf.c: Likewise.
65581         * lib/isnanf.h: Likewise.
65582         * lib/isnanl-nolibm.h: Likewise.
65583         * lib/isnanl.c: Likewise.
65584         * lib/isnanl.h: Likewise.
65585         * lib/javacomp.c: Likewise.
65586         * lib/javacomp.h: Likewise.
65587         * lib/javaexec.c: Likewise.
65588         * lib/javaexec.h: Likewise.
65589         * lib/javaversion.c: Likewise.
65590         * lib/javaversion.h: Likewise.
65591         * lib/javaversion.java: Likewise.
65592         * lib/lbrkprop.h: Likewise.
65593         * lib/lchmod.h: Likewise.
65594         * lib/lchown.c: Likewise.
65595         * lib/ldexpl.c: Likewise.
65596         * lib/linebreak.c: Likewise.
65597         * lib/linebreak.h: Likewise.
65598         * lib/linebuffer.c: Likewise.
65599         * lib/linebuffer.h: Likewise.
65600         * lib/locale.in.h: Likewise.
65601         * lib/logl.c: Likewise.
65602         * lib/long-options.c: Likewise.
65603         * lib/long-options.h: Likewise.
65604         * lib/lstat.c: Likewise.
65605         * lib/lstat.h: Likewise.
65606         * lib/math.in.h: Likewise.
65607         * lib/mbchar.c: Likewise.
65608         * lib/mbchar.h: Likewise.
65609         * lib/mbfile.h: Likewise.
65610         * lib/mbiter.h: Likewise.
65611         * lib/mbscasecmp.c: Likewise.
65612         * lib/mbscasestr.c: Likewise.
65613         * lib/mbschr.c: Likewise.
65614         * lib/mbscspn.c: Likewise.
65615         * lib/mbslen.c: Likewise.
65616         * lib/mbsncasecmp.c: Likewise.
65617         * lib/mbsnlen.c: Likewise.
65618         * lib/mbspbrk.c: Likewise.
65619         * lib/mbspcasecmp.c: Likewise.
65620         * lib/mbsrchr.c: Likewise.
65621         * lib/mbssep.c: Likewise.
65622         * lib/mbsspn.c: Likewise.
65623         * lib/mbsstr.c: Likewise.
65624         * lib/mbstok_r.c: Likewise.
65625         * lib/mbswidth.c: Likewise.
65626         * lib/mbswidth.h: Likewise.
65627         * lib/mbuiter.h: Likewise.
65628         * lib/memcasecmp.c: Likewise.
65629         * lib/memcasecmp.h: Likewise.
65630         * lib/memchr.c: Likewise.
65631         * lib/memcmp.c: Likewise.
65632         * lib/memcoll.c: Likewise.
65633         * lib/memcoll.h: Likewise.
65634         * lib/memcpy.c: Likewise.
65635         * lib/memrchr.c: Likewise.
65636         * lib/mkancesdirs.c: Likewise.
65637         * lib/mkdir-p.c: Likewise.
65638         * lib/mkdir-p.h: Likewise.
65639         * lib/mkdir.c: Likewise.
65640         * lib/mkdirat.c: Likewise.
65641         * lib/mkdtemp.c: Likewise.
65642         * lib/mkstemp-safer.c: Likewise.
65643         * lib/mkstemp.c: Likewise.
65644         * lib/modechange.c: Likewise.
65645         * lib/modechange.h: Likewise.
65646         * lib/mountlist.c: Likewise.
65647         * lib/mountlist.h: Likewise.
65648         * lib/mpsort.c: Likewise.
65649         * lib/nanosleep.c: Likewise.
65650         * lib/obstack.c: Likewise.
65651         * lib/obstack.h: Likewise.
65652         * lib/open-safer.c: Likewise.
65653         * lib/open.c: Likewise.
65654         * lib/openat-die.c: Likewise.
65655         * lib/openat-priv.h: Likewise.
65656         * lib/openat-proc.c: Likewise.
65657         * lib/openat.c: Likewise.
65658         * lib/openat.h: Likewise.
65659         * lib/pagealign_alloc.c: Likewise.
65660         * lib/pagealign_alloc.h: Likewise.
65661         * lib/physmem.c: Likewise.
65662         * lib/physmem.h: Likewise.
65663         * lib/pipe-safer.c: Likewise.
65664         * lib/pipe.c: Likewise.
65665         * lib/pipe.h: Likewise.
65666         * lib/posixtm.c: Likewise.
65667         * lib/posixtm.h: Likewise.
65668         * lib/posixver.c: Likewise.
65669         * lib/printf-frexp.c: Likewise.
65670         * lib/printf-frexp.h: Likewise.
65671         * lib/printf-frexpl.c: Likewise.
65672         * lib/printf-frexpl.h: Likewise.
65673         * lib/printf.c: Likewise.
65674         * lib/progname.c: Likewise.
65675         * lib/progname.h: Likewise.
65676         * lib/progreloc.c: Likewise.
65677         * lib/putenv.c: Likewise.
65678         * lib/quote.c: Likewise.
65679         * lib/quote.h: Likewise.
65680         * lib/quotearg.c: Likewise.
65681         * lib/quotearg.h: Likewise.
65682         * lib/raise.c: Likewise.
65683         * lib/readline.c: Likewise.
65684         * lib/readline.h: Likewise.
65685         * lib/readlink.c: Likewise.
65686         * lib/readtokens.c: Likewise.
65687         * lib/readtokens.h: Likewise.
65688         * lib/readtokens0.c: Likewise.
65689         * lib/readtokens0.h: Likewise.
65690         * lib/readutmp.c: Likewise.
65691         * lib/readutmp.h: Likewise.
65692         * lib/realloc.c: Likewise.
65693         * lib/relocwrapper.c: Likewise.
65694         * lib/rename-dest-slash.c: Likewise.
65695         * lib/rename.c: Likewise.
65696         * lib/rmdir.c: Likewise.
65697         * lib/rpmatch.c: Likewise.
65698         * lib/safe-read.c: Likewise.
65699         * lib/safe-read.h: Likewise.
65700         * lib/safe-write.c: Likewise.
65701         * lib/safe-write.h: Likewise.
65702         * lib/same-inode.h: Likewise.
65703         * lib/same.c: Likewise.
65704         * lib/same.h: Likewise.
65705         * lib/save-cwd.c: Likewise.
65706         * lib/save-cwd.h: Likewise.
65707         * lib/savedir.c: Likewise.
65708         * lib/savedir.h: Likewise.
65709         * lib/savewd.c: Likewise.
65710         * lib/savewd.h: Likewise.
65711         * lib/search.in.h: Likewise.
65712         * lib/setenv.c: Likewise.
65713         * lib/setenv.h: Likewise.
65714         * lib/settime.c: Likewise.
65715         * lib/sh-quote.c: Likewise.
65716         * lib/sh-quote.h: Likewise.
65717         * lib/sig2str.c: Likewise.
65718         * lib/sig2str.h: Likewise.
65719         * lib/signal.in.h: Likewise.
65720         * lib/signbitd.c: Likewise.
65721         * lib/signbitf.c: Likewise.
65722         * lib/signbitl.c: Likewise.
65723         * lib/sigprocmask.c: Likewise.
65724         * lib/sincosl.c: Likewise.
65725         * lib/sleep.c: Likewise.
65726         * lib/sprintf.c: Likewise.
65727         * lib/sqrtl.c: Likewise.
65728         * lib/stat-time.h: Likewise.
65729         * lib/stdio--.h: Likewise.
65730         * lib/stdio-safer.h: Likewise.
65731         * lib/stdlib--.h: Likewise.
65732         * lib/stdlib-safer.h: Likewise.
65733         * lib/stdlib.in.h: Likewise.
65734         * lib/stpcpy.c: Likewise.
65735         * lib/stpncpy.c: Likewise.
65736         * lib/strchrnul.c: Likewise.
65737         * lib/strcspn.c: Likewise.
65738         * lib/strerror.c: Likewise.
65739         * lib/strftime.c: Likewise.
65740         * lib/strftime.h: Likewise.
65741         * lib/striconveh.c: Likewise.
65742         * lib/striconveh.h: Likewise.
65743         * lib/striconveha.c: Likewise.
65744         * lib/striconveha.h: Likewise.
65745         * lib/stripslash.c: Likewise.
65746         * lib/strnlen1.c: Likewise.
65747         * lib/strnlen1.h: Likewise.
65748         * lib/strtod.c: Likewise.
65749         * lib/strtoimax.c: Likewise.
65750         * lib/strtok_r.c: Likewise.
65751         * lib/strtol.c: Likewise.
65752         * lib/strtoll.c: Likewise.
65753         * lib/strtoul.c: Likewise.
65754         * lib/strtoull.c: Likewise.
65755         * lib/sysexits.in.h: Likewise.
65756         * lib/tempname.c: Likewise.
65757         * lib/tempname.h: Likewise.
65758         * lib/timespec.h: Likewise.
65759         * lib/tls.c: Likewise.
65760         * lib/tls.h: Likewise.
65761         * lib/tmpdir.c: Likewise.
65762         * lib/tmpdir.h: Likewise.
65763         * lib/tmpfile-safer.c: Likewise.
65764         * lib/tmpfile.c: Likewise.
65765         * lib/trigl.c: Likewise.
65766         * lib/trigl.h: Likewise.
65767         * lib/trim.c: Likewise.
65768         * lib/trim.h: Likewise.
65769         * lib/trunc.c: Likewise.
65770         * lib/truncf.c: Likewise.
65771         * lib/truncl.c: Likewise.
65772         * lib/tsearch.c: Likewise.
65773         * lib/unicodeio.c: Likewise.
65774         * lib/unicodeio.h: Likewise.
65775         * lib/unistd--.h: Likewise.
65776         * lib/unistd-safer.h: Likewise.
65777         * lib/unistdio/ulc-fprintf.c: Likewise.
65778         * lib/unistdio/ulc-vfprintf.c: Likewise.
65779         * lib/unlinkdir.c: Likewise.
65780         * lib/unlinkdir.h: Likewise.
65781         * lib/unlocked-io.h: Likewise.
65782         * lib/unsetenv.c: Likewise.
65783         * lib/userspec.c: Likewise.
65784         * lib/utime.c: Likewise.
65785         * lib/utimecmp.c: Likewise.
65786         * lib/utimecmp.h: Likewise.
65787         * lib/utimens.c: Likewise.
65788         * lib/verify.h: Likewise.
65789         * lib/verror.c: Likewise.
65790         * lib/verror.h: Likewise.
65791         * lib/version-etc-fsf.c: Likewise.
65792         * lib/version-etc.c: Likewise.
65793         * lib/version-etc.h: Likewise.
65794         * lib/vfprintf.c: Likewise.
65795         * lib/vprintf.c: Likewise.
65796         * lib/vsprintf.c: Likewise.
65797         * lib/w32spawn.h: Likewise.
65798         * lib/wait-process.c: Likewise.
65799         * lib/wait-process.h: Likewise.
65800         * lib/wcwidth.c: Likewise.
65801         * lib/write-any-file.c: Likewise.
65802         * lib/xalloc-die.c: Likewise.
65803         * lib/xalloc.h: Likewise.
65804         * lib/xasprintf.c: Likewise.
65805         * lib/xgetcwd.c: Likewise.
65806         * lib/xgetcwd.h: Likewise.
65807         * lib/xgetdomainname.c: Likewise.
65808         * lib/xgetdomainname.h: Likewise.
65809         * lib/xgethostname.c: Likewise.
65810         * lib/xmalloc.c: Likewise.
65811         * lib/xmalloca.c: Likewise.
65812         * lib/xmalloca.h: Likewise.
65813         * lib/xmemcoll.c: Likewise.
65814         * lib/xnanosleep.c: Likewise.
65815         * lib/xreadlink.c: Likewise.
65816         * lib/xreadlink.h: Likewise.
65817         * lib/xsetenv.c: Likewise.
65818         * lib/xsetenv.h: Likewise.
65819         * lib/xstriconv.c: Likewise.
65820         * lib/xstriconv.h: Likewise.
65821         * lib/xstrndup.c: Likewise.
65822         * lib/xstrndup.h: Likewise.
65823         * lib/xstrtod.c: Likewise.
65824         * lib/xstrtod.h: Likewise.
65825         * lib/xstrtol-error.c: Likewise.
65826         * lib/xstrtol.c: Likewise.
65827         * lib/xstrtol.h: Likewise.
65828         * lib/xtime.h: Likewise.
65829         * lib/xvasprintf.c: Likewise.
65830         * lib/xvasprintf.h: Likewise.
65831         * lib/yesno.c: Likewise.
65832         * lib/yesno.h: Likewise.
65833         * posix-modules: Likewise.
65834         * tests/test-alloca-opt.c: Likewise.
65835         * tests/test-arcfour.c: Likewise.
65836         * tests/test-arctwo.c: Likewise.
65837         * tests/test-argmatch.c: Likewise.
65838         * tests/test-argp-2.sh: Likewise.
65839         * tests/test-argp.c: Likewise.
65840         * tests/test-arpa_inet.c: Likewise.
65841         * tests/test-array_list.c: Likewise.
65842         * tests/test-array_oset.c: Likewise.
65843         * tests/test-atexit.c: Likewise.
65844         * tests/test-avltree_list.c: Likewise.
65845         * tests/test-avltree_oset.c: Likewise.
65846         * tests/test-avltreehash_list.c: Likewise.
65847         * tests/test-base64.c: Likewise.
65848         * tests/test-binary-io.c: Likewise.
65849         * tests/test-byteswap.c: Likewise.
65850         * tests/test-c-ctype.c: Likewise.
65851         * tests/test-c-strcasecmp.c: Likewise.
65852         * tests/test-c-strcasestr.c: Likewise.
65853         * tests/test-c-strncasecmp.c: Likewise.
65854         * tests/test-c-strstr.c: Likewise.
65855         * tests/test-canonicalize-lgpl.c: Likewise.
65856         * tests/test-canonicalize.c: Likewise.
65857         * tests/test-carray_list.c: Likewise.
65858         * tests/test-ceilf.c: Likewise.
65859         * tests/test-ceill.c: Likewise.
65860         * tests/test-count-one-bits.c: Likewise.
65861         * tests/test-crc.c: Likewise.
65862         * tests/test-dirname.c: Likewise.
65863         * tests/test-fbufmode.c: Likewise.
65864         * tests/test-fcntl.c: Likewise.
65865         * tests/test-fflush.c: Likewise.
65866         * tests/test-floorf.c: Likewise.
65867         * tests/test-floorl.c: Likewise.
65868         * tests/test-fopen.c: Likewise.
65869         * tests/test-fprintf-posix.c: Likewise.
65870         * tests/test-fprintf-posix.h: Likewise.
65871         * tests/test-fpurge.c: Likewise.
65872         * tests/test-freadable.c: Likewise.
65873         * tests/test-freadahead.c: Likewise.
65874         * tests/test-freading.c: Likewise.
65875         * tests/test-freopen.c: Likewise.
65876         * tests/test-frexp.c: Likewise.
65877         * tests/test-frexpl.c: Likewise.
65878         * tests/test-fseek.c: Likewise.
65879         * tests/test-fseeko.c: Likewise.
65880         * tests/test-fseterr.c: Likewise.
65881         * tests/test-fstrcmp.c: Likewise.
65882         * tests/test-ftell.c: Likewise.
65883         * tests/test-ftello.c: Likewise.
65884         * tests/test-fwritable.c: Likewise.
65885         * tests/test-fwriting.c: Likewise.
65886         * tests/test-getaddrinfo.c: Likewise.
65887         * tests/test-getpass.c: Likewise.
65888         * tests/test-gettimeofday.c: Likewise.
65889         * tests/test-hmac-md5.c: Likewise.
65890         * tests/test-hmac-sha1.c: Likewise.
65891         * tests/test-iconv.c: Likewise.
65892         * tests/test-iconvme.c: Likewise.
65893         * tests/test-inttypes.c: Likewise.
65894         * tests/test-isnan.c: Likewise.
65895         * tests/test-isnanf.c: Likewise.
65896         * tests/test-isnanl-nolibm.c: Likewise.
65897         * tests/test-isnanl.c: Likewise.
65898         * tests/test-isnanl.h: Likewise.
65899         * tests/test-ldexpl.c: Likewise.
65900         * tests/test-linked_list.c: Likewise.
65901         * tests/test-linkedhash_list.c: Likewise.
65902         * tests/test-locale.c: Likewise.
65903         * tests/test-localename.c: Likewise.
65904         * tests/test-lock.c: Likewise.
65905         * tests/test-lseek.c: Likewise.
65906         * tests/test-malloca.c: Likewise.
65907         * tests/test-math.c: Likewise.
65908         * tests/test-mbscasecmp.c: Likewise.
65909         * tests/test-mbscasestr1.c: Likewise.
65910         * tests/test-mbscasestr2.c: Likewise.
65911         * tests/test-mbscasestr3.c: Likewise.
65912         * tests/test-mbscasestr4.c: Likewise.
65913         * tests/test-mbschr.c: Likewise.
65914         * tests/test-mbscspn.c: Likewise.
65915         * tests/test-mbsncasecmp.c: Likewise.
65916         * tests/test-mbspbrk.c: Likewise.
65917         * tests/test-mbspcasecmp.c: Likewise.
65918         * tests/test-mbsrchr.c: Likewise.
65919         * tests/test-mbsspn.c: Likewise.
65920         * tests/test-mbsstr1.c: Likewise.
65921         * tests/test-mbsstr2.c: Likewise.
65922         * tests/test-mbsstr3.c: Likewise.
65923         * tests/test-md5.c: Likewise.
65924         * tests/test-memmem.c: Likewise.
65925         * tests/test-netinet_in.c: Likewise.
65926         * tests/test-open.c: Likewise.
65927         * tests/test-printf-frexp.c: Likewise.
65928         * tests/test-printf-frexpl.c: Likewise.
65929         * tests/test-printf-posix.c: Likewise.
65930         * tests/test-printf-posix.h: Likewise.
65931         * tests/test-rbtree_list.c: Likewise.
65932         * tests/test-rbtree_oset.c: Likewise.
65933         * tests/test-rbtreehash_list.c: Likewise.
65934         * tests/test-read-file.c: Likewise.
65935         * tests/test-rijndael.c: Likewise.
65936         * tests/test-search.c: Likewise.
65937         * tests/test-signbit.c: Likewise.
65938         * tests/test-sleep.c: Likewise.
65939         * tests/test-snprintf-posix.c: Likewise.
65940         * tests/test-snprintf-posix.h: Likewise.
65941         * tests/test-snprintf.c: Likewise.
65942         * tests/test-sprintf-posix.c: Likewise.
65943         * tests/test-sprintf-posix.h: Likewise.
65944         * tests/test-stat-time.c: Likewise.
65945         * tests/test-stdbool.c: Likewise.
65946         * tests/test-stdint.c: Likewise.
65947         * tests/test-stdio.c: Likewise.
65948         * tests/test-stdlib.c: Likewise.
65949         * tests/test-stpncpy.c: Likewise.
65950         * tests/test-strcasestr.c: Likewise.
65951         * tests/test-striconv.c: Likewise.
65952         * tests/test-striconveh.c: Likewise.
65953         * tests/test-striconveha.c: Likewise.
65954         * tests/test-string.c: Likewise.
65955         * tests/test-sys_select.c: Likewise.
65956         * tests/test-sys_socket.c: Likewise.
65957         * tests/test-sys_stat.c: Likewise.
65958         * tests/test-sys_time.c: Likewise.
65959         * tests/test-sysexits.c: Likewise.
65960         * tests/test-time.c: Likewise.
65961         * tests/test-tls.c: Likewise.
65962         * tests/test-trunc.c: Likewise.
65963         * tests/test-truncf.c: Likewise.
65964         * tests/test-truncl.c: Likewise.
65965         * tests/test-unistd.c: Likewise.
65966         * tests/test-vasnprintf-posix.c: Likewise.
65967         * tests/test-vasnprintf-posix2.c: Likewise.
65968         * tests/test-vasnprintf.c: Likewise.
65969         * tests/test-vasprintf-posix.c: Likewise.
65970         * tests/test-vasprintf.c: Likewise.
65971         * tests/test-verify.c: Likewise.
65972         * tests/test-vfprintf-posix.c: Likewise.
65973         * tests/test-vprintf-posix.c: Likewise.
65974         * tests/test-vsnprintf-posix.c: Likewise.
65975         * tests/test-vsnprintf.c: Likewise.
65976         * tests/test-vsprintf-posix.c: Likewise.
65977         * tests/test-wchar.c: Likewise.
65978         * tests/test-wctype.c: Likewise.
65979         * tests/test-wcwidth.c: Likewise.
65980         * tests/test-xstrtol.c: Likewise.
65981         * tests/test-xvasprintf.c: Likewise.
65982         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
65983         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
65984         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65985         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65986         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65987         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
65988         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65989         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65990         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65991         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
65992         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65993         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65994         * tests/uniname/test-uninames.c: Likewise.
65995         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
65996         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
65997         * tests/unistdio/test-u16-printf1.h: Likewise.
65998         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
65999         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
66000         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
66001         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
66002         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
66003         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
66004         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
66005         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
66006         * tests/unistdio/test-u32-printf1.h: Likewise.
66007         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
66008         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
66009         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
66010         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
66011         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
66012         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
66013         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
66014         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
66015         * tests/unistdio/test-u8-printf1.h: Likewise.
66016         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
66017         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
66018         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
66019         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
66020         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
66021         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
66022         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
66023         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
66024         * tests/unistdio/test-ulc-printf1.h: Likewise.
66025         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
66026         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
66027         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
66028         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
66029         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
66030         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
66031         * tests/uniwidth/test-u16-strwidth.c: Likewise.
66032         * tests/uniwidth/test-u16-width.c: Likewise.
66033         * tests/uniwidth/test-u32-strwidth.c: Likewise.
66034         * tests/uniwidth/test-u32-width.c: Likewise.
66035         * tests/uniwidth/test-u8-strwidth.c: Likewise.
66036         * tests/uniwidth/test-u8-width.c: Likewise.
66037         * tests/uniwidth/test-uc_width.c: Likewise.
66038         * config/srclist-update: Likewise.
66039         (fixlicense): Update to GPLv3+.
66040
66041         Change copyright notice from LGPLv2.1+ to LGPLv3+.
66042         * tests/test-tsearch.c: Change copyright notice.
66043
66044         Change copyright notice from LGPLv2.0+ to LGPLv3+.
66045         * lib/c-strcaseeq.h: Change copyright notice.
66046         * lib/streq.h: Likewise.
66047         * lib/uniconv.h: Likewise.
66048         * lib/uniconv/u-conv-from-enc.h: Likewise.
66049         * lib/uniconv/u-conv-to-enc.h: Likewise.
66050         * lib/uniconv/u-strconv-from-enc.h: Likewise.
66051         * lib/uniconv/u-strconv-to-enc.h: Likewise.
66052         * lib/uniconv/u16-conv-from-enc.c: Likewise.
66053         * lib/uniconv/u16-conv-to-enc.c: Likewise.
66054         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
66055         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
66056         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
66057         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
66058         * lib/uniconv/u32-conv-from-enc.c: Likewise.
66059         * lib/uniconv/u32-conv-to-enc.c: Likewise.
66060         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
66061         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
66062         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
66063         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
66064         * lib/uniconv/u8-conv-from-enc.c: Likewise.
66065         * lib/uniconv/u8-conv-to-enc.c: Likewise.
66066         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
66067         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
66068         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
66069         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
66070         * lib/uniname.h: Likewise.
66071         * lib/uniname/uniname.c: Likewise.
66072         * lib/unistdio.h: Likewise.
66073         * lib/unistdio/u-asnprintf.h: Likewise.
66074         * lib/unistdio/u-asprintf.h: Likewise.
66075         * lib/unistdio/u-printf-args.c: Likewise.
66076         * lib/unistdio/u-printf-args.h: Likewise.
66077         * lib/unistdio/u-printf-parse.h: Likewise.
66078         * lib/unistdio/u-snprintf.h: Likewise.
66079         * lib/unistdio/u-sprintf.h: Likewise.
66080         * lib/unistdio/u-vasprintf.h: Likewise.
66081         * lib/unistdio/u-vsnprintf.h: Likewise.
66082         * lib/unistdio/u-vsprintf.h: Likewise.
66083         * lib/unistdio/u16-asnprintf.c: Likewise.
66084         * lib/unistdio/u16-asprintf.c: Likewise.
66085         * lib/unistdio/u16-printf-parse.c: Likewise.
66086         * lib/unistdio/u16-snprintf.c: Likewise.
66087         * lib/unistdio/u16-sprintf.c: Likewise.
66088         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
66089         * lib/unistdio/u16-u16-asprintf.c: Likewise.
66090         * lib/unistdio/u16-u16-snprintf.c: Likewise.
66091         * lib/unistdio/u16-u16-sprintf.c: Likewise.
66092         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
66093         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
66094         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
66095         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
66096         * lib/unistdio/u16-vasnprintf.c: Likewise.
66097         * lib/unistdio/u16-vasprintf.c: Likewise.
66098         * lib/unistdio/u16-vsnprintf.c: Likewise.
66099         * lib/unistdio/u16-vsprintf.c: Likewise.
66100         * lib/unistdio/u32-asnprintf.c: Likewise.
66101         * lib/unistdio/u32-asprintf.c: Likewise.
66102         * lib/unistdio/u32-printf-parse.c: Likewise.
66103         * lib/unistdio/u32-snprintf.c: Likewise.
66104         * lib/unistdio/u32-sprintf.c: Likewise.
66105         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
66106         * lib/unistdio/u32-u32-asprintf.c: Likewise.
66107         * lib/unistdio/u32-u32-snprintf.c: Likewise.
66108         * lib/unistdio/u32-u32-sprintf.c: Likewise.
66109         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
66110         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
66111         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
66112         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
66113         * lib/unistdio/u32-vasnprintf.c: Likewise.
66114         * lib/unistdio/u32-vasprintf.c: Likewise.
66115         * lib/unistdio/u32-vsnprintf.c: Likewise.
66116         * lib/unistdio/u32-vsprintf.c: Likewise.
66117         * lib/unistdio/u8-asnprintf.c: Likewise.
66118         * lib/unistdio/u8-asprintf.c: Likewise.
66119         * lib/unistdio/u8-printf-parse.c: Likewise.
66120         * lib/unistdio/u8-snprintf.c: Likewise.
66121         * lib/unistdio/u8-sprintf.c: Likewise.
66122         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
66123         * lib/unistdio/u8-u8-asprintf.c: Likewise.
66124         * lib/unistdio/u8-u8-snprintf.c: Likewise.
66125         * lib/unistdio/u8-u8-sprintf.c: Likewise.
66126         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
66127         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
66128         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
66129         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
66130         * lib/unistdio/u8-vasnprintf.c: Likewise.
66131         * lib/unistdio/u8-vasprintf.c: Likewise.
66132         * lib/unistdio/u8-vsnprintf.c: Likewise.
66133         * lib/unistdio/u8-vsprintf.c: Likewise.
66134         * lib/unistdio/ulc-asnprintf.c: Likewise.
66135         * lib/unistdio/ulc-asprintf.c: Likewise.
66136         * lib/unistdio/ulc-printf-parse.c: Likewise.
66137         * lib/unistdio/ulc-snprintf.c: Likewise.
66138         * lib/unistdio/ulc-sprintf.c: Likewise.
66139         * lib/unistdio/ulc-vasnprintf.c: Likewise.
66140         * lib/unistdio/ulc-vasprintf.c: Likewise.
66141         * lib/unistdio/ulc-vsnprintf.c: Likewise.
66142         * lib/unistdio/ulc-vsprintf.c: Likewise.
66143         * lib/unistr.h: Likewise.
66144         * lib/unistr/u-cpy-alloc.h: Likewise.
66145         * lib/unistr/u-cpy.h: Likewise.
66146         * lib/unistr/u-endswith.h: Likewise.
66147         * lib/unistr/u-move.h: Likewise.
66148         * lib/unistr/u-set.h: Likewise.
66149         * lib/unistr/u-startswith.h: Likewise.
66150         * lib/unistr/u-stpcpy.h: Likewise.
66151         * lib/unistr/u-stpncpy.h: Likewise.
66152         * lib/unistr/u-strcat.h: Likewise.
66153         * lib/unistr/u-strcpy.h: Likewise.
66154         * lib/unistr/u-strcspn.h: Likewise.
66155         * lib/unistr/u-strdup.h: Likewise.
66156         * lib/unistr/u-strlen.h: Likewise.
66157         * lib/unistr/u-strncat.h: Likewise.
66158         * lib/unistr/u-strncpy.h: Likewise.
66159         * lib/unistr/u-strnlen.h: Likewise.
66160         * lib/unistr/u-strpbrk.h: Likewise.
66161         * lib/unistr/u-strspn.h: Likewise.
66162         * lib/unistr/u-strstr.h: Likewise.
66163         * lib/unistr/u-strtok.h: Likewise.
66164         * lib/unistr/u16-check.c: Likewise.
66165         * lib/unistr/u16-chr.c: Likewise.
66166         * lib/unistr/u16-cmp.c: Likewise.
66167         * lib/unistr/u16-cpy-alloc.c: Likewise.
66168         * lib/unistr/u16-cpy.c: Likewise.
66169         * lib/unistr/u16-endswith.c: Likewise.
66170         * lib/unistr/u16-mblen.c: Likewise.
66171         * lib/unistr/u16-mbsnlen.c: Likewise.
66172         * lib/unistr/u16-mbtouc-aux.c: Likewise.
66173         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
66174         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
66175         * lib/unistr/u16-mbtouc.c: Likewise.
66176         * lib/unistr/u16-mbtoucr.c: Likewise.
66177         * lib/unistr/u16-move.c: Likewise.
66178         * lib/unistr/u16-next.c: Likewise.
66179         * lib/unistr/u16-prev.c: Likewise.
66180         * lib/unistr/u16-set.c: Likewise.
66181         * lib/unistr/u16-startswith.c: Likewise.
66182         * lib/unistr/u16-stpcpy.c: Likewise.
66183         * lib/unistr/u16-stpncpy.c: Likewise.
66184         * lib/unistr/u16-strcat.c: Likewise.
66185         * lib/unistr/u16-strchr.c: Likewise.
66186         * lib/unistr/u16-strcmp.c: Likewise.
66187         * lib/unistr/u16-strcpy.c: Likewise.
66188         * lib/unistr/u16-strcspn.c: Likewise.
66189         * lib/unistr/u16-strdup.c: Likewise.
66190         * lib/unistr/u16-strlen.c: Likewise.
66191         * lib/unistr/u16-strmblen.c: Likewise.
66192         * lib/unistr/u16-strmbtouc.c: Likewise.
66193         * lib/unistr/u16-strncat.c: Likewise.
66194         * lib/unistr/u16-strncmp.c: Likewise.
66195         * lib/unistr/u16-strncpy.c: Likewise.
66196         * lib/unistr/u16-strnlen.c: Likewise.
66197         * lib/unistr/u16-strpbrk.c: Likewise.
66198         * lib/unistr/u16-strrchr.c: Likewise.
66199         * lib/unistr/u16-strspn.c: Likewise.
66200         * lib/unistr/u16-strstr.c: Likewise.
66201         * lib/unistr/u16-strtok.c: Likewise.
66202         * lib/unistr/u16-to-u32.c: Likewise.
66203         * lib/unistr/u16-to-u8.c: Likewise.
66204         * lib/unistr/u16-uctomb-aux.c: Likewise.
66205         * lib/unistr/u16-uctomb.c: Likewise.
66206         * lib/unistr/u32-check.c: Likewise.
66207         * lib/unistr/u32-chr.c: Likewise.
66208         * lib/unistr/u32-cmp.c: Likewise.
66209         * lib/unistr/u32-cpy-alloc.c: Likewise.
66210         * lib/unistr/u32-cpy.c: Likewise.
66211         * lib/unistr/u32-endswith.c: Likewise.
66212         * lib/unistr/u32-mblen.c: Likewise.
66213         * lib/unistr/u32-mbsnlen.c: Likewise.
66214         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
66215         * lib/unistr/u32-mbtouc.c: Likewise.
66216         * lib/unistr/u32-mbtoucr.c: Likewise.
66217         * lib/unistr/u32-move.c: Likewise.
66218         * lib/unistr/u32-next.c: Likewise.
66219         * lib/unistr/u32-prev.c: Likewise.
66220         * lib/unistr/u32-set.c: Likewise.
66221         * lib/unistr/u32-startswith.c: Likewise.
66222         * lib/unistr/u32-stpcpy.c: Likewise.
66223         * lib/unistr/u32-stpncpy.c: Likewise.
66224         * lib/unistr/u32-strcat.c: Likewise.
66225         * lib/unistr/u32-strchr.c: Likewise.
66226         * lib/unistr/u32-strcmp.c: Likewise.
66227         * lib/unistr/u32-strcpy.c: Likewise.
66228         * lib/unistr/u32-strcspn.c: Likewise.
66229         * lib/unistr/u32-strdup.c: Likewise.
66230         * lib/unistr/u32-strlen.c: Likewise.
66231         * lib/unistr/u32-strmblen.c: Likewise.
66232         * lib/unistr/u32-strmbtouc.c: Likewise.
66233         * lib/unistr/u32-strncat.c: Likewise.
66234         * lib/unistr/u32-strncmp.c: Likewise.
66235         * lib/unistr/u32-strncpy.c: Likewise.
66236         * lib/unistr/u32-strnlen.c: Likewise.
66237         * lib/unistr/u32-strpbrk.c: Likewise.
66238         * lib/unistr/u32-strrchr.c: Likewise.
66239         * lib/unistr/u32-strspn.c: Likewise.
66240         * lib/unistr/u32-strstr.c: Likewise.
66241         * lib/unistr/u32-strtok.c: Likewise.
66242         * lib/unistr/u32-to-u16.c: Likewise.
66243         * lib/unistr/u32-to-u8.c: Likewise.
66244         * lib/unistr/u32-uctomb.c: Likewise.
66245         * lib/unistr/u8-check.c: Likewise.
66246         * lib/unistr/u8-chr.c: Likewise.
66247         * lib/unistr/u8-cmp.c: Likewise.
66248         * lib/unistr/u8-cpy-alloc.c: Likewise.
66249         * lib/unistr/u8-cpy.c: Likewise.
66250         * lib/unistr/u8-endswith.c: Likewise.
66251         * lib/unistr/u8-mblen.c: Likewise.
66252         * lib/unistr/u8-mbsnlen.c: Likewise.
66253         * lib/unistr/u8-mbtouc-aux.c: Likewise.
66254         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
66255         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66256         * lib/unistr/u8-mbtouc.c: Likewise.
66257         * lib/unistr/u8-mbtoucr.c: Likewise.
66258         * lib/unistr/u8-move.c: Likewise.
66259         * lib/unistr/u8-next.c: Likewise.
66260         * lib/unistr/u8-prev.c: Likewise.
66261         * lib/unistr/u8-set.c: Likewise.
66262         * lib/unistr/u8-startswith.c: Likewise.
66263         * lib/unistr/u8-stpcpy.c: Likewise.
66264         * lib/unistr/u8-stpncpy.c: Likewise.
66265         * lib/unistr/u8-strcat.c: Likewise.
66266         * lib/unistr/u8-strchr.c: Likewise.
66267         * lib/unistr/u8-strcmp.c: Likewise.
66268         * lib/unistr/u8-strcpy.c: Likewise.
66269         * lib/unistr/u8-strcspn.c: Likewise.
66270         * lib/unistr/u8-strdup.c: Likewise.
66271         * lib/unistr/u8-strlen.c: Likewise.
66272         * lib/unistr/u8-strmblen.c: Likewise.
66273         * lib/unistr/u8-strmbtouc.c: Likewise.
66274         * lib/unistr/u8-strncat.c: Likewise.
66275         * lib/unistr/u8-strncmp.c: Likewise.
66276         * lib/unistr/u8-strncpy.c: Likewise.
66277         * lib/unistr/u8-strnlen.c: Likewise.
66278         * lib/unistr/u8-strpbrk.c: Likewise.
66279         * lib/unistr/u8-strrchr.c: Likewise.
66280         * lib/unistr/u8-strspn.c: Likewise.
66281         * lib/unistr/u8-strstr.c: Likewise.
66282         * lib/unistr/u8-strtok.c: Likewise.
66283         * lib/unistr/u8-to-u16.c: Likewise.
66284         * lib/unistr/u8-to-u32.c: Likewise.
66285         * lib/unistr/u8-uctomb-aux.c: Likewise.
66286         * lib/unistr/u8-uctomb.c: Likewise.
66287         * lib/unitypes.h: Likewise.
66288         * lib/uniwidth.h: Likewise.
66289         * lib/uniwidth/cjk.h: Likewise.
66290         * lib/uniwidth/u16-strwidth.c: Likewise.
66291         * lib/uniwidth/u16-width.c: Likewise.
66292         * lib/uniwidth/u32-strwidth.c: Likewise.
66293         * lib/uniwidth/u32-width.c: Likewise.
66294         * lib/uniwidth/u8-strwidth.c: Likewise.
66295         * lib/uniwidth/u8-width.c: Likewise.
66296         * lib/uniwidth/width.c: Likewise.
66297
66298 2007-10-07  Bruno Haible  <bruno@clisp.org>
66299
66300         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
66301         The file is still under LGPL (see modules/inttypes).
66302
66303 2007-10-06  Bruno Haible  <bruno@clisp.org>
66304
66305         * modules/trunc (Dependencies): Add 'extensions'.
66306         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
66307         Reported by Ben Pfaff <blp@gnu.org>.
66308
66309 2007-10-06  Bruno Haible  <bruno@clisp.org>
66310
66311         * modules/freopen-tests: New file.
66312         * tests/test-freopen.c: New file.
66313
66314         * modules/fopen-tests: New file.
66315         * tests/test-fopen.c: New file.
66316
66317         * modules/fopen: New file.
66318         * lib/fopen.c: New file.
66319         * m4/fopen.m4: New file.
66320         * modules/freopen: New file.
66321         * lib/freopen.c: New file.
66322         * m4/freopen.m4: New file.
66323         * lib/stdio.in.h (fopen, freopen): New declarations.
66324         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
66325         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66326         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
66327         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66328         * doc/functions/fopen.texi: Mention the 'fopen' module.
66329         * doc/functions/freopen.texi: Mention the 'freopen' module.
66330
66331 2007-10-06  Bruno Haible  <bruno@clisp.org>
66332
66333         * modules/open-tests: New file.
66334         * tests/test-open.c: New file.
66335
66336         * modules/open: New file.
66337         * lib/open.c: New file.
66338         * m4/open.m4: New file.
66339         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
66340         lib/open.c does.
66341         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
66342         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
66343         macros.
66344         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
66345         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
66346         REPLACE_OPEN.
66347         * doc/functions/open.texi: Mention the 'open' module.
66348
66349 2007-10-04  Bruno Haible  <bruno@clisp.org>
66350
66351         * modules/ceill-tests: New file.
66352         * tests/test-ceill.c: New file.
66353
66354         * modules/ceill: New file.
66355         * lib/ceill.c: Replace entire file.
66356         * m4/ceill.m4: New file.
66357         * lib/math.in.h (ceill): Replace declaration.
66358         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
66359         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
66360         * doc/functions/ceill.texi: Mention the 'ceill' module.
66361         * modules/mathl (Files): Remove lib/ceill.c.
66362         (Depends-on): Add ceill.
66363
66364 2007-10-04  Bruno Haible  <bruno@clisp.org>
66365
66366         * modules/ceilf-tests: New file.
66367         * tests/test-ceilf.c: New file.
66368
66369         * modules/ceilf: New file.
66370         * lib/ceil.c: New file.
66371         * lib/ceilf.c: New file.
66372         * m4/ceilf.m4: New file.
66373         * lib/math.in.h (ceilf): New declaration.
66374         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
66375         HAVE_DECL_CEILF.
66376         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
66377         HAVE_DECL_CEILF.
66378         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
66379
66380 2007-10-04  Bruno Haible  <bruno@clisp.org>
66381
66382         * modules/floorl-tests: New file.
66383         * tests/test-floorl.c: New file.
66384
66385         * modules/floorl: New file.
66386         * lib/floorl.c: Replace entire file.
66387         * m4/floorl.m4: New file.
66388         * lib/math.in.h (floorl): Replace declaration.
66389         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
66390         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
66391         * doc/functions/floorl.texi: Mention the 'floorl' module.
66392         * modules/mathl (Files): Remove lib/floorl.c.
66393         (Depends-on): Add floorl.
66394
66395 2007-10-04  Bruno Haible  <bruno@clisp.org>
66396
66397         * modules/floorf-tests: New file.
66398         * tests/test-floorf.c: New file.
66399
66400         * modules/floorf: New file.
66401         * lib/floor.c: New file.
66402         * lib/floorf.c: New file.
66403         * m4/floorf.m4: New file.
66404         * lib/math.in.h (floorf): New declaration.
66405         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
66406         HAVE_DECL_FLOORF.
66407         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
66408         HAVE_DECL_FLOORF.
66409         * doc/functions/floorf.texi: Mention the 'floorf' module.
66410
66411 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
66412             Bruno Haible  <bruno@clisp.org>
66413
66414         Advertise for the Git server instead of the CVS server.
66415         * doc/gnulib-intro.texi (Steady Development): Mention the Git
66416         repository instead of the CVS one.
66417         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
66418         about all VCS systems generically.
66419         * doc/gnulib.texi (Introduction): Capitalize `Git'.
66420
66421 2007-10-04  Bruno Haible  <bruno@clisp.org>
66422
66423         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
66424         means.
66425         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
66426
66427 2007-10-04  Bruno Haible  <bruno@clisp.org>
66428
66429         * modules/truncl-tests: New file.
66430         * tests/test-truncl.c: New file.
66431
66432         * modules/truncl: New file.
66433         * lib/truncl.c: New file.
66434         * m4/truncl.m4: New file.
66435         * lib/math.in.h (truncl): New declaration.
66436         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
66437         HAVE_DECL_TRUNCL.
66438         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
66439         HAVE_DECL_TRUNCL.
66440         * doc/functions/truncl.texi: Mention the 'truncl' module.
66441
66442 2007-10-04  Bruno Haible  <bruno@clisp.org>
66443
66444         * modules/truncf-tests: New file.
66445         * tests/test-truncf.c: New file.
66446
66447         * modules/truncf: New file.
66448         * lib/trunc.c: Make paramerizable through USE_* macros.
66449         * lib/truncf.c: New file.
66450         * m4/truncf.m4: New file.
66451         * lib/math.in.h (truncf): New declaration.
66452         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
66453         HAVE_DECL_TRUNCF.
66454         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
66455         HAVE_DECL_TRUNCF.
66456         * doc/functions/truncf.texi: Mention the 'truncf' module.
66457
66458 2007-10-03  Bruno Haible  <bruno@clisp.org>
66459
66460         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
66461         augmentation also for tests modules.
66462         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
66463         * modules/atexit-tests (Makefile.am): Likewise.
66464         * modules/binary-io-tests (Makefile.am): Likewise.
66465         * modules/c-strcase-tests (Makefile.am): Likewise.
66466         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
66467         * modules/canonicalize-tests (Makefile.am): Likewise.
66468         * modules/closein-tests (Makefile.am): Likewise.
66469         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66470         * modules/freadahead-tests (Makefile.am): Likewise.
66471         * modules/fseek-tests (Makefile.am): Likewise.
66472         * modules/fseeko-tests (Makefile.am): Likewise.
66473         * modules/ftell-tests (Makefile.am): Likewise.
66474         * modules/ftello-tests (Makefile.am): Likewise.
66475         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
66476         * modules/isnanl-tests (Makefile.am): Likewise.
66477         * modules/lseek-tests (Makefile.am): Likewise.
66478         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66479         * modules/mbscasestr-tests (Makefile.am): Likewise.
66480         * modules/mbschr-tests (Makefile.am): Likewise.
66481         * modules/mbscspn-tests (Makefile.am): Likewise.
66482         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66483         * modules/mbspbrk-tests (Makefile.am): Likewise.
66484         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66485         * modules/mbsrchr-tests (Makefile.am): Likewise.
66486         * modules/mbsspn-tests (Makefile.am): Likewise.
66487         * modules/mbsstr-tests (Makefile.am): Likewise.
66488         * modules/printf-posix-tests (Makefile.am): Likewise.
66489         * modules/snprintf-posix-tests (Makefile.am): Likewise.
66490         * modules/sprintf-posix-tests (Makefile.am): Likewise.
66491         * modules/tsearch-tests (Makefile.am): Likewise.
66492         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66493         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66494         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66495         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66496         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66497         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66498         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66499         * modules/vprintf-posix-tests (Makefile.am): Likewise.
66500         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
66501         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
66502         * modules/xstrtoimax-tests (Makefile.am): Likewise.
66503         * modules/xstrtol-tests (Makefile.am): Likewise.
66504         * modules/xstrtoumax-tests (Makefile.am): Likewise.
66505         * modules/yesno-tests (Makefile.am): Likewise.
66506
66507 2007-10-03  Bruno Haible  <bruno@clisp.org>
66508
66509         * modules/trunc-tests: New file.
66510         * tests/test-trunc.c: New file.
66511
66512         * modules/trunc: New file.
66513         * lib/trunc.c: New file.
66514         * m4/trunc.m4: New file.
66515         * lib/math.in.h (trunc): New declaration.
66516         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
66517         HAVE_DECL_TRUNC.
66518         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
66519         HAVE_DECL_TRUNC.
66520         * doc/functions/trunc.texi: Mention the 'trunc' module.
66521
66522 2007-10-03  Bruno Haible  <bruno@clisp.org>
66523
66524         * tests/test-fpending.c: New file, mostly copied
66525         from coreutils/lib/t-fpending.c.
66526         * modules/fpending-tests: New file.
66527
66528 2007-10-03  Bruno Haible  <bruno@clisp.org>
66529
66530         Port the stdio extensions to QNX (untested).
66531         * lib/fseterr.c (fseterr): Add support for QNX.
66532         * lib/fbufmode.c (fbufmode): Likewise.
66533         * lib/freadable.c (freadable): Likewise.
66534         * lib/fwritable.c (fwritable): Likewise.
66535         * lib/freading.c (freading): Likewise.
66536         * lib/fwriting.c (fwriting): Likewise.
66537         * lib/freadahead.c (freadahed): Likewise.
66538         * lib/fpurge.c (fpurge): Likewise.
66539         * lib/fseeko.c (rpl_fseeko): Likewise.
66540
66541 2007-10-03  Bruno Haible  <bruno@clisp.org>
66542             Jim Meyering  <jim@meyering.net>
66543             Eric Blake  <ebb9@byu.net>
66544
66545         * doc/relocatable.texi: Use @command instead of @program.
66546
66547 2007-10-02  Jim Meyering  <jim@meyering.net>
66548
66549         Perform one more "_.h" -> ".in.h" substitution.
66550         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
66551         instead of unistd_.h here, too.
66552
66553 2007-10-01  Bruno Haible  <bruno@clisp.org>
66554
66555         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
66556         Needed for the alloca-opt module.
66557
66558 2007-09-30  Bruno Haible  <bruno@clisp.org>
66559
66560         * lib/alloca.in.h: Renamed from lib/alloca_.h.
66561         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
66562         alloca_.h.
66563         * lib/argz.in.h: Renamed from lib/argz_.h.
66564         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
66565         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
66566         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
66567         byteswap_.h.
66568         * lib/dirent.in.h: Renamed from lib/dirent_.h.
66569         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
66570         dirent_.h.
66571         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
66572         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
66573         fcntl_.h.
66574         * lib/float.in.h: Renamed from lib/float_.h.
66575         * modules/float (Files, Makefile.am): Use float.in.h instead of
66576         float_.h.
66577         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
66578         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
66579         fnmatch_.h.
66580         * lib/getopt.in.h: Renamed from lib/getopt_.h.
66581         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
66582         getopt_.h.
66583         * lib/glob.in.h: Renamed from lib/glob_.h.
66584         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
66585         * lib/iconv.in.h: Renamed from lib/iconv_.h.
66586         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
66587         iconv_.h.
66588         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
66589         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
66590         inttypes_.h.
66591         * lib/locale.in.h: Renamed from lib/locale_.h.
66592         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
66593         locale_.h.
66594         * lib/math.in.h: Renamed from lib/math_.h.
66595         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
66596         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
66597         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
66598         of netinet_in_.h. Add dependency.
66599         * lib/poll.in.h: Renamed from lib/poll_.h.
66600         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
66601         * lib/search.in.h: Renamed from lib/search_.h.
66602         * modules/search (Files, Makefile.am): Use search.in.h instead of
66603         search_.h.
66604         * lib/signal.in.h: Renamed from lib/signal_.h.
66605         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
66606         _signal.h.
66607         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
66608         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
66609         stdbool_.h.
66610         * lib/stdint.in.h: Renamed from lib/stdint_.h.
66611         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
66612         stdint_.h.
66613         * lib/stdio.in.h: Renamed from lib/stdio_.h.
66614         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
66615         stdio_.h.
66616         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
66617         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
66618         stdlib_.h.
66619         * lib/string.in.h: Renamed from lib/string_.h.
66620         * modules/string (Files, Makefile.am): Use string.in.h instead of
66621         string_.h.
66622         * doc/gnulib-tool.texi (Initial import): Update.
66623         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
66624         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
66625         of sys_select_.h. Add dependency.
66626         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
66627         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
66628         of sys_socket_.h.
66629         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
66630         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
66631         sys_stat_.h.
66632         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
66633         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
66634         sys_time_.h.
66635         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
66636         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
66637         sysexits_.h.
66638         * lib/time.in.h: Renamed from lib/time_.h.
66639         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
66640         * lib/unistd.in.h: Renamed from lib/unistd_.h.
66641         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
66642         unistd_.h.
66643         * lib/wchar.in.h: Renamed from lib/wchar_.h.
66644         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
66645         wchar_.h.
66646         * lib/wctype.in.h: Renamed from lib/wctype_.h.
66647         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
66648         wctype_.h.
66649         * build-aux/bootstrap (slurp): Update.
66650         * lib/.cppi-disable: Update.
66651
66652 2007-09-30  Bruno Haible  <bruno@clisp.org>
66653
66654         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
66655         Needed on BeOS.
66656
66657 2007-09-30  Bruno Haible  <bruno@clisp.org>
66658
66659         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
66660
66661 2007-09-29  Bruno Haible  <bruno@clisp.org>
66662
66663         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
66664
66665 2007-09-29  Bruno Haible  <bruno@clisp.org>
66666
66667         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
66668         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
66669         * build-aux/install-reloc: Compile also areadlink.c.
66670         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
66671
66672 2007-09-29  Bruno Haible  <bruno@clisp.org>
66673
66674         * gnulib-tool (func_emit_initmacro_done): Indentation.
66675
66676 2007-09-29  Bruno Haible  <bruno@clisp.org>
66677
66678         * README: Add CVS checkout update instructions.
66679         Info from Bob Proulx <bob@proulx.com>.
66680
66681 2007-09-28  Eric Blake  <ebb9@byu.net>
66682
66683         Provide move-if-change.
66684         * build-aux/move-if-change: New file, based on best practice
66685         rather than any canonical upstream location.
66686
66687 2007-09-28  Jim Meyering  <jim@meyering.net>
66688
66689         Fix canonicalize loop-detection corner case.
66690         Do not attempt to stat the symlink values stored via seen_triple.
66691         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
66692         on linux-2.6.18, (but not 2.6.22).
66693         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
66694         triple_compare.  The former compares dev,ino,filename, while the latter
66695         would actually stat dirname(filename) when dev and ino were equal.
66696         * lib/hash-triple.c: Install <string.h>.
66697         (STREQ): Define.
66698         (triple_compare_ino_str): New function.
66699         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
66700
66701 2007-09-28  Eric Blake  <ebb9@byu.net>
66702
66703         Enforce that AC_REPLACE_FUNCS files exist.
66704         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
66705         override check for typos.
66706
66707         Fix test-closein on Solaris 10.
66708         * tests/test-closein.c (main): Don't assume stdin can be inherited
66709         closed on all systems.
66710         * tests/test-closein.sh: Likewise.
66711         Reported by Piotr Tarnowski.
66712
66713 2007-09-28  Jim Meyering  <jim@meyering.net>
66714
66715         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
66716
66717 2007-09-27  Jim Meyering  <jim@meyering.net>
66718
66719         canonicalize: Avoid a false-positive cycle failure.
66720         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
66721         Sort.  Remove cycle-check.
66722         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
66723         not cycle-check.h.
66724         (seen_triple): New function.
66725         (canonicalize_filename_mode): Use it instead of cycle-check.
66726         * tests/test-canonicalize.c: Add a test for this bug.
66727         * tests/test-canonicalize.sh: Set up and run the test.
66728
66729         New module, file-set, from coreutils.
66730         * modules/file-set: Define it.
66731         * lib/file-set.c, lib/file-set.h: Implement.
66732
66733         New module, hash-triple, from coreutils.
66734         * modules/hash-triple: Define it.
66735         * lib/hash-triple.c, lib/hash-triple.h: Implement.
66736
66737 2007-09-25  Eric Blake  <ebb9@byu.net>
66738
66739         Fix strerror on Interix.
66740         * lib/string_.h (strerror): Declare replacement.
66741         * doc/functions/strerror.texi (strerror): Document the Interix
66742         shortcoming.
66743         * modules/string (Makefile.am): Support new hooks.
66744         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
66745         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
66746         gl_FUNC_STRERROR_SEPARATE.
66747         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
66748         * lib/strerror.c (rpl_strerror): Provide replacement.
66749         * modules/strerror (Depends-on): Add string.
66750         (configure.ac): Detect use of module.
66751         * tests/test-strerror.c: New file.
66752         * modules/strerror-tests: New test module.
66753         * modules/argp (Depends-on): Add strerror.
66754         * modules/error (Depends-on): Likewise.
66755         Reported by Martin Koeppe.
66756
66757 2007-09-24  Bruno Haible  <bruno@clisp.org>
66758
66759         * README: Update git instructions.
66760
66761 2007-09-24  Eric Blake  <ebb9@byu.net>
66762
66763         Revert fpending breakage from 2007-09-08.
66764         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
66765         __fpending.c.
66766
66767 2007-09-24  Jim Meyering  <jim@meyering.net>
66768
66769         filenamecat.c: Add a test.
66770         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
66771         showing how the function works when DIR is the empty string.
66772
66773 2007-09-21  Simon Josefsson  <simon@josefsson.org>
66774
66775         * tests/test-canonicalize.sh: Turn on executable bit.
66776
66777 2007-09-19  Eric Blake  <ebb9@byu.net>
66778
66779         * README: Update CVS instructions.
66780
66781 2007-09-18  Bruno Haible  <bruno@clisp.org>
66782
66783         * modules/areadlink: New file.
66784         * lib/areadlink.h (areadlink): New declaration.
66785         * lib/areadlink.c: New file, based on lib/xreadlink.c.
66786
66787 2007-09-17  Jim Meyering  <jim@meyering.net>
66788
66789         * lib/savewd.c (ESTALE) [!defined]: Define.
66790         Reported to be required on Interix by Martin Koeppe.
66791
66792 2007-09-17  Bruno Haible  <bruno@clisp.org>
66793
66794         * gnulib-tool (func_version): Use $version.
66795
66796 2007-09-16  Bruno Haible  <bruno@clisp.org>
66797
66798         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
66799         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
66800         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
66801         Reported by Greg Schafer <gschafer@zip.com.au>.
66802
66803 2007-09-15  Bruno Haible  <bruno@clisp.org>
66804
66805         * gnulib-tool (sed): Try a little harder to make bash understand the
66806         alias.
66807         Reported by Bruce Korb <bruce.korb@gmail.com>.
66808
66809 2007-09-13  Eric Blake  <ebb9@byu.net>
66810
66811         * ChangeLog: Remove conflict markers.
66812
66813 2007-09-13  Simon Josefsson  <simon@josefsson.org>
66814
66815         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
66816         Reported by Bruno Haible <bruno@clisp.org>.
66817
66818 2007-09-12  Bruno Haible  <bruno@clisp.org>
66819
66820         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
66821         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
66822         is not defined.
66823
66824 2007-09-12  Eric Blake  <ebb9@byu.net>
66825
66826         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
66827         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
66828         Autoconf definition.
66829         * modules/euidaccess (Depends-on): Add extensions, for
66830         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
66831         * modules/fnmatch (Depends-on): Likewise.
66832         * modules/getaddrinfo (Depends-on): Likewise.
66833         * modules/getdelim (Depends-on): Likewise.
66834         * modules/getline (Depends-on): Likewise.
66835         * modules/getsubopt (Depends-on): Likewise.
66836         * modules/gettext (Depends-on): Likewise.
66837         * modules/group-member (Depends-on): Likewise.
66838         * modules/mbchar (Depends-on): Likewise.
66839         * modules/memmem (Depends-on): Likewise.
66840         * modules/mempcpy (Depends-on): Likewise.
66841         * modules/memrchr (Depends-on): Likewise.
66842         * modules/pagealign_alloc (Depends-on): Likewise.
66843         * modules/readutmp (Depends-on): Likewise.
66844         * modules/stpcpy (Depends-on): Likewise.
66845         * modules/stpncpy (Depends-on): Likewise.
66846         * modules/strchrnul (Depends-on): Likewise.
66847         * modules/strndup (Depends-on): Likewise.
66848         * modules/strsep (Depends-on): Likewise.
66849         * modules/strverscmp (Depends-on): Likewise.
66850         * modules/vasprintf (Depends-on): Likewise.
66851         * modules/wcwidth (Depends-on): Likewise.
66852         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
66853         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
66854         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
66855         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
66856         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
66857         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66858         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
66859         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66860         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
66861         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
66862         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66863         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66864         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66865         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
66866         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
66867         * m4/readutmp.m4 (gl_READUTMP): Likewise.
66868         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66869         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66870         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66871         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66872         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66873         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66874         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66875         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
66876         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
66877         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66878         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
66879         so that lock.m4 can be used in gettext without extensions module.
66880
66881 2007-09-11  Bruno Haible  <bruno@clisp.org>
66882
66883         * m4/isc-posix.m4: Remove file.
66884         Suggested by Eric Blake.
66885
66886 2007-09-11  Eric Blake  <ebb9@byu.net>
66887
66888         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
66889
66890 2007-09-10  Bruno Haible  <bruno@clisp.org>
66891
66892         * posix-modules: Fix typo in error message.
66893         Reported by Matt <mkraai@beckman.com>.
66894
66895 2007-09-09  Bruno Haible  <bruno@clisp.org>
66896
66897         * doc/functions/getdelim.texi: Update list of platforms lacking the
66898         function.
66899         * doc/functions/getline.texi: Likewise.
66900
66901 2007-09-09  Jim Meyering  <jim@meyering.net>
66902
66903         * lib/hash.c (hash_initialize): Detect calloc failure.
66904         Reported by Bruno Haible.
66905
66906 2007-09-09  Bruno Haible  <bruno@clisp.org>
66907
66908         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
66909         malloc or realloc fails.
66910
66911 2007-09-09  Bruno Haible  <bruno@clisp.org>
66912
66913         * modules/getcwd (Depends-on): Add malloc-posix.
66914         * modules/glob (Depends-on): Likewise.
66915         * modules/putenv (Depends-on): Likewise.
66916         * modules/strdup (Depends-on): Likewise.
66917         * modules/getdelim (Depends-on): Add realloc-posix.
66918         * modules/read-file (Depends-on): Likewise.
66919
66920 2007-09-09  Bruno Haible  <bruno@clisp.org>
66921
66922         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
66923         (gl_FUNC_MALLOC_POSIX): Require it.
66924         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
66925         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
66926         * modules/realloc (Files): Add m4/malloc.m4.
66927         * modules/calloc (Files): Likewise.
66928
66929 2007-09-09  Bruno Haible  <bruno@clisp.org>
66930
66931         * modules/malloc-posix: New file.
66932         * modules/malloc (Depends-on): Add malloc-posix.
66933         * lib/malloc.c: Include errno.h.
66934         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
66935         and a POSIX-compatible malloc into a single function. Set ENOMEM
66936         when returning NULL.
66937         * m4/malloc.m4: New file.
66938         * doc/functions/malloc.texi: Mention the malloc-posix module.
66939         * lib/stdlib_.h (malloc): New declaration.
66940         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66941         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
66942         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
66943         and HAVE_MALLOC_POSIX.
66944
66945 2007-09-09  Bruno Haible  <bruno@clisp.org>
66946
66947         * modules/realloc-posix: New file.
66948         * modules/realloc (Depends-on): Add realloc-posix.
66949         * lib/realloc.c: Include errno.h.
66950         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
66951         and a POSIX-compatible realloc into a single function. Set ENOMEM
66952         when returning NULL.
66953         * m4/realloc.m4: New file.
66954         * doc/functions/realloc.texi: Mention the realloc-posix module.
66955         * lib/stdlib_.h (realloc): New declaration.
66956         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66957         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
66958         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
66959         and HAVE_REALLOC_POSIX.
66960
66961 2007-09-09  Bruno Haible  <bruno@clisp.org>
66962
66963         * modules/calloc-posix: New file.
66964         * modules/calloc (Depends-on): Add calloc-posix.
66965         * lib/calloc.c: Include errno.h.
66966         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
66967         and a POSIX-compatible calloc into a single function. Set ENOMEM
66968         when returning NULL.
66969         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
66970         * doc/functions/calloc.texi: Mention the calloc-posix module.
66971         * lib/stdlib_.h (calloc): New declaration.
66972         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66973         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
66974         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
66975         and HAVE_CALLOC_POSIX.
66976
66977 2007-09-09  Bruno Haible  <bruno@clisp.org>
66978
66979         Allow for modules to show an arbitrary notice.
66980         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
66981         * gnulib-tool: New option --extract-notice.
66982         (func_usage): Document it.
66983         (sed_extract_prog): Update.
66984         (func_get_notice): New function.
66985         (func_modules_notice): New function.
66986         (func_import, func_create_testdir): Invoke it.
66987         Suggested by Jim Meyering.
66988
66989 2007-09-09  Bruno Haible  <bruno@clisp.org>
66990
66991         * gnulib-tool: New options --verbose, --quiet.
66992         (func_usage): Document them.
66993         (verbose): New variable.
66994         (func_execute_command): New function.
66995         (func_import): Don't show the module list and the file list if
66996         $verbose < 0.
66997         (func_create_testdir): Likewise. Use func_execute_command.
66998         (func_create_megatestdir): Use func_execute_command.
66999
67000 2007-09-08  Bruno Haible  <bruno@clisp.org>
67001
67002         * gnulib-tool (func_import): Prefer rsync over wget when available,
67003         for fetching the PO files.
67004
67005 2007-09-08  Bruno Haible  <bruno@clisp.org>
67006
67007         * posix-modules: New file. Portions copied from gnulib-tool.
67008         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
67009
67010 2007-09-08  Jim Meyering  <jim@meyering.net>
67011
67012         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
67013         * lib/fpending.h: Rename from __fpending.h.
67014         * lib/fpending.c: Rename from __fpending.c.
67015         Include "fpending.h", not "__fpending.h".
67016         * lib/__fpending.h, lib/__fpending.c: Remove files.
67017         * modules/fpending (Files): Reflect new file names.
67018         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
67019
67020 2007-09-08  Bruno Haible  <bruno@clisp.org>
67021
67022         * m4/inttypes-h.m4: Remove stub file.
67023
67024 2007-09-07  Simon Josefsson  <simon@josefsson.org>
67025
67026         * doc/headers/stdint.texi: Discuss #include_next issue.
67027
67028 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67029
67030         * build-aux/bootstrap: Remove obsolete comment about wget --help.
67031
67032 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67033
67034         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
67035         in variable name.
67036
67037 2007-09-03  Jim Meyering  <jim@meyering.net>
67038
67039         New module: git-version-gen.
67040         * modules/git-version-gen: New file.
67041
67042         Import changes from coreutils for bootstrap script.
67043
67044         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
67045
67046         bootstrap: uses rsync to download the .po files
67047         * build-aux/bootstrap (po_download_command_format): New global.
67048         (download_po_files): Use rsync.
67049         (update_po_files): Don't remove .po files after download,
67050         so future rsync runs can take advantage of the copies.
67051
67052         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
67053
67054         Solve the unnecessary-.po-file-regeneration problem once and for all.
67055         * build-aux/bootstrap (download_po_files): New function, renamed from
67056         get_translations.  Now, downloads, but doesn't update LINGUAS.
67057         (update_po_files): New function.
67058
67059         bootstrap: Ignore more.
67060         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
67061         uniwidth to e.g., lib/.gitignore.
67062         (slurp): Handle the sys_stat_.h -> sys mapping, too.
67063
67064         * build-aux/bootstrap: New setting: vc_ignore.
67065         (insert_sorted_if_absent): Create $file if absent.
67066         Adapt to new, possibly empty, list: $vc_ignore.
67067
67068         bootstrap: generate more ignorable names
67069         * build-aux/bootstrap (slurp): When generating ignorable names,
67070         also map .sin to .sed, .gperf to .c, and .y to .c.
67071
67072 2007-09-03  Jim Meyering  <jim@meyering.net>
67073
67074         * build-aux/git-version-gen: New file, from coreutils.  For details, see
67075         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
67076
67077 2007-09-02  Bruno Haible  <bruno@clisp.org>
67078
67079         Fix mis-recognition of 'mcs' on QNX 6.
67080         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
67081         output contains the string "Mono".
67082         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
67083         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
67084
67085 2007-09-01  Bruno Haible  <bruno@clisp.org>
67086
67087         Fix collision between uniwidth/* and linebreak modules.
67088         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
67089         u32_width): Remove declarations.
67090         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
67091         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
67092         streq3, streq2, streq1, streq0): Remove functions.
67093         (STREQ): Remove macro.
67094         (is_cjk_encoding): Remove function.
67095         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
67096         (uc_width, u8_width, u16_width, u32_width): Remove functions.
67097         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
67098         * NEWS: Document the change.
67099
67100 2007-09-01  Bruno Haible  <bruno@clisp.org>
67101
67102         * lib/streq.h: Add double-inclusion guard.
67103
67104 2007-09-01  Karl Berry  <karl@gnu.org>
67105
67106         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
67107
67108 2007-08-28  Jim Meyering  <jim@meyering.net>
67109
67110         Rename mreadlink_with_size to areadlink_with_size.
67111         * NEWS: Document the change.
67112         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
67113         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
67114         * lib/mreadlink.h: Rename this to...
67115         * lib/areadlink.h: ...this.
67116         * modules/mreadlink-with-size: Rename this to...
67117         * modules/areadlink-with-size: ...this.
67118         * lib/canonicalize.c: Reflect the renaming.
67119         * modules/canonicalize: Likewise.
67120
67121 2007-08-26  Bruno Haible  <bruno@clisp.org>
67122
67123         * gnulib-tool (func_import): When deciding which files to remove,
67124         consider also dangling symbolic links.
67125         Reported by Eric Blake.
67126
67127 2007-08-26  Bruno Haible  <bruno@clisp.org>
67128
67129         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
67130
67131 2007-08-23  Simon Josefsson  <simon@josefsson.org>
67132
67133         * lib/readline.c: Don't include getline.h, the prototype is now
67134         found in stdio.h.
67135
67136 2007-08-23  Jim Meyering  <jim@meyering.net>
67137
67138         Getdelim touchup.
67139         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
67140         around the funlockfile call, since funlockfile never sets errno.
67141         Don't set errno upon failed realloc.
67142
67143 2007-08-22  Eric Blake  <ebb9@byu.net>
67144
67145         Getline touchups.
67146         * lib/getdelim.c (getdelim): Revert regression that required *n to
67147         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
67148         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
67149         getdelim, rather than whether implementation is missing.
67150         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
67151         * lib/stdio_.h (getline): Also declare if replacement is
67152         required.
67153         * doc/functions/getdelim.texi: New file.
67154         * doc/functions/getline.texi: Likewise.
67155         * doc/gnulib.texi (Function Substitutes): Add new files.
67156         Reported by Bruno Haible.
67157
67158 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
67159
67160         * users.txt: Add Guile.
67161
67162 2007-08-22  Eric Blake  <ebb9@byu.net>
67163
67164         * tests/test-getdelim.c (main): Use remove, not unlink.
67165         * tests/test-getline.c (main): Likewise.
67166
67167         Move getline and getdelim into stdio.h, per POSIX 200x.
67168         * modules/getline (Files): Remove getline.h.
67169         (Depends-on): Add stdio.
67170         (configure.ac): Add module indicator.
67171         * modules/getdelim (Files): Remove getdelim.h.
67172         (Depends-on): Add stdio.
67173         (configure.ac): Add module indicator.
67174         * modules/stdio (Makefile.am): Work with new indicators.
67175         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
67176         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
67177         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67178         * lib/getdelim.h: Delete.
67179         * lib/getline.h: Delete.
67180         * lib/stdio_.h (getdelim, getline): Declare.
67181         * modules/getdelim-tests: New module.
67182         * modules/getline-tests: Likewise.
67183         * tests/test-getdelim.c: New file.
67184         * tests/test-getline.c: Likewise.
67185         * NEWS: Document the change.
67186         * lib/getline.c: Update choice of header.
67187         * lib/csharpcomp.c: Likewise.
67188         * lib/getpass.c: Likewise.
67189         * lib/javacomp.c: Likewise.
67190         * lib/javaversion.c: Likewise.
67191         * lib/yesno.c: Likewise.
67192         * lib/getdelim.c: Likewise.
67193         (getdelim): Set errno on failure, and avoid memory leak.
67194
67195 2007-08-19  Bruno Haible  <bruno@clisp.org>
67196
67197         * modules/closein (Depends-on): Add freadahead.
67198         * lib/closein.c: Include freadahead.h.
67199         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
67200         is zero.
67201
67202 2007-08-19  Bruno Haible  <bruno@clisp.org>
67203
67204         * modules/freadahead-tests: New file.
67205         * tests/test-freadahead.sh: New file.
67206         * tests/test-freadahead.c: New file.
67207
67208         * modules/freadahead: New file.
67209         * lib/freadahead.h: New file.
67210         * lib/freadahead.c: New file.
67211         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
67212         fbufmode, fpurge, freadable, fwritable.
67213
67214 2007-08-19  Eric Blake  <ebb9@byu.net>
67215
67216         Test yesno in combination with closein.
67217         * lib/yesno.c (yesno): Document use of stdin.
67218         * modules/yesno-tests (Files): New module.
67219         * tests/test-yesno.c (main): New file.
67220         * tests/test-yesno.sh: Likewise.
67221
67222 2007-08-19  Bruno Haible  <bruno@clisp.org>
67223
67224         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
67225         * lib/fseeko.c (rpl_fseeko): Likewise.
67226         * lib/fseterr.c (fseterr): Likewise.
67227
67228 2007-08-19  Bruno Haible  <bruno@clisp.org>
67229
67230         * tests/test-lseek.c (main): Disable a test for BeOS.
67231         * doc/functions/lseek.texi: Document the BeOS bug.
67232
67233 2007-08-19  Bruno Haible  <bruno@clisp.org>
67234             Eric Blake  <ebb9@byu.net>
67235
67236         * lib/lseek.c: Include <sys/stat.h>.
67237         (rpl_lseek): Add workaround code also for Unix platforms.
67238         Needed for BeOS.
67239         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
67240         * doc/functions/lseek.texi: Document BeOS definiency.
67241
67242 2007-08-18  Bruno Haible  <bruno@clisp.org>
67243
67244         * modules/fstrcmp-tests: New file.
67245         * tests/test-fstrcmp.c: New file.
67246
67247 2007-08-18  Bruno Haible  <bruno@clisp.org>
67248
67249         * modules/fstrcmp: New file, from GNU gettext with modifications.
67250         * lib/fstrcmp.h: New file, from GNU gettext.
67251         * lib/fstrcmp.c: New file, from GNU gettext.
67252         * MODULES.html.sh (String handling): Add fstrcmp.
67253
67254 2007-08-18  Bruno Haible  <bruno@clisp.org>
67255
67256         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
67257         'bool'.
67258         (diag, compareseq): Remove const from the ctxt argument.
67259         (USE_HEURISTIC): Undefine at the end.
67260
67261 2007-08-18  Jim Meyering  <jim@meyering.net>
67262
67263         New file: lib/idcache.h
67264         * NEWS: Mention the addition.
67265         * modules/idcache (Files): Add lib/idcache.h
67266         * lib/idcache.c: Include "idcache.h".
67267         Don't include <sys/types.h>.
67268         Add a FIXME comment.
67269         Move file-scoped "static" declarations to the top.
67270         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
67271
67272 2007-08-17  Bruno Haible  <bruno@clisp.org>
67273         and Paul Eggert  <eggert@cs.ucla.edu>
67274
67275         * MODULES.html.sh: Add diffseq.
67276         * modules/diffseq: New file.
67277         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
67278         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
67279
67280 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67281
67282         Import changes from coreutils for bootstrap script.
67283
67284         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
67285
67286         * build-aux/bootstrap (slurp): Work even in environments where
67287         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
67288         current code does not slurp files whose names start with ".", and
67289         this looks like it might be a troublesome area.
67290
67291         2007-07-11  Jim Meyering  <jim@meyering.net>
67292
67293         If there's a GPL vN copyright comment, require that N == 3.
67294
67295         2007-07-08  Jim Meyering  <jim@meyering.net>
67296
67297         Run the coreutils-specific code only if tests/Makefile.am.in exists.
67298         * build-aux/bootstrap (mam_template): Move definition out of loop.
67299
67300         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
67301
67302         * build-aux/bootstrap (symlink_to_dir): Rename function from
67303         symlink_to_gnulib.  Add a directory parameter.  Update all
67304         callers.
67305         (cp_mark_as_generated): Also check for -- and link to -- files in
67306         gl/.
67307
67308         2007-07-08  Jim Meyering  <jim@meyering.net>
67309
67310         Adapt to deeper hierarchy in gnulib.
67311         * build-aux/bootstrap (symlink_to_dir): If the destination
67312         directory doesn't exist, create it. This is required at least for
67313         "lib/uniwidth/cjk.h".
67314
67315         2007-05-15  Jim Meyering  <jim@meyering.net>
67316
67317         * build-aux/bootstrap: Now that generated Makefile.am files
67318         are no longer under version control, they must be created at
67319         bootstrap time.
67320
67321 2007-08-14  Ben Pfaff  <blp@gnu.org>
67322
67323         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
67324
67325 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67326
67327         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
67328         given the changes below.
67329         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
67330         even on hosts that have padding bits beyond the supported 64.
67331
67332 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67333
67334         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
67335         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
67336         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
67337         depends on it.
67338         (xstrtol_error): Remove.
67339         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
67340         but with a different signature.
67341         (ATTRIBUTE_NORETURN, __attribute__): New macros.
67342         * lib/xstrtol-error.c: Include exitfail.h.
67343         (xstrtol_fatal): New function, with a different signature from the
67344         old xstrtol_error, so that the caller need not worry about passing
67345         in an exit status, or about storage management of the option argument.
67346         (xstrtol_error): Now a static function.  Redo signature to
67347         implement xstrtol_fatal.  Output the correct number of hyphens in
67348         front of the option so that the caller need not worry about
67349         storage management.
67350         (N_): New macro.
67351         (_): Remove; not used now.
67352         * modules/xstrtol: Depend on getopt.
67353         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
67354         of old STRTOL_FATAL_ERROR macro.
67355         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
67356         of test program.
67357         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
67358         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
67359
67360 2007-08-08  Eric Blake  <ebb9@byu.net>
67361
67362         * lib/xstrtol-error.c: Add missing include.
67363
67364         Move xstrtol messages into gnulib domain, when --pobase is used.
67365         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
67366         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
67367         * modules/xstrtol (Files): Distribute new file.
67368         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
67369         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
67370         * tests/test-xstrtol.c: ...into new file.
67371         * tests/test-xstrtoul.c: Also test xstrtoul.
67372         * tests/test-xstrtoimax.c: Also test xstrtoimax.
67373         * tests/test-xstrtoumax.c: Also test xstrtoumax.
67374         * tests/test-xstrtol.sh: Drive the tests.
67375         * tests/test-xstrtoimax.sh: Likewise.
67376         * tests/test-xstrtoumax.sh: Likewise.
67377         * modules/xstrtol-tests: New module.
67378         * modules/xstrtoimax-tests: Likewise.
67379         * modules/xstrtoumax-tests: Likewise.
67380
67381 2007-08-08  Jim Meyering  <jim@meyering.net>
67382
67383         New function: mfile_name_concat.
67384         * lib/filenamecat.c (mfile_name_concat): New function, just like
67385         file_name_concat, but return NULL upon failure rather than exiting
67386         with a diagnostic.
67387         * lib/filenamecat.h: Declare it.
67388
67389 2007-08-07  Bruno Haible  <bruno@clisp.org>
67390
67391         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
67392         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
67393         warning from gcc.
67394         Reported by Eric Blake.
67395
67396 2007-08-07  Simon Josefsson  <simon@josefsson.org>
67397
67398         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
67399         * modules/crypto/arcfour (License): Likewise.
67400         * modules/crypto/des-tests (License): Likewise.
67401         * modules/crypto/gc-arctwo-tests (License): Likewise.
67402         * modules/crypto/gc-des-tests (License): Likewise.
67403         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
67404         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
67405         * modules/crypto/gc-md2-tests (License): Likewise.
67406         * modules/crypto/gc-md4-tests (License): Likewise.
67407         * modules/crypto/gc-md5-tests (License): Likewise.
67408         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
67409         * modules/crypto/gc-rijndael-tests (License): Likewise.
67410         * modules/crypto/gc-sha1-tests (License): Likewise.
67411         * modules/crypto/gc-tests (License): Likewise.
67412         * modules/crypto/hmac-md5 (License): Likewise.
67413         * modules/crypto/hmac-sha1 (License): Likewise.
67414         * modules/crypto/md2-tests (License): Likewise.
67415         * modules/crypto/md4-tests (License): Likewise.
67416         * modules/crypto/md5 (License): Likewise.
67417         * modules/crypto/rijndael (License): Likewise.
67418         * modules/crypto/sha1 (License): Likewise.
67419         * modules/memxor (License): Likewise.
67420
67421 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67422         and Bruno Haible  <bruno@clisp.org>
67423
67424         * NEWS: Describe interface changes to human, xstrtol.
67425         * lib/human.h: Include <xstrtol.h>.
67426         (human_options): Return enum strtol_error, not int.  Remove
67427         bool arg; take int * instead.
67428         * lib/human.c: Don't include "gettext.h".
67429         (_): Remove; no longer used.
67430         Don't include <xstrtol.h>, since human.h does it.
67431         (human_options): Adjust to abovementioned interface changes.
67432         Do not report error to stderr; that's now the caller's
67433         responsibility.
67434         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
67435         interface change.
67436         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
67437         Str, Argument_type_string.  All uses changed.  Put " argument"
67438         in diagnostics to make them clearer.  Change wording of suffix
67439         message for clarity.
67440         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
67441         Argument_type_string.
67442         (STRTOL_FATAL_WARN): Remove; no longer used.
67443         * modules/human (Depends-on): Remove gettext-h.
67444
67445 2007-08-06  Simon Josefsson  <simon@josefsson.org>
67446
67447         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
67448
67449 2007-07-31  Bruno Haible  <bruno@clisp.org>
67450
67451         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
67452         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
67453         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
67454
67455 2007-07-31  Bruno Haible  <bruno@clisp.org>
67456
67457         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
67458         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
67459
67460 2007-07-30  Bruno Haible  <bruno@clisp.org>
67461
67462         * modules/base64 (License): Use the synonymous term "LGPLv2+".
67463         * modules/c-ctype (License): Likewise.
67464         * modules/c-strcase (License): Likewise.
67465         * modules/check-version (License): Likewise.
67466         * modules/iconv (License): Likewise.
67467         * modules/iconv_open (License): Likewise.
67468         * modules/read-file (License): Likewise.
67469         * modules/striconv (License): Likewise.
67470         * modules/strverscmp (License): Likewise.
67471         * modules/vasprintf (License): Likewise.
67472         * modules/crypto/des (License): Likewise.
67473         * modules/crypto/gc (License): Likewise.
67474         * modules/crypto/gc-arcfour (License): Likewise.
67475         * modules/crypto/gc-arctwo (License): Likewise.
67476         * modules/crypto/gc-des (License): Likewise.
67477         * modules/crypto/gc-hmac-md5 (License): Likewise.
67478         * modules/crypto/gc-hmac-sha1 (License): Likewise.
67479         * modules/crypto/gc-md2 (License): Likewise.
67480         * modules/crypto/gc-md4 (License): Likewise.
67481         * modules/crypto/gc-md5 (License): Likewise.
67482         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
67483         * modules/crypto/gc-random (License): Likewise.
67484         * modules/crypto/gc-rijndael (License): Likewise.
67485         * modules/crypto/gc-sha1 (License): Likewise.
67486         * modules/crypto/md2 (License): Likewise.
67487         * modules/crypto/md4 (License): Likewise.
67488
67489 2007-07-30  Jim Meyering  <jim@meyering.net>
67490
67491         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
67492         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
67493         it has valid stat data.  This bug would cause du not to count the
67494         sizes of inaccessible directories.
67495         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
67496         in <http://bugzilla.redhat.com/250077>.
67497
67498 2007-07-25  Peter O'Gorman  <peter@pogma.com>
67499             Bruno Haible  <bruno@clisp.org>
67500
67501         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
67502         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
67503         #include_next, gives a diagnostic about it, but reports no error in
67504         the exit code.
67505         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
67506
67507 2007-07-24  Ben Pfaff  <blp@gnu.org>
67508
67509         Improve name: "count-one-bits" is better than "popcount".
67510         * MODULES.html.sh: Update name.
67511         * lib/popcount.h: Renamed lib/count-one-bits.h.
67512         (popcount): Renamed count_one_bits.
67513         (popcountl): Renamed count_one_bits_l.
67514         (popcountll): Renamed count_one_bits_ll.
67515         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
67516         * modules/popcount: Renamed module/count-one-bits.
67517         * modules/popcount-tests: Renamed module/count-one-bits-tests.
67518         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
67519
67520 2007-07-23  Ben Pfaff  <blp@gnu.org>
67521
67522         * lib/popcount.h (popcount32): Reduce size of constants, to allow
67523         better code generation, and add U to large constants to avoid
67524         warnings, in non-GCC case.
67525         Suggested by Bruno Haible.
67526
67527 2007-07-23  Ben Pfaff  <blp@gnu.org>
67528
67529         * lib/popcount.h: Use verify_true instead of if...abort.
67530         * modules/popcount: Depend on verify module.
67531         Suggested by Jim Meyering.
67532
67533 2007-07-23  Bruno Haible  <bruno@clisp.org>
67534
67535         * gnulib-tool (func_import): Create a .cvsignore file also when the
67536         directory is not yet in CVS but the toplevel directory is. When
67537         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
67538         Reported by Karl Berry.
67539
67540 2007-07-22  Ben Pfaff  <blp@gnu.org>
67541
67542         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
67543         case.
67544         Suggested by Eric Blake.
67545
67546 2007-07-22  Ben Pfaff  <blp@gnu.org>
67547
67548         New module: popcount.
67549         * MODULES.html.sh: Add popcount.
67550         * modules/popcount: New file.
67551         * modules/popcount-tests: New file.
67552         * tests/test-popcount.c: New file.
67553         * lib/popcount.h: New file.
67554         * m4/popcount.m4: New file.
67555
67556 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67557
67558         * build-aux/announce-gen: Update to GPLv3.
67559
67560         * build-aux/config.guess: Update from config.
67561
67562 2007-07-21  Bruno Haible  <bruno@clisp.org>
67563
67564         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
67565         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
67566
67567 2007-07-20  Jim Meyering  <jim@meyering.net>
67568
67569         * check-module: Diagnose a self-dependency.
67570
67571 2007-07-19  Bruno Haible  <bruno@clisp.org>
67572
67573         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
67574         empty.
67575         Reported by Eric Blake.
67576
67577 2007-07-18  Bruno Haible  <bruno@clisp.org>
67578
67579         * gnulib-tool: New options --po-base, --po-domain.
67580         (func_usage): Document them.
67581         (pobase, po_domain): New variables.
67582         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
67583         DEFAULT_TEXT_DOMAIN.
67584         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
67585         (func_import): Consider pobase and po_domain. Create a po/ directory.
67586         (func_create_testdir): Set pobase and po_domain to empty.
67587         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
67588         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
67589
67590 2007-07-18  Bruno Haible  <bruno@clisp.org>
67591
67592         * gnulib-tool (func_get_automake_snippet): Synthesize also an
67593         EXTRA_DIST augmentation for files in build-aux/.
67594
67595 2007-07-16  Bruno Haible  <bruno@clisp.org>
67596
67597         * modules/lseek (License): Use the synonymous term "LGPLv2+".
67598         * modules/getdelim (License): Likewise.
67599
67600 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67601
67602         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
67603         * modules/d-type (License): Likewise.
67604         * modules/extensions (License): Likewise.
67605         * modules/fnmatch (License): Likewise.
67606         * modules/fseeko (License): Likewise.
67607         * modules/getaddrinfo (License): Likewise.
67608         * modules/getline (License): Likewise.
67609         * modules/getlogin_r (License): Likewise.
67610         * modules/getpass (License): Likewise.
67611         * modules/gettimeofday (License): Likewise.
67612         * modules/glob (License): Likewise.
67613         * modules/inet_ntop (License): Likewise.
67614         * modules/malloc (License): Likewise.
67615         * modules/malloca (License): Likewise.
67616         * modules/memmem (License): Likewise.
67617         * modules/mempcpy (License): Likewise.
67618         * modules/memset (License): Likewise.
67619         * modules/minmax (License): Likewise.
67620         * modules/mktime (License): Likewise.
67621         * modules/netinet_in (License): Likewise.
67622         * modules/pathmax (License): Likewise.
67623         * modules/poll (License): Likewise.
67624         * modules/regex (License): Likewise.
67625         * modules/snprintf (License): Likewise.
67626         * modules/stdbool (License): Likewise.
67627         * modules/stdint (License): Likewise.
67628         * modules/stdio (License): Likewise.
67629         * modules/strcase (License): Likewise.
67630         * modules/strcasestr (License): Likewise.
67631         * modules/strdup (License): Likewise.
67632         * modules/string (License): Likewise.
67633         * modules/strndup (License): Likewise.
67634         * modules/strnlen (License): Likewise.
67635         * modules/strpbrk (License): Likewise.
67636         * modules/strptime (License): Likewise.
67637         * modules/strsep (License): Likewise.
67638         * modules/sys_select (License): Likewise.
67639         * modules/sys_socket (License): Likewise.
67640         * modules/sys_stat (License): Likewise.
67641         * modules/sys_time (License): Likewise.
67642         * modules/time (License): Likewise.
67643         * modules/time_r (License): Likewise.
67644         * modules/timegm (License): Likewise.
67645         * modules/unistd (License): Likewise.
67646         * modules/vsnprintf (License): Likewise.
67647         * modules/wctype (License): Likewise.
67648
67649 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67650
67651         * modules/argz (License): LGPLv2+.
67652
67653 2007-07-15  Karl Berry  <karl@gnu.org>
67654
67655         * doc/gnulib.texi: revise node structure per new fdl.texi.
67656
67657 2007-07-14  Bruno Haible  <bruno@clisp.org>
67658
67659         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
67660         the output file.
67661         * lib/uniname/uninames.h: Regenerated.
67662
67663 2007-07-14  Karl Berry  <karl@gnu.org>
67664
67665         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
67666         omitting sectioning and index commands.
67667
67668 2007-07-13  Bruno Haible  <bruno@clisp.org>
67669
67670         New gnulib-tool option --more-symlinks.
67671         * gnulib-tool (func_usage): Document --more-symlinks.
67672         (do_copyrights): New variable.
67673         Recognize option --more-symlinks.
67674         (func_import): Don't add a copyright notice transform to
67675         sed_transform_lib_file if do_copyrights is empty.
67676
67677 2007-07-13  Bruno Haible  <bruno@clisp.org>
67678
67679         * lib/vasnprintf.c (decimal_point_char): Define also if
67680         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
67681         && !NEED_PRINTF_DIRECTIVE_A.
67682         Reported by Clemens Koller <clemens.koller@anagramm.de> via
67683         Gary V. Vaughan <gary@gnu.org>.
67684
67685 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
67686
67687         * lib/inttypes_.h: Undo previous change, since it was fixed
67688         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
67689
67690 2007-07-13  Bruno Haible  <bruno@clisp.org>
67691
67692         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
67693         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
67694
67695 2007-07-13  Jim Meyering  <jim@meyering.net>
67696
67697         df: Don't fail for Tru64's "file-on-file mount".
67698         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
67699         so we fall through and use statfs instead.  Details here:
67700         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
67701         Reported by Albert Chin.
67702
67703 2007-07-13  Bruno Haible  <bruno@clisp.org>
67704
67705         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
67706         * modules/configmake (License): Likewise.
67707         * modules/gettext (License): Likewise.
67708         * modules/gettext-h (License): Likewise.
67709         * modules/include_next (License): Likewise.
67710         * modules/link-warning (License): Likewise.
67711         * modules/localcharset (License): Likewise.
67712         * modules/localename (License): Likewise.
67713         * modules/lock (License): Likewise.
67714         * modules/relocatable-lib-lgpl (License): Likewise.
67715         * modules/size_max (License): Likewise.
67716         * modules/vasnprintf (License): Likewise.
67717         * modules/wchar (License): Likewise.
67718         * modules/xsize (License): Likewise.
67719
67720 2007-07-13  Bruno Haible  <bruno@clisp.org>
67721
67722         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
67723         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
67724
67725 2007-07-12  Bruno Haible  <bruno@clisp.org>
67726
67727         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
67728         in the modules files.
67729
67730 2007-07-11  Karl Berry  <karl@gnu.org>
67731
67732         * MODULES.html.sh (func_module): use
67733          sed -e '\|^'"${includefile}"'$|d'
67734          instead of /.../d, to avoid errors on $includefile's containing /.
67735
67736 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67737
67738         * gnulib-tool (func_import): Avoid duplication of --avoid
67739         statements
67740         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
67741         names to `_' in variable names.
67742
67743 2007-07-10  Eric Blake  <ebb9@byu.net>
67744
67745         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
67746         * NEWS: Document this change.
67747
67748 2007-07-08  Bruno Haible  <bruno@clisp.org>
67749
67750         Update to Unicode 5.0.
67751         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
67752         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
67753         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
67754         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
67755         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
67756         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
67757         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
67758         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
67759         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
67760         U+10A3F, U+1D242..U+1D244.
67761         (nonspacing_table_ind): Update.
67762         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
67763         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
67764
67765 2007-07-08  Bruno Haible  <bruno@clisp.org>
67766
67767         Update to Unicode 5.0.
67768         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
67769         code transform. Extend the name index field of unicode_name_to_code and
67770         unicode_code_to_name from 16 to 24 bits.
67771         * lib/uniname/uniname.c (unicode_character_name,
67772         unicode_name_character): Add the range 0x12xxx to the code transform.
67773         * lib/uniname/uninames.h: Regenerated.
67774         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
67775
67776 2007-07-07  Bruno Haible  <bruno@clisp.org>
67777
67778         * modules/wcwidth-tests: New file.
67779         * tests/test-wcwidth.c: New file.
67780
67781         Work around MacOS X wcwidth() bug.
67782         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
67783         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
67784         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
67785         original wcwidth in non-UTF-8 locales.
67786         * modules/wcwidth (Depends-on): Add localcharset, streq,
67787         uniwidth/width.
67788         * doc/functions/wcwidth.texi: Update.
67789
67790 2007-07-07  Bruno Haible  <bruno@clisp.org>
67791
67792         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
67793         (wcwidth): New declaration.
67794         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
67795         macros.
67796         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
67797         here. Prepare for creating <wchar.h> unconditionally.
67798         * modules/wchar (Depends-on): Add link-warning.
67799         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
67800         REPLACE_WCWIDTH, and GL_LINK_WARNING.
67801         * lib/wcwidth.h: Remove file.
67802         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
67803         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
67804         * modules/wcwidth (Files): Remove lib/wcwidth.h.
67805         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
67806         (Include): Replace wcwidth.h with <wchar.h>.
67807         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
67808         * lib/mbchar.h: Don't include wcwidth.h.
67809         * lib/mbswidth.c: Likewise.
67810         * NEWS: Mention the change.
67811
67812 2007-07-07  Bruno Haible  <bruno@clisp.org>
67813
67814         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
67815         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
67816         definition with an external declaration.
67817         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
67818         defined as a function. Remove AC_C_INLINE requirement.
67819         * modules/wcwidth (Files): Add lib/wcwidth.c.
67820         (Makefile.am): Remove redundant statement.
67821
67822 2007-07-07  Bruno Haible  <bruno@clisp.org>
67823
67824         * MODULES.html.sh (Unicode string functions): Add the new modules.
67825
67826         * tests/uniwidth/test-u32-strwidth.c: New file.
67827         * modules/uniwidth/u32-strwidth-tests: New file.
67828
67829         * lib/uniwidth/u32-strwidth.c: New file.
67830         * modules/uniwidth/u32-strwidth: New file.
67831
67832         * tests/uniwidth/test-u16-strwidth.c: New file.
67833         * modules/uniwidth/u16-strwidth-tests: New file.
67834
67835         * lib/uniwidth/u16-strwidth.c: New file.
67836         * modules/uniwidth/u16-strwidth: New file.
67837
67838         * tests/uniwidth/test-u8-strwidth.c: New file.
67839         * modules/uniwidth/u8-strwidth-tests: New file.
67840
67841         * lib/uniwidth/u8-strwidth.c: New file.
67842         * modules/uniwidth/u8-strwidth: New file.
67843
67844         * tests/uniwidth/test-u32-width.c: New file.
67845         * modules/uniwidth/u32-width-tests: New file.
67846
67847         * lib/uniwidth/u32-width.c: New file.
67848         * modules/uniwidth/u32-width: New file.
67849
67850         * tests/uniwidth/test-u16-width.c: New file.
67851         * modules/uniwidth/u16-width-tests: New file.
67852
67853         * lib/uniwidth/u16-width.c: New file.
67854         * modules/uniwidth/u16-width: New file.
67855
67856         * tests/uniwidth/test-u8-width.c: New file.
67857         * modules/uniwidth/u8-width-tests: New file.
67858
67859         * lib/uniwidth/u8-width.c: New file.
67860         * modules/uniwidth/u8-width: New file.
67861
67862         * tests/uniwidth/test-uc_width.c: New file.
67863         * modules/uniwidth/width-tests: New file.
67864
67865         * lib/uniwidth/width.c: New file, from GNU libiconv.
67866         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
67867         * modules/uniwidth/width: New file.
67868
67869         * lib/uniwidth.h: New file, from GNU libiconv.
67870         * modules/uniwidth/base: New file.
67871
67872 2007-07-07  Bruno Haible  <bruno@clisp.org>
67873
67874         * lib/uniname.h: New file, from GNU gettext.
67875         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
67876         * lib/uniname/uninames.h: New file, from GNU gettext.
67877         * lib/uniname/uniname.c: New file, from GNU gettext.
67878         * tests/uniname/test-uninames.sh: New file.
67879         * tests/uniname/test-uninames.c: New file, from GNU gettext.
67880         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
67881         * modules/uniname/base: New file.
67882         * modules/uniname/uniname: New file.
67883         * modules/uniname/uniname-tests: New file.
67884         * MODULES.html.sh (Unicode string functions): Add the new modules.
67885
67886 2007-07-06  Bruno Haible  <bruno@clisp.org>
67887
67888         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
67889
67890 2007-07-06  Bruno Haible  <bruno@clisp.org>
67891
67892         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
67893         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
67894         includes <cygwin/sys_time.h> which includes <sys/select.h> which
67895         include <sys/time.h>.
67896         Reported by Eric Blake.
67897
67898 2007-07-06  Eric Blake  <ebb9@byu.net>
67899
67900         Fix testing canonicalize on cygwin.
67901         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
67902         Revert patch from 2007-06-19.
67903         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
67904         canonicalize module is also in use.
67905         * tests/test-canonicalize.c: New file.
67906         * tests/test-canonicalize.sh: Likewise.
67907         * modules/canonicalize-tests: Likewise.
67908
67909 2007-07-06  Jim Meyering  <jim@meyering.net>
67910
67911         * lib/getugroups.c (getugroups): Detect getgrent failure.
67912         Adjust comment to reflect reality: this function may return -1.
67913
67914 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
67915
67916         * build-aux/bootstrap (TP_URL,get_translations): Update to use
67917         the new TP address.
67918         (usage): Fix typo
67919         (gnulib_mk): New variable.
67920
67921 2007-07-05  Jim Meyering  <jim@meyering.net>
67922
67923         Don't let endgrent clobber errno, no matter how improbable.
67924         * lib/getugroups.c (getugroups): Save and restore errno around
67925         endgrent call.
67926
67927         Close the group DB even when failing with 2^31 or more members.
67928         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
67929
67930 2007-07-04  Jim Meyering  <jim@meyering.net>
67931
67932         * lib/getugroups.h: New file.
67933         * lib/getugroups.c: Include "getugroups.h".
67934         Remove uses of "register" keyword.
67935         Move local variable, "cp", down into scope where used.
67936         Give "username" parameter the "const" attribute.
67937         * modules/getugroups (Files): Add lib/getugroups.h
67938
67939 2007-07-04  Karl Berry  <karl@gnu.org>
67940
67941         * MODULES.html.sh (func_all_modules): Complete rename of
67942         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
67943
67944 2007-07-02  Bruno Haible  <bruno@clisp.org>
67945
67946         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
67947         mode, when inttypes.h comes from gnulib.
67948         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67949
67950 2007-07-02  Simon Josefsson  <simon@josefsson.org>
67951
67952         * NEWS: Mention lgpl module name change.
67953
67954         * modules/lgpl-2.1: Renamed from lgpl.
67955
67956         * NEWS: Mention gpl module name change.
67957
67958         * modules/gpl-3.0: New file, based on gpl-2.0.
67959
67960         * modules/gpl-2.0: Renamed from gpl.
67961
67962         * modules/gpl: Fix filename, doc/gpl.texi is now found at
67963         doc/gpl-2.0.texi.
67964
67965 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67966
67967         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
67968         #define __STDC_LIMIT_MACROS temporarily while including
67969         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
67970         Problem reported by Joel E. Denny in
67971         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
67972
67973 2007-07-01  Bruno Haible  <bruno@clisp.org>
67974
67975         * lib/unistdio.h: New file.
67976         * lib/unistdio/u-asnprintf.h: New file.
67977         * lib/unistdio/u-asprintf.h: New file.
67978         * lib/unistdio/u-printf-args.c: New file.
67979         * lib/unistdio/u-printf-args.h: New file.
67980         * lib/unistdio/u-printf-parse.h: New file.
67981         * lib/unistdio/u-snprintf.h: New file.
67982         * lib/unistdio/u-sprintf.h: New file.
67983         * lib/unistdio/u-vasprintf.h: New file.
67984         * lib/unistdio/u-vsnprintf.h: New file.
67985         * lib/unistdio/u-vsprintf.h: New file.
67986         * lib/unistdio/ulc-asnprintf.c: New file.
67987         * lib/unistdio/ulc-asprintf.c: New file.
67988         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
67989         * lib/unistdio/ulc-printf-parse.c: New file.
67990         * lib/unistdio/ulc-snprintf.c: New file.
67991         * lib/unistdio/ulc-sprintf.c: New file.
67992         * lib/unistdio/ulc-vasnprintf.c: New file.
67993         * lib/unistdio/ulc-vasprintf.c: New file.
67994         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
67995         * lib/unistdio/ulc-vsnprintf.c: New file.
67996         * lib/unistdio/ulc-vsprintf.c: New file.
67997         * lib/unistdio/u8-asnprintf.c: New file.
67998         * lib/unistdio/u8-asprintf.c: New file.
67999         * lib/unistdio/u8-printf-parse.c: New file.
68000         * lib/unistdio/u8-snprintf.c: New file.
68001         * lib/unistdio/u8-sprintf.c: New file.
68002         * lib/unistdio/u8-vasnprintf.c: New file.
68003         * lib/unistdio/u8-vasprintf.c: New file.
68004         * lib/unistdio/u8-vsnprintf.c: New file.
68005         * lib/unistdio/u8-vsprintf.c: New file.
68006         * lib/unistdio/u8-u8-asnprintf.c: New file.
68007         * lib/unistdio/u8-u8-asprintf.c: New file.
68008         * lib/unistdio/u8-u8-snprintf.c: New file.
68009         * lib/unistdio/u8-u8-sprintf.c: New file.
68010         * lib/unistdio/u8-u8-vasnprintf.c: New file.
68011         * lib/unistdio/u8-u8-vasprintf.c: New file.
68012         * lib/unistdio/u8-u8-vsnprintf.c: New file.
68013         * lib/unistdio/u8-u8-vsprintf.c: New file.
68014         * lib/unistdio/u16-asnprintf.c: New file.
68015         * lib/unistdio/u16-asprintf.c: New file.
68016         * lib/unistdio/u16-printf-parse.c: New file.
68017         * lib/unistdio/u16-snprintf.c: New file.
68018         * lib/unistdio/u16-sprintf.c: New file.
68019         * lib/unistdio/u16-vasnprintf.c: New file.
68020         * lib/unistdio/u16-vasprintf.c: New file.
68021         * lib/unistdio/u16-vsnprintf.c: New file.
68022         * lib/unistdio/u16-vsprintf.c: New file.
68023         * lib/unistdio/u16-u16-asnprintf.c: New file.
68024         * lib/unistdio/u16-u16-asprintf.c: New file.
68025         * lib/unistdio/u16-u16-snprintf.c: New file.
68026         * lib/unistdio/u16-u16-sprintf.c: New file.
68027         * lib/unistdio/u16-u16-vasnprintf.c: New file.
68028         * lib/unistdio/u16-u16-vasprintf.c: New file.
68029         * lib/unistdio/u16-u16-vsnprintf.c: New file.
68030         * lib/unistdio/u16-u16-vsprintf.c: New file.
68031         * lib/unistdio/u32-asnprintf.c: New file.
68032         * lib/unistdio/u32-asprintf.c: New file.
68033         * lib/unistdio/u32-printf-parse.c: New file.
68034         * lib/unistdio/u32-snprintf.c: New file.
68035         * lib/unistdio/u32-sprintf.c: New file.
68036         * lib/unistdio/u32-vasnprintf.c: New file.
68037         * lib/unistdio/u32-vasprintf.c: New file.
68038         * lib/unistdio/u32-vsnprintf.c: New file.
68039         * lib/unistdio/u32-vsprintf.c: New file.
68040         * lib/unistdio/u32-u32-asnprintf.c: New file.
68041         * lib/unistdio/u32-u32-asprintf.c: New file.
68042         * lib/unistdio/u32-u32-snprintf.c: New file.
68043         * lib/unistdio/u32-u32-sprintf.c: New file.
68044         * lib/unistdio/u32-u32-vasnprintf.c: New file.
68045         * lib/unistdio/u32-u32-vasprintf.c: New file.
68046         * lib/unistdio/u32-u32-vsnprintf.c: New file.
68047         * lib/unistdio/u32-u32-vsprintf.c: New file.
68048         * tests/unistdio/test-ulc-asnprintf1.c: New file.
68049         * tests/unistdio/test-ulc-asnprintf1.h: New file.
68050         * tests/unistdio/test-ulc-printf1.h: New file.
68051         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
68052         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
68053         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
68054         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
68055         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
68056         * tests/unistdio/test-ulc-vasprintf1.c: New file.
68057         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
68058         * tests/unistdio/test-ulc-vsprintf1.c: New file.
68059         * tests/unistdio/test-u8-asnprintf1.c: New file.
68060         * tests/unistdio/test-u8-asnprintf1.h: New file.
68061         * tests/unistdio/test-u8-printf1.h: New file.
68062         * tests/unistdio/test-u8-vasnprintf1.c: New file.
68063         * tests/unistdio/test-u8-vasnprintf2.c: New file.
68064         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
68065         * tests/unistdio/test-u8-vasnprintf3.c: New file.
68066         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
68067         * tests/unistdio/test-u8-vasprintf1.c: New file.
68068         * tests/unistdio/test-u8-vsnprintf1.c: New file.
68069         * tests/unistdio/test-u8-vsprintf1.c: New file.
68070         * tests/unistdio/test-u16-asnprintf1.c: New file.
68071         * tests/unistdio/test-u16-asnprintf1.h: New file.
68072         * tests/unistdio/test-u16-printf1.h: New file.
68073         * tests/unistdio/test-u16-vasnprintf1.c: New file.
68074         * tests/unistdio/test-u16-vasnprintf2.c: New file.
68075         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
68076         * tests/unistdio/test-u16-vasnprintf3.c: New file.
68077         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
68078         * tests/unistdio/test-u16-vasprintf1.c: New file.
68079         * tests/unistdio/test-u16-vsnprintf1.c: New file.
68080         * tests/unistdio/test-u16-vsprintf1.c: New file.
68081         * tests/unistdio/test-u32-asnprintf1.c: New file.
68082         * tests/unistdio/test-u32-asnprintf1.h: New file.
68083         * tests/unistdio/test-u32-printf1.h: New file.
68084         * tests/unistdio/test-u32-vasnprintf1.c: New file.
68085         * tests/unistdio/test-u32-vasnprintf2.c: New file.
68086         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
68087         * tests/unistdio/test-u32-vasnprintf3.c: New file.
68088         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
68089         * tests/unistdio/test-u32-vasprintf1.c: New file.
68090         * tests/unistdio/test-u32-vsnprintf1.c: New file.
68091         * tests/unistdio/test-u32-vsprintf1.c: New file.
68092         * modules/unistdio/base: New file.
68093         * modules/unistdio/u-printf-args: New file.
68094         * modules/unistdio/ulc-asnprintf: New file.
68095         * modules/unistdio/ulc-asprintf: New file.
68096         * modules/unistdio/ulc-fprintf: New file.
68097         * modules/unistdio/ulc-printf-parse: New file.
68098         * modules/unistdio/ulc-snprintf: New file.
68099         * modules/unistdio/ulc-sprintf: New file.
68100         * modules/unistdio/ulc-vasnprintf: New file.
68101         * modules/unistdio/ulc-vasprintf: New file.
68102         * modules/unistdio/ulc-vfprintf: New file.
68103         * modules/unistdio/ulc-vsnprintf: New file.
68104         * modules/unistdio/ulc-vsprintf: New file.
68105         * modules/unistdio/u8-asnprintf: New file.
68106         * modules/unistdio/u8-asprintf: New file.
68107         * modules/unistdio/u8-printf-parse: New file.
68108         * modules/unistdio/u8-snprintf: New file.
68109         * modules/unistdio/u8-sprintf: New file.
68110         * modules/unistdio/u8-vasnprintf: New file.
68111         * modules/unistdio/u8-vasprintf: New file.
68112         * modules/unistdio/u8-vsnprintf: New file.
68113         * modules/unistdio/u8-vsprintf: New file.
68114         * modules/unistdio/u8-u8-asnprintf: New file.
68115         * modules/unistdio/u8-u8-asprintf: New file.
68116         * modules/unistdio/u8-u8-snprintf: New file.
68117         * modules/unistdio/u8-u8-sprintf: New file.
68118         * modules/unistdio/u8-u8-vasnprintf: New file.
68119         * modules/unistdio/u8-u8-vasprintf: New file.
68120         * modules/unistdio/u8-u8-vsnprintf: New file.
68121         * modules/unistdio/u8-u8-vsprintf: New file.
68122         * modules/unistdio/u16-asnprintf: New file.
68123         * modules/unistdio/u16-asprintf: New file.
68124         * modules/unistdio/u16-printf-parse: New file.
68125         * modules/unistdio/u16-snprintf: New file.
68126         * modules/unistdio/u16-sprintf: New file.
68127         * modules/unistdio/u16-vasnprintf: New file.
68128         * modules/unistdio/u16-vasprintf: New file.
68129         * modules/unistdio/u16-vsnprintf: New file.
68130         * modules/unistdio/u16-vsprintf: New file.
68131         * modules/unistdio/u16-u16-asnprintf: New file.
68132         * modules/unistdio/u16-u16-asprintf: New file.
68133         * modules/unistdio/u16-u16-snprintf: New file.
68134         * modules/unistdio/u16-u16-sprintf: New file.
68135         * modules/unistdio/u16-u16-vasnprintf: New file.
68136         * modules/unistdio/u16-u16-vasprintf: New file.
68137         * modules/unistdio/u16-u16-vsnprintf: New file.
68138         * modules/unistdio/u16-u16-vsprintf: New file.
68139         * modules/unistdio/u32-asnprintf: New file.
68140         * modules/unistdio/u32-asprintf: New file.
68141         * modules/unistdio/u32-printf-parse: New file.
68142         * modules/unistdio/u32-snprintf: New file.
68143         * modules/unistdio/u32-sprintf: New file.
68144         * modules/unistdio/u32-vasnprintf: New file.
68145         * modules/unistdio/u32-vasprintf: New file.
68146         * modules/unistdio/u32-vsnprintf: New file.
68147         * modules/unistdio/u32-vsprintf: New file.
68148         * modules/unistdio/u32-u32-asnprintf: New file.
68149         * modules/unistdio/u32-u32-asprintf: New file.
68150         * modules/unistdio/u32-u32-snprintf: New file.
68151         * modules/unistdio/u32-u32-sprintf: New file.
68152         * modules/unistdio/u32-u32-vasnprintf: New file.
68153         * modules/unistdio/u32-u32-vasprintf: New file.
68154         * modules/unistdio/u32-u32-vsnprintf: New file.
68155         * modules/unistdio/u32-u32-vsprintf: New file.
68156         * modules/unistdio/ulc-asnprintf-tests: New file.
68157         * modules/unistdio/ulc-vasnprintf-tests: New file.
68158         * modules/unistdio/ulc-vasprintf-tests: New file.
68159         * modules/unistdio/ulc-vsnprintf-tests: New file.
68160         * modules/unistdio/ulc-vsprintf-tests: New file.
68161         * modules/unistdio/u8-asnprintf-tests: New file.
68162         * modules/unistdio/u8-vasnprintf-tests: New file.
68163         * modules/unistdio/u8-vasprintf-tests: New file.
68164         * modules/unistdio/u8-vsnprintf-tests: New file.
68165         * modules/unistdio/u8-vsprintf-tests: New file.
68166         * modules/unistdio/u16-asnprintf-tests: New file.
68167         * modules/unistdio/u16-vasnprintf-tests: New file.
68168         * modules/unistdio/u16-vasprintf-tests: New file.
68169         * modules/unistdio/u16-vsnprintf-tests: New file.
68170         * modules/unistdio/u16-vsprintf-tests: New file.
68171         * modules/unistdio/u32-asnprintf-tests: New file.
68172         * modules/unistdio/u32-vasnprintf-tests: New file.
68173         * modules/unistdio/u32-vasprintf-tests: New file.
68174         * modules/unistdio/u32-vsnprintf-tests: New file.
68175         * modules/unistdio/u32-vsprintf-tests: New file.
68176         * MODULES.html.sh (Unicode string functions): Add the new modules.
68177
68178 2007-07-01  Bruno Haible  <bruno@clisp.org>
68179
68180         * lib/sprintf.c (sprintf): Limit the available length estimation,
68181         to avoid address wraparound.
68182         * lib/vsprintf.c (vsprintf): Likewise.
68183         * modules/sprintf-posix (Dependencies): Add stdint.
68184         * modules/vsprintf-posix (Dependencies): Likewise.
68185
68186 2007-07-01  Bruno Haible  <bruno@clisp.org>
68187
68188         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
68189         Windows PATH as well. Conservative double-quoting. Comments.
68190
68191 2007-07-01  Bruno Haible  <bruno@clisp.org>
68192             Eric Blake  <ebb9@byu.net>
68193             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68194
68195         * gnulib-tool (self_abspathname): Fix algorithm to cope with
68196         empty components in $PATH, denoting '.'.
68197
68198 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68199
68200         * gnulib-tool: Fix indentation.
68201         (func_create_megatestdir): Likewise.
68202         Report by Bruno Haible.
68203
68204 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68205
68206         Sync from Automake.
68207         * build-aux/gnupload: Fix shell portability issues with for loops.
68208         Report by Karl Berry.
68209
68210 2007-06-29  Simon Josefsson  <simon@josefsson.org>
68211
68212         * build-aux/maint.mk (POURL): Use translationproject.org.
68213
68214 2007-06-27  Simon Josefsson  <simon@josefsson.org>
68215             Bruno Haible  <bruno@clisp.org>
68216
68217         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
68218         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
68219         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
68220         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
68221         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
68222
68223 2007-06-27  Bruno Haible  <bruno@clisp.org>
68224
68225         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
68226         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
68227
68228 2007-06-26  Karl Berry  <karl@gnu.org>
68229
68230         * MODULES.html.sh: remove xreadlink-with-size.
68231
68232 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68233
68234         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
68235         method that I hope also handles the double-include problem noted
68236         by Bruno Haible in
68237         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
68238
68239 2007-06-23  Bruno Haible  <bruno@clisp.org>
68240
68241         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68242         Don't let the 'mostlyclean' target fail if the last subdirectory could
68243         not be removed.
68244         Reported by Karl Berry.
68245
68246 2007-06-23  Bruno Haible  <bruno@clisp.org>
68247
68248         * gnulib-tool (echo): Add a speedier workaround for ksh.
68249         * tests/test-echo.sh: Likewise.
68250
68251 2007-06-23  Bruno Haible  <bruno@clisp.org>
68252
68253         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
68254         * tests/test-echo.sh: Likewise.
68255
68256 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68257
68258         * gnulib-tool (IFS): Initialize early, so we don't set it to
68259         empty later.
68260         (self_abspathname): Rewrite algorithm to set it, reindent.
68261         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
68262         (func_create_megatestdir): Merge some sed scripts.
68263
68264 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68265
68266         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
68267         exposed by Sun Studio 11 cc on Solaris 8.
68268
68269 2007-06-22  Bruno Haible  <bruno@clisp.org>
68270
68271         * gnulib-tool (echo): Ensure the echo primitive does not interpret
68272         backslashes.
68273         * tests/test-echo.sh: New file.
68274
68275 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68276
68277         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
68278         simplify `sed_replace_build_aux' scripts, they are portable but
68279         echoing them with `echo' is not.
68280         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
68281
68282 2007-06-21  Karl Berry  <karl@gnu.org>
68283
68284         * config/srclist.txt: guess we can't handle the licenses via
68285         srclist at the moment.
68286
68287 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68288
68289         * MODULES.html.sh: Add include_next.
68290         * modules/include_next: New file.
68291
68292 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
68293
68294         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
68295         INCLUDE_NEXT.
68296         (gl_CHECK_NEXT_HEADERS): New macro.
68297         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
68298         the obsolescent gl_ABSOLUTE_HEADER.
68299         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
68300         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
68301         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
68302         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68303         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
68304         * m4/math_h.m4 (gl_MATH_H): Likewise.
68305         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
68306         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
68307         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
68308         * m4/stdint.m4 (gl_STDINT_H): Likewise.
68309         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
68310         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
68311         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
68312         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
68313         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
68314         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
68315         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
68316         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
68317         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
68318         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
68319         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
68320         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68321         * m4/inttypes.m4 (gl_INTTYPES_H): Define
68322         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
68323         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
68324         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
68325         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
68326         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
68327         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
68328         * lib/float_.h: Likewise.
68329         * lib/inttypes_.h: Likewise.
68330         * lib/math_.h: Likewise.
68331         * lib/search_.h: Likewise.
68332         * lib/signal_.h: Likewise.
68333         * lib/stdint_.h: Likewise.
68334         * lib/stdio_.h: Likewise.
68335         * lib/stdlib_.h: Likewise.
68336         * lib/string_.h: Likewise.
68337         * lib/sys_stat_.h: Likewise.
68338         * lib/sys_time_.h: Likewise.
68339         * lib/time_.h: Likewise.
68340         * lib/unistd_.h: Likewise.
68341         * lib/wchar_.h: Likewise.
68342         * lib/wctype_.h: Likewise.
68343         * lib/dirent_.h: Likewise.
68344         * lib/iconv_.h: Likewise.
68345         * lib/locale_.h: Likewise.
68346         * lib/netinet_in_.h: Likewise.
68347         * lib/sys_select_.h: Likewise.
68348         * lib/sys_socket_.h: Likewise.
68349         * lib/sysexits_.h: Likewise.
68350         * modules/fcntl (Depends-on): Depend on include_next, not
68351         absolute_header.
68352         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
68353         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
68354         * modules/fchdir: Likewise.
68355         * modules/float: Likewise.
68356         * modules/iconv_open: Likewise.
68357         * modules/inttypes: Likewise.
68358         * modules/locale: Likewise.
68359         * modules/math: Likewise.
68360         * modules/netinet_in: Likewise.
68361         * modules/search: Likewise.
68362         * modules/signal: Likewise.
68363         * modules/stdint: Likewise.
68364         * modules/stdio: Likewise.
68365         * modules/stdlib: Likewise.
68366         * modules/string: Likewise.
68367         * modules/sys_select: Likewise.
68368         * modules/sys_socket: Likewise.
68369         * modules/sys_stat: Likewise.
68370         * modules/sys_time: Likewise.
68371         * modules/sysexits: Likewise.
68372         * modules/time: Likewise.
68373         * modules/unistd: Likewise.
68374         * modules/wchar: Likewise.
68375         * modules/wctype: Likewise.
68376         * modules/sys_stat: Change maintainer to "all".
68377         * modules/unistd: Likewise.
68378
68379 2007-06-20  Karl Berry  <karl@gnu.org>
68380
68381         * config/srclist.txt: track www changes in license files.
68382
68383 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
68384
68385         * build-aux/bootstrap: Remove stray dot.
68386         Make sure build_aux settings are honored when linking
68387         gnulib_extra_files.
68388
68389 2007-06-19  Eric Blake  <ebb9@byu.net>
68390
68391         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68392         Allow compilation on cygwin.
68393
68394 2007-06-19  Jim Meyering  <jim@meyering.net>
68395
68396         xreadlink-with-size: Remove module.  No longer used.
68397         Ex-callers now use xreadlink or mreadlink-with-size.
68398         * modules/xreadlink-with-size: Remove module.
68399         * lib/xreadlink-with-size.c: Remove file.
68400         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
68401         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
68402         just before the function definition *is* accurate.
68403
68404         Eliminate one way canonicalize_filename_mode could exit.
68405         * lib/canonicalize.c (canonicalize_filename_mode):
68406         Use mreadlink_with_size, not xreadlink_with_size.
68407
68408 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
68409
68410         Detect porting problems to FreeBSD/arm, which has time_t wider than
68411         long int.  Original problem reported for GNU diff by Xin Li in
68412         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
68413         * modules/getdate (Depends-on): Add intprops, verify.
68414         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
68415         is an integer type no wider than long int.
68416
68417 2007-06-18  Jim Meyering  <jim@meyering.net>
68418
68419         New module: mreadlink-with-size.
68420         * MODULES.html.sh: Add mreadlink-with-size.
68421         * modules/mreadlink-with-size: New module
68422         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
68423         not xreadlink-with-size.
68424         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
68425
68426 2007-06-16  Bruno Haible  <bruno@clisp.org>
68427
68428         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
68429         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
68430         Reported by Gary V. Vaughan <gary@gnu.org>.
68431
68432 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
68433
68434         Revamp lchown so that it lives in unistd.h where it belongs.
68435         * lib/lchown.h: Remove.
68436         * lib/dirchownmod.c: Don't include lib/lchown.h.
68437         * lib/fchownat.c: Likewise.
68438         * lib/openat.c: Likewise.
68439         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
68440         does not follow symlinks.
68441         (EOPNOTSUPP): Define if not defined.
68442         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
68443         is defined to 0.
68444         (lchown): New decl.
68445         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
68446         Do not check for lchown decl.
68447         Set REPLACE_LCHOWN.
68448         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
68449         REPLACE_LCHOWN.
68450         * modules/chown: Make it clear it follows symlinks.
68451         * modules/lchown: Make it clear it doesn't follow symlinks.
68452         (Files): Remove lib/lchown.h
68453         (Depends-on): Add unistd.
68454         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
68455         (Include): Include <unistd.h>, not "lchown.h".
68456         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
68457         REPLACE_LCHOWN.
68458
68459 2007-06-15  Jim Meyering  <jim@meyering.net>
68460
68461         Change license (GPL to LGPL) of fsusage and dependents.
68462         * modules/fsusage (License): Change to LGPL.
68463         * modules/full-read (License): Likewise.
68464         * modules/full-write (License): Likewise.
68465         * modules/safe-read (License): Likewise.
68466         * modules/safe-write (License): Likewise.
68467
68468 2007-06-14  Ben Pfaff  <blp@gnu.org>
68469
68470         Missing part of allocsa -> malloca transition.
68471         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
68472         gl_MALLOCA.
68473
68474 2007-06-12  Bruno Haible  <bruno@clisp.org>
68475
68476         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
68477         to ia64, x86_64, i386.
68478         Reported by Eric Blake.
68479
68480 2007-06-12  Bruno Haible  <bruno@clisp.org>
68481
68482         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
68483         cross-compiling to x86_64.
68484
68485 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
68486
68487         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
68488         glitch reported by Ralf Wildenhues in
68489         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
68490
68491         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
68492         Vin Shelton.
68493
68494 2007-06-11  Bruno Haible  <bruno@clisp.org>
68495
68496         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
68497         replacement string.
68498         Reported by Eric Blake.
68499
68500 2007-06-10  Bruno Haible  <bruno@clisp.org>
68501
68502         Prepare vasnprintf code for use with Unicode strings.
68503         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
68504         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
68505         TYPE_U32_STRING.
68506         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
68507         a_u32_string variants.
68508         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68509         * lib/printf-args.c: Don't include config.h and the specification
68510         header if PRINTF_FETCHARGS is already defined.
68511         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68512         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
68513         TYPE_U16_STRING, TYPE_U32_STRING.
68514         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
68515         u16_directive, u16_directives, u32_directive, u32_directives): New
68516         types.
68517         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
68518         New declarations.
68519         * lib/printf-parse.c: Don't include config.h and the specification
68520         header if PRINTF_PARSE is already defined. Eliminate the set of
68521         parameters for WIDE_CHAR_VERSION; the user of this file must provide
68522         them now. Include c-ctype.h.
68523         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
68524         directive and CHAR_T_ONLY_ASCII.
68525         * lib/vasnprintf.c: Don't include config.h and the specification header
68526         if VASNPRINTF is already defined.
68527         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
68528         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
68529         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
68530         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
68531         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
68532         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
68533         code accordingly.
68534         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
68535         pad_ourselves also in this case, with the 'c' and 's' directives, and
68536         with a different notion of "width".
68537         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
68538
68539 2007-06-10  Bruno Haible  <bruno@clisp.org>
68540
68541         * modules/unistr/u32-mbsnlen: New file.
68542         * lib/unistr/u32-mbsnlen.c: New file.
68543
68544         * modules/unistr/u16-mbsnlen: New file.
68545         * lib/unistr/u16-mbsnlen.c: New file.
68546
68547         * modules/unistr/u8-mbsnlen: New file.
68548         * lib/unistr/u8-mbsnlen.c: New file.
68549
68550         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
68551         declarations.
68552
68553 2007-06-10  Bruno Haible  <bruno@clisp.org>
68554
68555         * lib/string_.h (mbsnlen): New declaration.
68556         * lib/mbsnlen.c: New file.
68557         * m4/mbsnlen.m4: New file.
68558         * modules/mbsnlen: New file.
68559         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
68560         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
68561         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
68562
68563 2007-06-10  Bruno Haible  <bruno@clisp.org>
68564
68565         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
68566
68567 2007-06-10  Bruno Haible  <bruno@clisp.org>
68568
68569         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
68570         * lib/mbuiter.h: Likewise.
68571
68572 2007-06-10  Bruno Haible  <bruno@clisp.org>
68573
68574         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
68575         declaration.
68576
68577 2007-06-10  Karl Berry  <karl@gnu.org>
68578
68579         * config/srclist.txt: remove gettext entries, Bruno prefers
68580         to update individually.
68581
68582 2007-06-10  Bruno Haible  <bruno@clisp.org>
68583
68584         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
68585         'maxlen'. Ensure only length + width bytes are allocated, not
68586         length + 1 + width.
68587
68588 2007-06-09  Bruno Haible  <bruno@clisp.org>
68589
68590         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
68591         (CHAR_T): Remove macro.
68592         (VASNPRINTF): Update.
68593
68594 2007-06-09  Bruno Haible  <bruno@clisp.org>
68595
68596         * MODULES.html.sh (Unicode string functions): Add the new modules.
68597
68598         * modules/uniconv/u32-conv-to-enc: New file.
68599         * lib/uniconv/u32-conv-to-enc.c: New file.
68600         * modules/uniconv/u32-conv-to-enc-tests: New file.
68601         * tests/uniconv/test-u32-conv-to-enc.c: New file.
68602
68603         * modules/uniconv/u16-conv-to-enc: New file.
68604         * lib/uniconv/u16-conv-to-enc.c: New file.
68605         * lib/uniconv/u-conv-to-enc.h: New file.
68606         * modules/uniconv/u16-conv-to-enc-tests: New file.
68607         * tests/uniconv/test-u16-conv-to-enc.c: New file.
68608
68609         * modules/uniconv/u8-conv-to-enc: New file.
68610         * lib/uniconv/u8-conv-to-enc.c: New file.
68611         * modules/uniconv/u8-conv-to-enc-tests: New file.
68612         * tests/uniconv/test-u8-conv-to-enc.c: New file.
68613
68614         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
68615         u32_conv_to_encoding): New declarations.
68616
68617 2007-06-09  Bruno Haible  <bruno@clisp.org>
68618
68619         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
68620
68621 2007-06-09  Bruno Haible  <bruno@clisp.org>
68622
68623         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
68624         * modules/malloca: Renamed from modules/allocsa, updated.
68625         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
68626         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
68627         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
68628         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
68629         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
68630         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
68631         * modules/xmalloca: Renamed from modules/xallocsa, updated.
68632         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
68633         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
68634         * modules/c-strcasestr (Depends-on): Update.
68635         * lib/c-strcasestr.c: Update.
68636         * modules/c-strstr (Depends-on): Update.
68637         * lib/c-strstr.c: Update.
68638         * modules/canonicalize-lgpl (Depends-on): Update.
68639         * lib/canonicalize-lgpl.c: Update.
68640         * modules/clean-temp (Depends-on): Update.
68641         * lib/clean-temp.c: Update.
68642         * modules/csharpcomp (Depends-on): Update.
68643         * lib/csharpcomp.c: Update.
68644         * modules/csharpexec (Depends-on): Update.
68645         * lib/csharpexec.c: Update.
68646         * modules/javacomp (Depends-on): Update.
68647         * lib/javacomp.c: Update.
68648         * modules/javaexec (Depends-on): Update.
68649         * lib/javaexec.c: Update.
68650         * modules/mbscasestr (Depends-on): Update.
68651         * lib/mbscasestr.c: Update.
68652         * modules/mbsstr (Depends-on): Update.
68653         * lib/mbsstr.c: Update.
68654         * modules/setenv (Depends-on): Update.
68655         * lib/setenv.c: Update.
68656         * modules/strcasestr (Depends-on): Update.
68657         * lib/strcasestr.c: Update.
68658         * modules/striconveha (Depends-on): Update.
68659         * lib/striconveha.c: Update.
68660         * modules/relocatable-prog-wrapper (Files): Update.
68661         * lib/relocwrapper.c: Update.
68662         * build-aux/install-reloc: Update.
68663         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
68664
68665 2007-06-08  Bruno Haible  <bruno@clisp.org>
68666
68667         Port to uClibc.
68668         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
68669         * lib/fpurge.c (fpurge): Likewise.
68670         * lib/freading.c (freading): Likewise.
68671         * lib/fseeko.c (rpl_fseeko): Likewise.
68672         * lib/fseterr.c (fseterr): Likewise.
68673         * lib/fwriting.c (fwriting): Likewise.
68674         * tests/test-fflush.c (main): Avoid a failure on uClibc.
68675
68676 2007-06-08  Bruno Haible  <bruno@clisp.org>
68677
68678         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
68679         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
68680         * modules/gettext (Files): Add m4/intlmacosx.m4.
68681
68682 2007-06-07  Bruno Haible  <bruno@clisp.org>
68683
68684         * modules/localename-tests: New file.
68685         * tests/test-localename.c: New file.
68686
68687         New module 'localename'.
68688         * lib/localename.h: New file.
68689         * lib/localename.c: New file, from GNU gettext.
68690         * m4/localename.m4: New file.
68691         * modules/localename: New file.
68692
68693 2007-06-07  Bruno Haible  <bruno@clisp.org>
68694
68695         Work around the lack of <wchar.h> on some builds of uClibc.
68696         * doc/headers/wchar.texi: Update.
68697         * lib/wchar_.h: Include <wchar.h> only if it exists.
68698         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
68699         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
68700         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
68701         doesn't exist.
68702         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
68703         * modules/mbfile (Depends-on): Add wchar.
68704         * modules/mbiter (Depends-on): Likewise.
68705         * modules/mbuiter (Depends-on): Likewise.
68706         Reported by Simon Josefsson.
68707
68708 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68709
68710         Work around problem reported by Steven M. Schweda in
68711         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
68712         Tru64 5.1B with the Compaq compiler environment installed declares
68713         an 'isblank' function but does not define it in the C library.
68714         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
68715         * lib/regex_internal.h (isblank): Likewise.
68716         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
68717         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68718
68719 2007-06-05  Bruno Haible  <bruno@clisp.org>
68720
68721         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
68722         ia64.
68723         * modules/printf-safe: New file.
68724         * modules/fprintf-posix (Depends-on): Add printf-safe.
68725         * modules/printf-posix (Depends-on): Likewise.
68726         * modules/snprintf-posix (Depends-on): Likewise.
68727         * modules/sprintf-posix (Depends-on): Likewise.
68728         * modules/vasnprintf-posix (Depends-on): Likewise.
68729         * modules/vasprintf-posix (Depends-on): Likewise.
68730         * modules/vfprintf-posix (Depends-on): Likewise.
68731         * modules/vprintf-posix (Depends-on): Likewise.
68732         * modules/vsnprintf-posix (Depends-on): Likewise.
68733         * modules/vsprintf-posix (Depends-on): Likewise.
68734         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
68735         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
68736         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
68737         "no" on i386, x86_64, ia64.
68738         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
68739         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68740         on i386, x86_64, ia64.
68741         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
68742         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68743         on i386, x86_64, ia64.
68744         * tests/test-vasnprintf-posix.c: Include float.h.
68745         (LDBL80_WORDS): New macro.
68746         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68747         on i386, x86_64, ia64.
68748         * tests/test-vasprintf-posix.c: Include float.h.
68749         (LDBL80_WORDS): New macro.
68750         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68751         on i386, x86_64, ia64.
68752         * tests/test-snprintf-posix.c: Include float.h.
68753         * tests/test-sprintf-posix.c: Likewise.
68754         * tests/test-vsnprintf-posix.c: Likewise.
68755         * tests/test-vsprintf-posix.c: Likewise.
68756
68757 2007-06-05  Bruno Haible  <bruno@clisp.org>
68758
68759         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
68760         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
68761         non-IEEE numbers on i386, x86_64, ia64.
68762         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
68763         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
68764         * tests/test-isnanl.h: Include float.h.
68765         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
68766
68767 2007-06-05  Bruno Haible  <bruno@clisp.org>
68768
68769         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
68770         also the %a / %A. Handle the %a / %A code before this extra handling.
68771
68772 2007-06-05  Bruno Haible  <bruno@clisp.org>
68773
68774         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
68775         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
68776
68777 2007-06-05  Bruno Haible  <bruno@clisp.org>
68778
68779         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
68780         typo in variable name.
68781
68782 2007-06-05  Eric Blake  <ebb9@byu.net>
68783
68784         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
68785         Reported by Simon Josefsson.
68786
68787 2007-06-04  Bruno Haible  <bruno@clisp.org>
68788
68789         Avoid test failures on some PowerPC platforms.
68790         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
68791         Define differently for PowerPC.
68792         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
68793         Reported by Gary V. Vaughan <gary@gnu.org>.
68794
68795 2007-06-02  Bruno Haible  <bruno@clisp.org>
68796
68797         Fix test-stdint failure on FreeBSD/ia64.
68798         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
68799         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
68800         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
68801         * doc/headers/stdint.texi: Update.
68802
68803 2007-06-01  Bruno Haible  <bruno@clisp.org>
68804
68805         * tests/test-binary-io.c (main): Pass a third argument to open().
68806         Reported by Gary V. Vaughan <gary@gnu.org>.
68807
68808 2007-06-01  Bruno Haible  <bruno@clisp.org>
68809
68810         * doc/functions/frexpl.texi: Update for mingw.
68811
68812 2007-06-01  Bruno Haible  <bruno@clisp.org>
68813
68814         * tests/test-lseek.c (main): Disable test of errno for invalid third
68815         argument.
68816         * doc/functions/lseek.texi: Update.
68817         Reported by Gary V. Vaughan <gary@gnu.org>.
68818
68819 2007-05-28  Bruno Haible  <bruno@clisp.org>
68820
68821         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
68822
68823 2007-05-31  Eric Blake  <ebb9@byu.net>
68824
68825         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
68826         cross compiling.
68827
68828 2007-05-30  Eric Blake  <ebb9@byu.net>
68829         and Bruno Haible  <bruno@clisp.org>
68830
68831         Work around mingw test failures exposed by m4-1.4.9b.
68832         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
68833         * tests/test-unistd.c: Disable uid_t and git_t tests for the
68834         moment.
68835
68836 2007-05-30  Bruno Haible  <bruno@clisp.org>
68837
68838         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
68839         assuming that they are closed. Needed on HP-UX 11.
68840
68841 2007-05-29  Bruno Haible  <bruno@clisp.org>
68842
68843         Fix a problem with #include_next.
68844         * lib/dirent_.h: Split the double-inclusion guard.
68845         * lib/fcntl_.h: Likewise.
68846         * lib/float_.h: Likewise.
68847         * lib/iconv_.h: Likewise.
68848         * lib/inttypes_.h: Likewise.
68849         * lib/locale_.h: Likewise.
68850         * lib/math_.h: Likewise.
68851         * lib/netinet_in_.h: Likewise.
68852         * lib/search_.h: Likewise.
68853         * lib/signal_.h: Likewise.
68854         * lib/stdint_.h: Likewise.
68855         * lib/stdio_.h: Likewise.
68856         * lib/stdlib_.h: Likewise.
68857         * lib/string_.h: Likewise.
68858         * lib/sys_select_.h: Likewise.
68859         * lib/sys_socket_.h: Likewise.
68860         * lib/sys_stat_.h: Likewise.
68861         * lib/sys_time_.h: Likewise.
68862         * lib/sysexits_.h: Likewise.
68863         * lib/time_.h: Likewise.
68864         * lib/unistd_.h: Likewise.
68865         * lib/wchar_.h: Likewise.
68866         * lib/wctype_.h: Likewise.
68867
68868 2007-05-29  Bruno Haible  <bruno@clisp.org>
68869
68870         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
68871         for the moment.
68872
68873 2007-05-29  Bruno Haible  <bruno@clisp.org>
68874
68875         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
68876         invocation.
68877         Reported by Eric Blake.
68878
68879 2007-05-29  Bruno Haible  <bruno@clisp.org>
68880
68881         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
68882         compiling case.
68883
68884 2007-05-29  Eric Blake  <ebb9@byu.net>
68885             Bruno Haible  <bruno@clisp.org>
68886
68887         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
68888         cross compiles.
68889
68890 2007-05-28  Eric Blake  <ebb9@byu.net>
68891
68892         * modules/closein-tests (test_closein_LDADD): Support test on
68893         cygwin with libtool.
68894
68895 2007-05-28  Bruno Haible  <bruno@clisp.org>
68896
68897         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
68898         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
68899         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
68900         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
68901         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
68902         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
68903         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
68904         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
68905         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
68906
68907 2007-05-28  Eric Blake  <ebb9@byu.net>
68908
68909         Unconditionally include <config.h> in unit tests.
68910         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
68911         * tests/test-allocsa.c, tests/test-arcfour.c,
68912         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
68913         tests/test-array_list.c, tests/test-array_oset.c,
68914         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
68915         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
68916         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
68917         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
68918         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
68919         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
68920         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
68921         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
68922         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
68923         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
68924         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
68925         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
68926         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
68927         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
68928         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
68929         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
68930         test-md5.c, test-memmem.c, test-printf-posix.c,
68931         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
68932         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
68933         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
68934         test-strcasestr.c, test-striconv.c, test-striconveh.c,
68935         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
68936         test-vasnprintf-posix2.c, test-vasnprintf.c,
68937         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
68938         test-vfprintf-posix.c, test-vprintf-posix.c,
68939         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
68940         test-xvasprintf.c: Likewise.
68941
68942 2007-05-28  Bruno Haible  <bruno@clisp.org>
68943
68944         * gnulib-tool (func_import): Remember the --with-tests command-line
68945         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
68946         Reported by Eric Blake.
68947
68948 2007-05-28  Bruno Haible  <bruno@clisp.org>
68949
68950         * modules/ftell-tests: New file.
68951         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
68952         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
68953
68954         * lib/ftell.c: New file.
68955         * modules/ftell: New file.
68956         * m4/ftell.m4: New file.
68957         * doc/functions/ftell.texi: Update.
68958         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
68959         REPLACE_FTELL.
68960         * lib/stdio_.h (rpl_ftell): New declaration.
68961         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
68962         REPLACE_FTELL.
68963
68964 2007-05-28  Eric Blake  <ebb9@byu.net>
68965
68966         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
68967
68968 2007-05-28  Bruno Haible  <bruno@clisp.org>
68969
68970         * modules/fseek-tests: New file.
68971         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
68972         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
68973
68974         * lib/fseek.c: New file.
68975         * modules/fseek: New file.
68976         * m4/fseek.m4: New file.
68977         * doc/functions/fseek.texi: Update.
68978         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
68979         REPLACE_FSEEK.
68980         * lib/stdio_.h (rpl_fseek): New declaration.
68981         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
68982         REPLACE_FSEEK.
68983
68984 2007-05-28  Bruno Haible  <bruno@clisp.org>
68985
68986         * lib/stdio_.h (fflush): More comments.
68987
68988 2007-05-28  Bruno Haible  <bruno@clisp.org>
68989
68990         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
68991         runtime test.
68992
68993 2007-05-28  Eric Blake  <ebb9@byu.net>
68994
68995         Improve lseek module.
68996         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
68997         * lib/unistd_.h (lseek): Scale back link warning message.
68998         * tests/test-lseek.c: Beef up test.
68999         * tests/test-lseek.sh: Exercise more facets of lseek.
69000         Reported by Bruno Haible.
69001
69002 2007-05-28  Bruno Haible  <bruno@clisp.org>
69003
69004         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
69005         to define.
69006
69007 2007-05-27  Bruno Haible  <bruno@clisp.org>
69008
69009         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
69010
69011 2007-05-27  Bruno Haible  <bruno@clisp.org>
69012
69013         * modules/openmp: New file.
69014         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
69015         Noah Misch.
69016
69017 2007-05-26  Bruno Haible  <bruno@clisp.org>
69018
69019         * modules/chdir-long (Depends-on): Add fchdir.
69020         * modules/chdir-safer (Depends-on): Likewise.
69021         * modules/fts (Depends-on): Likewise.
69022         * modules/fts-lgpl (Depends-on): Likewise.
69023         * modules/openat (Depends-on): Likewise.
69024         * modules/savewd (Depends-on): Likewise.
69025
69026 2007-05-24  Eric Blake  <ebb9@byu.net>
69027
69028         Fix lseek on mingw.
69029         * modules/lseek: New module.
69030         * m4/lseek.m4: New file.
69031         * lib/lseek.c: New file.
69032         * modules/lseek-tests: New file.
69033         * tests/test-lseek.c: New file.
69034         * tests/test-lseek.sh: New file.
69035         * MODULES.html.sh: Document lseek module.
69036         * modules/fflush (Depends-on): Add lseek, fseeko.
69037         * modules/fseeko (Depends-on): Likewise.
69038         * modules/ftello (Depends-on): Likewise.
69039         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
69040         broken.
69041         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
69042         broken.
69043         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
69044         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
69045         * lib/ftello.c (rpl_ftello): Likewise.
69046         * tests/test-fseeko.c (main): Test this.
69047         * tests/test-fseeko.sh: Likewise.
69048         * tests/test-ftello.c (main): Likewise.
69049         * tests/test-ftello.sh: Likewise.
69050         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
69051         implies replacing fseek.
69052         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
69053         HAVE_FTELLO.
69054         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
69055         * modules/unistd (Makefile.am): Likewise.
69056         * lib/unistd_.h (lseek): Declare a replacement.
69057         * doc/functions/lseek.texi (lseek): Document this fix.
69058         * doc/functions/fseek.texi (fseek): Likewise.
69059         * doc/functions/ftell.texi (ftell): Likewise.
69060
69061 2007-05-24  Bruno Haible  <bruno@clisp.org>
69062
69063         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
69064         in the printed representation of a NaN.
69065         * tests/test-vasprintf-posix.c (test_function): Likewise.
69066         * tests/test-snprintf-posix.h (test_function): Likewise.
69067         * tests/test-sprintf-posix.h (test_function): Likewise.
69068         Reported by Eric Blake.
69069
69070 2007-05-23  Eric Blake  <ebb9@byu.net>
69071
69072         Fix fseeko/ftello on cygwin 1.5.24.
69073         * doc/functions/fseeko.texi (fseeko): Document the fix.
69074         * doc/functions/ftello.texi (ftello): Document the fix.
69075         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
69076         * doc/functions/stdout.text (stdout): New file.
69077         * doc/functions/stderr.text (stderr): New file.
69078         * doc/gnulib.texi (Function Substitutes): Use new files.
69079         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
69080         prior to 1.7.0.
69081         * tests/test-ftello.c (main): Likewise for ftello.
69082         * tests/test-fseeko.sh: New file.
69083         * tests/test-ftello.sh: New file.
69084         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
69085         with seekable stdin.
69086         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
69087         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
69088         (gl_REPLACE_FSEEKO): New macro.
69089         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
69090         * modules/fseeko (Files): Distribute fseeko.c.
69091         * modules/ftello (Files): Distribute ftello.c.
69092         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
69093         mode.
69094         * lib/ftello.c (rpl_ftello): New file.
69095         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
69096         fseeko, ftello.
69097         (gl_STDIN_LARGE_OFFSET): New macro.
69098         * modules/stdio (Makefile.am): Perform the replacement.
69099         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
69100
69101 2007-05-23  Bruno Haible  <bruno@clisp.org>
69102
69103         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
69104         GNULIB_POSIXCHECK is defined.
69105
69106 2007-05-21  Bruno Haible  <bruno@clisp.org>
69107
69108         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
69109         Check also the output for NaN arguments. When cross-compiling, guess
69110         no on IRIX.
69111         * lib/vasnprintf.c: Update comments.
69112         * tests/test-vasnprintf-posix.c (strisnan): New function.
69113         (test_function): Use it.
69114         * tests/test-vasprintf-posix.c (strisnan): New function.
69115         (test_function): Use it.
69116         * tests/test-snprintf-posix.h (strisnan): New function.
69117         (test_function): Use it.
69118         * tests/test-sprintf-posix.h (strisnan): New function.
69119         (test_function): Use it.
69120         Reported by Eric Blake.
69121
69122 2007-05-20  Bruno Haible  <bruno@clisp.org>
69123
69124         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
69125         numbers that fails on BeOS.
69126         * doc/functions/frexpl.texi: Update.
69127
69128 2007-05-20  Jim Meyering  <jim@meyering.net>
69129
69130         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
69131         forced upon us by glibc-2.6.
69132
69133 2007-05-20  Bruno Haible  <bruno@clisp.org>
69134
69135         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
69136         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
69137         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
69138         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
69139         NEED_PRINTF_INFINITE.
69140         (is_infinitel): New function.
69141         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
69142         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
69143         gl_PREREQ_VASNPRINTF_INFINITE.
69144         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
69145         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69146         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
69147         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
69148         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
69149         gl_PREREQ_VASNPRINTF_INFINITE.
69150         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69151         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69152         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69153         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69154         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69155         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69156         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69157         * doc/functions/fprintf.texi: Update.
69158         * doc/functions/printf.texi: Update.
69159         * doc/functions/snprintf.texi: Update.
69160         * doc/functions/sprintf.texi: Update.
69161         * doc/functions/vfprintf.texi: Update.
69162         * doc/functions/vprintf.texi: Update.
69163         * doc/functions/vsnprintf.texi: Update.
69164         * doc/functions/vsprintf.texi: Update.
69165
69166 2007-05-20  Bruno Haible  <bruno@clisp.org>
69167
69168         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
69169         was not found in libc.
69170         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
69171
69172 2007-05-20  Bruno Haible  <bruno@clisp.org>
69173
69174         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69175         printed as "-nan" instead of "nan".
69176         * tests/test-vasprintf-posix.c (test_function): Likewise.
69177         * tests/test-snprintf-posix.h (test_function): Likewise.
69178         * tests/test-sprintf-posix.h (test_function): Likewise.
69179         Needed for HP-UX 11.
69180
69181 2007-05-20  Jim Meyering  <jim@meyering.net>
69182
69183         Fix buggy test for the fchownat-deref bug.
69184         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
69185         symlink required for the run-test.  Without it, this test would
69186         always declare that fchownat doesn't work, and client code would
69187         unnecessarily use the replacement function with fixed libc.
69188         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
69189         Reported by Greg Schafer.
69190
69191 2007-05-19  Bruno Haible  <bruno@clisp.org>
69192
69193         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
69194         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
69195         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
69196         Needed for IRIX 6.5 and Solaris 2.5.1.
69197
69198 2007-05-19  Bruno Haible  <bruno@clisp.org>
69199
69200         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
69201         (test_function): Skip tests involving -0.0 on platforms where
69202         -0.0 = 0.0.
69203         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
69204         (test_function): Skip tests involving -0.0 on platforms where
69205         -0.0 = 0.0.
69206         * tests/test-snprintf-posix.h (have_minus_zero): New function.
69207         (test_function): Skip tests involving -0.0 on platforms where
69208         -0.0 = 0.0.
69209         * tests/test-sprintf-posix.h (have_minus_zero): New function.
69210         (test_function): Skip tests involving -0.0 on platforms where
69211         -0.0 = 0.0.
69212         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
69213         tests.
69214         * tests/test-printf-posix.h (test_function): Likewise.
69215         * tests/test-printf-posix.output: Remove all -0.0 related results.
69216         Needed for IRIX 6.5.
69217
69218 2007-05-19  Bruno Haible  <bruno@clisp.org>
69219
69220         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69221         printed as "nan0x7fffffff" instead of "nan".
69222         * tests/test-vasprintf-posix.c (test_function): Likewise.
69223         * tests/test-snprintf-posix.h (test_function): Likewise.
69224         * tests/test-sprintf-posix.h (test_function): Likewise.
69225         * tests/test-fprintf-posix.h (NaN): Remove macro.
69226         (test_function): Remove all NaN related tests.
69227         * tests/test-printf-posix.h (NaN): Remove macro.
69228         (test_function): Remove all NaN related tests.
69229         * tests/test-printf-posix.output: Remove all NaN related results.
69230         Needed for IRIX 6.5.
69231
69232 2007-05-19  Bruno Haible  <bruno@clisp.org>
69233
69234         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
69235         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
69236
69237 2007-05-19  Bruno Haible  <bruno@clisp.org>
69238
69239         * lib/float_.h: New file.
69240         * m4/float_h.m4: New file.
69241         * modules/float: New file.
69242         * modules/isnanl (Dependencies): Add float.
69243         * modules/isnanl-nolibm (Dependencies): Likewise.
69244         * modules/mathl (Dependencies): Likewise.
69245         * modules/printf-frexpl (Dependencies): Likewise.
69246         * modules/signbit (Dependencies): Likewise.
69247         * modules/vasnprintf (Dependencies): Likewise.
69248         * doc/headers/float.texi: Update.
69249
69250 2007-05-19  Jim Meyering  <jim@meyering.net>
69251
69252         * lib/utimens.c (gl_futimens): Rename from futimens,
69253         now that glibc-2.6 declares futimens.
69254         * lib/utimens.h: Likewise.
69255
69256 2007-05-19  Bruno Haible  <bruno@clisp.org>
69257
69258         Avoid test failures on mingw.
69259         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
69260         * tests/test-printf-posix.sh: Likewise.
69261         * tests/test-vfprintf-posix.sh: Likewise.
69262         * tests/test-vprintf-posix.sh: Likewise.
69263
69264 2007-05-19  Bruno Haible  <bruno@clisp.org>
69265
69266         Fix *printf result for NaN, Inf, -0.0 on mingw.
69267         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
69268         * lib/vasnprintf.c: Include math.h and isnan.h.
69269         (is_infinite_or_zero): New function.
69270         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
69271         values in the %f, %F, %e, %E, %g, %G directives.
69272         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
69273         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69274         gl_PRINTF_INFINITE and test its result. Invoke
69275         gl_PREREQ_VASNPRINTF_INFINITE.
69276         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69277         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69278         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69279         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69280         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69281         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69282         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69283         * doc/functions/fprintf.texi: Update.
69284         * doc/functions/printf.texi: Update.
69285         * doc/functions/snprintf.texi: Update.
69286         * doc/functions/sprintf.texi: Update.
69287         * doc/functions/vfprintf.texi: Update.
69288         * doc/functions/vprintf.texi: Update.
69289         * doc/functions/vsnprintf.texi: Update.
69290         * doc/functions/vsprintf.texi: Update.
69291
69292 2007-05-19  Bruno Haible  <bruno@clisp.org>
69293
69294         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
69295         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
69296         Instead of multiplying with 10^k, set extra_zeroes to k.
69297         (scale10_round_long_double): Remove function.
69298
69299 2007-05-18  Bruno Haible  <bruno@clisp.org>
69300
69301         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
69302         introduced on 2007-05-06.
69303
69304 2007-05-18  Bruno Haible  <bruno@clisp.org>
69305
69306         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
69307         %g directives.
69308         * tests/test-vasprintf-posix.c (test_function): Likewise.
69309         * tests/test-snprintf-posix.h (test_function): Likewise.
69310         * tests/test-sprintf-posix.h (test_function): Likewise.
69311
69312 2007-05-18  Bruno Haible  <bruno@clisp.org>
69313
69314         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
69315         (strmatch): New function.
69316         (test_function): Test the %f directive on numbers of various exponents.
69317         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
69318         (strmatch): New function.
69319         (test_function): Test the %f directive on numbers of various exponents.
69320         * tests/test-snprintf-posix.h (strmatch): New function.
69321         (test_function): Test the %f directive on numbers of various exponents.
69322         * tests/test-sprintf-posix.h (strmatch): New function.
69323         (test_function): Test the %f directive on numbers of various exponents.
69324         * tests/test-snprintf-posix.c (SIZEOF): New macro.
69325         * tests/test-sprintf-posix.c (SIZEOF): New macro.
69326         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
69327         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
69328
69329 2007-05-18  Bruno Haible  <bruno@clisp.org>
69330
69331         Add support for 'long double' number output.
69332         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
69333         * lib/vasnprintf.c: Include math.h and float+.h.
69334         (mp_limb_t): New type.
69335         (GMP_LIMB_BITS): New macro.
69336         (mp_twolimb_t): New type.
69337         (GMP_TWOLIMB_BITS): New macro.
69338         (mpn_t): New type.
69339         (multiply, divide, convert_to_decimal, decode_long_double,
69340         scale10_round_long_double, scale10_round_decimal_long_double,
69341         floorlog10l): New functions.
69342         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
69343         for the %f, %F, %e, %E, %g, %G directives.
69344         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
69345         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69346         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
69347         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
69348         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69349         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69350         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69351         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69352         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69353         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69354         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69355         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
69356         * modules/snprintf-posix (Depends-on): Likewise.
69357         * modules/sprintf-posix (Depends-on): Likewise.
69358         * modules/vasnprintf-posix (Depends-on): Likewise.
69359         * modules/vasprintf-posix (Depends-on): Likewise.
69360         * modules/vfprintf-posix (Depends-on): Likewise.
69361         * modules/vsnprintf-posix (Depends-on): Likewise.
69362         * modules/vsprintf-posix (Depends-on): Likewise.
69363         * modules/vasnprintf (Files): Add lib/float+.h.
69364         * doc/functions/fprintf.texi: Update.
69365         * doc/functions/printf.texi: Update.
69366         * doc/functions/snprintf.texi: Update.
69367         * doc/functions/sprintf.texi: Update.
69368         * doc/functions/vfprintf.texi: Update.
69369         * doc/functions/vprintf.texi: Update.
69370         * doc/functions/vsnprintf.texi: Update.
69371         * doc/functions/vsprintf.texi: Update.
69372
69373 2007-05-18  Bruno Haible  <bruno@clisp.org>
69374
69375         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
69376
69377 2007-05-18  Bruno Haible  <bruno@clisp.org>
69378
69379         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
69380         for printing 64-bit integers. Needed for mingw.
69381
69382 2007-05-18  Bruno Haible  <bruno@clisp.org>
69383
69384         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69385         gl_FUNC_FREXPL_WORKS.
69386         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
69387
69388 2007-05-18  Bruno Haible  <bruno@clisp.org>
69389
69390         * modules/frexpl-nolibm-tests: New file.
69391
69392         * modules/frexpl-nolibm: New file.
69393         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
69394
69395 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69396
69397         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
69398         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69399         GCC 4.2, which otherwise issues a lot of warnings.
69400         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
69401         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
69402         Likewise.
69403         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
69404         * modules/iconv_open (iconv.h): Likewise.
69405         * modules/locale (locale.h): Likewise.
69406         * modules/netinet_in (netinet/in.h): Likewise.
69407         * modules/sys_select (sys_select.h): Likewise.
69408         * modules/sys_socket (sys/socket.h): Likewise.
69409         * modules/sys_stat (sys/stat.h): Likewise.
69410         * modules/sysexits (sysexits.h): Likewise.
69411         * modules/unistd (unistd.h): Likewise.
69412
69413 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69414
69415         * modules/closein-tests (Makefile.am): Distribute
69416         `test-closein.sh'.
69417
69418 2007-05-17  Bruno Haible  <bruno@clisp.org>
69419
69420         * tests/test-printf-posix.output: Renamed from
69421         tests/test-fprintf-posix.out.
69422         * modules/fprintf-posix-tests: Update.
69423         * modules/printf-posix-tests: Update.
69424         * modules/vfprintf-posix-tests: Update.
69425         * modules/vprintf-posix-tests: Update.
69426         * tests/test-fprintf-posix.sh: Update.
69427         * tests/test-printf-posix.sh: Update.
69428         * tests/test-vfprintf-posix.sh: Update.
69429         * tests/test-vprintf-posix.sh: Update.
69430         Reported by Ralf Wildenhues.
69431
69432 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69433
69434         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
69435         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69436         GCC 4.2, which otherwise issues a lot of warnings.
69437         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
69438         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
69439         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
69440         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
69441         it should no longer be needed.
69442         * lib/string_.h: Likewise.
69443         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
69444         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
69445         * modules/inttypes (inttypes.h): Likewise.
69446         * modules/math (math.h): Likewise.
69447         * modules/search (search.h): Likewise.
69448         * modules/signal (signal.h): Likewise.
69449         * modules/stdint (stdint.h): Likewise.
69450         * modules/stdio (stdio.h): Likewise.
69451         * modules/stdlib (stdlib.h): Likewise.
69452         * modules/string (string.h): Likewise.
69453         * modules/sys_time (sys/time.h): Likewise.
69454         * modules/time (time.h): Likewise.
69455         * modules/wchar (wchar.h): Likewise.
69456         * modules/wctype (wtype.h): Likewise.
69457
69458 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69459
69460         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
69461
69462 2007-05-13  Bruno Haible  <bruno@clisp.org>
69463
69464         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
69465         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69466         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
69467         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69468         (gl_PREREQ_STRTOK_R): Don't require it here.
69469
69470 2007-05-13  Bruno Haible  <bruno@clisp.org>
69471
69472         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
69473         when used in C++ mode.
69474
69475 2007-05-12  Bruno Haible  <bruno@clisp.org>
69476
69477         * lib/linebuffer.h: Tweak doc.
69478         * lib/linebuffer.c: Likewise.
69479
69480 2007-05-12  James Youngman  <jay@gnu.org>
69481
69482         * lib/linebuffer.c (readlinebuffer_delim): New function,
69483         like readlinebuffer, but use a caller-specified delimiter.
69484         (readlinebuffer): Just call readlinebuffer_delim with '\n'
69485         as the delimiter.
69486         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
69487
69488 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69489
69490         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
69491         * modules/openat (Files): Remove openat-die.c.
69492         (Depends-on): Add openat-die.
69493         * modules/openat-die: New module.
69494
69495 2007-05-06  Bruno Haible  <bruno@clisp.org>
69496
69497         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
69498         Update with info about Cygwin.
69499         * doc/functions/fprintf.texi: Update.
69500         * doc/functions/printf.texi: Update.
69501         * doc/functions/snprintf.texi: Update.
69502         * doc/functions/sprintf.texi: Update.
69503         * doc/functions/vfprintf.texi: Update.
69504         * doc/functions/vprintf.texi: Update.
69505         * doc/functions/vsnprintf.texi: Update.
69506         * doc/functions/vsprintf.texi: Update.
69507         Reported by Eric Blake.
69508
69509 2007-05-06  Bruno Haible  <bruno@clisp.org>
69510
69511         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
69512         padding ourselves for the floating-point directives.
69513         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
69514         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
69515         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69516         gl_PRINTF_FLAG_ZERO and test its result. Invoke
69517         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
69518         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69519         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69520         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69521         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69522         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69523         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69524         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69525         * tests/test-snprintf-posix.h (test_function): Also check the width
69526         and some flags in the %f directive.
69527         * tests/test-sprintf-posix.h (test_function): Likewise.
69528         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69529         * tests/test-vasprintf-posix.c (test_function): Likewise.
69530         * doc/functions/fprintf.texi: Update.
69531         * doc/functions/printf.texi: Update.
69532         * doc/functions/snprintf.texi: Update.
69533         * doc/functions/sprintf.texi: Update.
69534         * doc/functions/vfprintf.texi: Update.
69535         * doc/functions/vprintf.texi: Update.
69536         * doc/functions/vsnprintf.texi: Update.
69537         * doc/functions/vsprintf.texi: Update.
69538
69539 2007-05-06  Bruno Haible  <bruno@clisp.org>
69540
69541         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
69542         pass the ' flag character to sprintf or snprintf.
69543         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
69544         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
69545         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69546         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
69547         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
69548         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69549         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69550         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69551         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69552         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69553         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69554         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69555         * tests/test-snprintf-posix.h (test_function): Also check the grouping
69556         flag.
69557         * tests/test-sprintf-posix.h (test_function): Likewise.
69558         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69559         * tests/test-vasprintf-posix.c (test_function): Likewise.
69560         * doc/functions/fprintf.texi: Update.
69561         * doc/functions/printf.texi: Update.
69562         * doc/functions/snprintf.texi: Update.
69563         * doc/functions/sprintf.texi: Update.
69564         * doc/functions/vfprintf.texi: Update.
69565         * doc/functions/vprintf.texi: Update.
69566         * doc/functions/vsnprintf.texi: Update.
69567         * doc/functions/vsprintf.texi: Update.
69568
69569 2007-05-01  Bruno Haible  <bruno@clisp.org>
69570
69571         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
69572
69573 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
69574
69575         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
69576         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
69577
69578 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69579
69580         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
69581         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
69582         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
69583
69584 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
69585
69586         * lib/argp-help.c (struct hol_entry): New member `ord'.
69587         (HOL_ENTRY_PTRCMP): Use ord for comparison
69588         (hol_sort): Initialize ord.
69589
69590 2007-05-01  Bruno Haible  <bruno@clisp.org>
69591
69592         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
69593         Reported by Eric Blake.
69594         * doc/gnulib.texi (Function Substitutes): Update.
69595
69596 2007-05-01  Bruno Haible  <bruno@clisp.org>
69597
69598         * doc/functions.texi: Remove file, now redundant through
69599         doc/functions/*.texi.
69600
69601 2007-05-01  Bruno Haible  <bruno@clisp.org>
69602
69603         * modules/argp (Depends-on): Add sleep.
69604
69605 2007-05-01  Bruno Haible  <bruno@clisp.org>
69606
69607         * modules/sleep-tests: New file.
69608         * tests/test-sleep.c: New file.
69609
69610         * modules/sleep: New file.
69611         * lib/sleep.c: New file.
69612         * m4/sleep.m4: New file.
69613         * lib/unistd_.h (sleep): New declaration.
69614         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
69615         HAVE_SLEEP.
69616         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
69617         * doc/functions/sleep.texi: Document the sleep module.
69618
69619 2007-05-01  Bruno Haible  <bruno@clisp.org>
69620
69621         * lib/sigprocmask.h: Remove file.
69622         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
69623         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
69624         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
69625         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
69626         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
69627         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
69628         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
69629         HAVE_SIGSET_T as a shell variable.
69630         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
69631         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
69632         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
69633         (Depends-on): Add signal. Remove verify.
69634         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
69635         (Include): Mention <signal.h> instead of sigprocmask.h.
69636         * NEWS: Mention the change.
69637         * lib/fatal-signal.c: Don't include sigprocmask.h.
69638
69639 2007-05-01  Bruno Haible  <bruno@clisp.org>
69640
69641         * modules/signal: New file.
69642         * lib/signal_.h: New file.
69643         * m4/signal_h.m4: New file.
69644
69645 2007-05-01  Bruno Haible  <bruno@clisp.org>
69646
69647         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
69648         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
69649         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
69650         HAVE_WCTYPE_CTMP_BUG into wctype.h.
69651
69652 2007-05-01  Bruno Haible  <bruno@clisp.org>
69653
69654         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
69655         configure time.
69656         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
69657         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
69658         * modules/sys_stat (Makefile.am): Substitute their values into
69659         sys/stat.h.
69660
69661 2007-05-01  Bruno Haible  <bruno@clisp.org>
69662
69663         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
69664         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
69665         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
69666
69667 2007-05-01  Bruno Haible  <bruno@clisp.org>
69668
69669         * doc/header/assert.texi: Undo last change: don't mention the gnulib
69670         'assert' module here.
69671
69672 2007-05-01  Bruno Haible  <bruno@clisp.org>
69673
69674         * doc/functions/*.texi: New files.
69675         * doc/functions/google-ranking.txt: New file.
69676         * doc/gnulib.texi (Function Substitutes): New chapter.
69677         (ctime, inet_ntoa): Remove sections.
69678         * doc/ctime.texi: Remove file.
69679         * doc/inet_ntoa.texi: Remove file.
69680         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
69681         dependencies.
69682         (%.info): New rule, specifying a --reference-limit.
69683
69684 2007-05-01  Bruno Haible  <bruno@clisp.org>
69685
69686         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
69687
69688 2007-05-01  Bruno Haible  <bruno@clisp.org>
69689
69690         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
69691         the portability of 'mkdir' to mingw systems.
69692
69693 2007-05-01  Bruno Haible  <bruno@clisp.org>
69694
69695         * doc/headers/google-ranking.txt: New file.
69696
69697 2007-04-30  Eric Blake  <ebb9@byu.net>
69698
69699         Prefer fseeko to fseek.
69700         * modules/getpass (Depends-on): Add fseeko.
69701         * lib/getpass.c (getpass): Use fseeko, not fseek.
69702
69703 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
69704
69705         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
69706         assumes the sorting is stable, while most qsort implementations
69707         are not.  Use argument addresses to ensure they never compare as
69708         equal.
69709
69710         * tests/test-argp-2.sh (usage-indent test): Fix output
69711         (func_compare): Restore diff options
69712         * tests/test-argp.c: Restore #include "progname.h"
69713
69714 2007-04-29  Bruno Haible  <bruno@clisp.org>
69715
69716         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
69717         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69718         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
69719         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69720         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
69721         (configure.ac): Define CHECK_SNPRINTF_POSIX.
69722         (TESTS, check_PROGRAMS): Add test-snprintf.
69723         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
69724         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
69725         (TESTS, check_PROGRAMS): Add test-vsnprintf.
69726         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
69727         assertions that fail on HP-UX, OSF/1, or IRIX.
69728         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
69729
69730 2007-04-29  Bruno Haible  <bruno@clisp.org>
69731
69732         * MODULES.html.sh (posix_functions): Remove 'contents'.
69733
69734 2007-04-29  Karl Berry  <karl@gnu.org>
69735
69736         * config/srclist.txt (gendocs_template_min): new entry.
69737
69738 2007-04-29  Bruno Haible  <bruno@clisp.org>
69739
69740         Work around fpurge bug on BSD systems.
69741         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
69742         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
69743         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
69744         fpurge to rpl_fpurge if the system already has this function.
69745         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
69746         the case where the system already has this function. Correct invariants
69747         on BSD systems.
69748         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
69749         BSD systems.
69750
69751 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
69752
69753         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
69754         proposed by Sven Verdoolaege.
69755
69756         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
69757         options.
69758         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
69759         (usage and help tests): Update
69760
69761 2007-04-29  Bruno Haible  <bruno@clisp.org>
69762
69763         * tests/test-fflush.c (main): Use a file of size 17, not 10.
69764         Print more information in case of failure. Disable a test on BeOS.
69765
69766 2007-04-29  Bruno Haible  <bruno@clisp.org>
69767
69768         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
69769         This helps debugging on systems on which no gdb is available.
69770
69771 2007-04-29  Bruno Haible  <bruno@clisp.org>
69772
69773         * lib/freading.h: Improve comments.
69774         * lib/fwriting.h: Likewise.
69775         * tests/test-freading.c (main): Don't check freading immediately after
69776         repositioning. Needed for glibc.
69777
69778 2007-04-29  Bruno Haible  <bruno@clisp.org>
69779
69780         * lib/freading.c (freading): Trivial simplification.
69781
69782 2007-04-28  Bruno Haible  <bruno@clisp.org>
69783
69784         * tests/test-fwriting.c (main): Also test the interaction between
69785         fflush and fwriting.
69786         * modules/fwriting-tests (Depends-on): Add fflush.
69787
69788         * tests/test-freading.c (main): Also test the interaction between
69789         fflush and freading.
69790         * modules/freading-tests (Depends-on): Add fflush.
69791
69792 2007-04-28  Bruno Haible  <bruno@clisp.org>
69793
69794         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
69795         fseeko and ftello.
69796         Suggested by Eric Blake.
69797
69798 2007-04-28  Jim Meyering  <jim@meyering.net>
69799
69800         Avoid false-negative in gl_STDINT_H's C99 conformance test.
69801         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
69802         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
69803
69804 2007-04-27  Eric Blake  <ebb9@byu.net>
69805
69806         * doc/headers/assert.texi (assert.h): Document assert module use.
69807
69808 2007-04-27  Bruno Haible  <bruno@clisp.org>
69809
69810         * doc/headers/*.texi: New files.
69811         * doc/gnulib.texi (Header File Substitutes): New chapter.
69812         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
69813         dependencies.
69814         (standards.info ,standards.html, standards.dvi): Update dependencies.
69815         (mostlyclean, clean): New targets.
69816
69817 2007-04-27  Bruno Haible  <bruno@clisp.org>
69818
69819         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
69820         * modules/sysexits (Files, Makefile.am): Update.
69821
69822         * lib/sys_socket_.h: Renamed from lib/socket_.h.
69823         * modules/sys_socket (Files, Makefile.am): Update.
69824
69825         * lib/sys_stat_.h: Renamed from lib/stat_.h.
69826         * modules/sys_stat (Files, Makefile.am): Update.
69827
69828 2007-04-27  Eric Blake  <ebb9@byu.net>
69829
69830         * lib/freading.h: Improve comments.
69831         * lib/fwriting.h: Likewise.
69832         * lib/fflush.c: Likewise.
69833
69834         Fix closein for mingw.
69835         * modules/closein-tests: Add tests for closein.
69836         * tests/test-closein.c: New file.
69837         * tests/test-closein.sh: Likewise.
69838         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
69839         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
69840
69841 2007-04-27  Bruno Haible  <bruno@clisp.org>
69842
69843         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
69844         version is < 6.
69845         * lib/math_.h [__DECC]: Likewise.
69846         * lib/stdio_.h [__DECC]: Likewise.
69847         * lib/stdlib_.h [__DECC]: Likewise.
69848         * lib/string_.h [__DECC]: Likewise.
69849         * lib/time_.h [__DECC]: Likewise.
69850         * lib/wchar_.h [__DECC]: Likewise.
69851         * lib/wctype_.h [__DECC]: Likewise.
69852
69853 2007-04-27  Bruno Haible  <bruno@clisp.org>
69854
69855         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
69856
69857 2007-04-27  Bruno Haible  <bruno@clisp.org>
69858
69859         * lib/fflush.c: Add comments.
69860         * modules/fpurge-tests (Depends-on): Add fflush.
69861         * modules/freadable-tests (Depends-on): Likewise.
69862         * modules/fwritable-tests (Depends-on): Likewise.
69863
69864 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
69865
69866         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
69867         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
69868         Report by Bruno Haible <bruno@clisp.org>.
69869
69870 2007-04-26  Eric Blake  <ebb9@byu.net>
69871
69872         Fix fflush on mingw.
69873         * modules/fflush (Depends-on): Add freading.
69874         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
69875         but unread data.
69876
69877 2007-04-26  Eric Blake  <ebb9@byu.net>
69878         and Bruno Haible  <bruno@clisp.org>
69879
69880         Implement freading and fwriting.
69881         * lib/freading.c: New file.
69882         * lib/freading.h: Likewise.
69883         * m4/freading.m4: Likewise.
69884         * modules/freading: Likewise.
69885         * modules/freading-tests: Likewise.
69886         * tests/test-freading.c: Likewise.
69887         * lib/fwriting.c: New file.
69888         * lib/fwriting.h: Likewise.
69889         * m4/fwriting.m4: Likewise.
69890         * modules/fwriting: Likewise.
69891         * modules/fwriting-tests: Likewise.
69892         * tests/test-fwriting.c: Likewise.
69893         * MODULES.html.sh (File stream based Input/Output): Mention them.
69894
69895 2007-04-26  Bruno Haible  <bruno@clisp.org>
69896
69897         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
69898         'long' when we assume it.
69899         Suggested by Eric Blake.
69900
69901 2007-04-26  Bruno Haible  <bruno@clisp.org>
69902
69903         Ensure fseeko, ftello are declared on glibc systems.
69904         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
69905         * modules/fseeko (configure.ac-early): Likewise.
69906         * modules/ftello (configure.ac-early): Likewise.
69907         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
69908         AC_FUNC_FSEEKO for this.
69909         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
69910         (gl_CHECK_FSEEKO): Remove macro.
69911
69912 2007-04-26  Bruno Haible  <bruno@clisp.org>
69913
69914         * tests/test-fflush.c (main): Also check the ftell result after
69915         fflush and fseek/fseeko.
69916         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
69917         file descriptor position cache in the stream.
69918         * lib/fseeko.c (rpl_fseeko): Likewise.
69919
69920 2007-04-26  Bruno Haible  <bruno@clisp.org>
69921
69922         * modules/fflush-tests (Depends-on): Add fseeko.
69923
69924 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
69925             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69926
69927         * lib/argz_.h: ensure error_t definition is obtained in same
69928         mechanism system argz.h would have.
69929         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
69930         argz facilities are known bad.  Err on the side of caution if
69931         cross-compiling.
69932
69933 2007-04-25  Eric Blake  <ebb9@byu.net>
69934
69935         * lib/fpurge.c (includes): Use stdlib.h for free.
69936         * tests/test-fflush.c (main): Also test fflush-fseeko.
69937
69938 2007-04-25  Bruno Haible  <bruno@clisp.org>
69939
69940         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
69941         * lib/fseeko.c: New file.
69942         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
69943         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
69944         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
69945         gl_FUNC_FSEEKO.
69946         (gl_FUNC_FSEEKO): Invoke it.
69947         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
69948         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
69949         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
69950
69951 2007-04-25  Bruno Haible  <bruno@clisp.org>
69952
69953         * modules/fflush (Depends-on): Add ftello.
69954
69955 2007-04-25  Bruno Haible  <bruno@clisp.org>
69956
69957         * modules/ftello-tests: New file.
69958         * tests/test-ftello.c: New file.
69959
69960         * modules/ftello: New file.
69961         * m4/ftello.m4: New file.
69962         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
69963         HAVE_FTELLO.
69964         * lib/stdio_.h (ftello): New declaration.
69965         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
69966         HAVE_FTELLO.
69967
69968 2007-04-25  Bruno Haible  <bruno@clisp.org>
69969
69970         * modules/fseeko-tests: New file.
69971         * tests/test-fseeko.c: New file.
69972
69973         * modules/fseeko: New file.
69974         * m4/fseeko.m4: New file.
69975         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
69976         HAVE_FSEEKO.
69977         * lib/stdio_.h (fseeko): New declaration.
69978         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
69979         HAVE_FSEEKO.
69980
69981 2007-04-25  Bruno Haible  <bruno@clisp.org>
69982
69983         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
69984
69985 2007-04-25  Bruno Haible  <bruno@clisp.org>
69986
69987         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
69988         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
69989         * tests/test-unistd.c: Likewise.
69990         * tests/test-fcntl.c: Likewise.
69991
69992 2007-04-23  Eric Blake  <ebb9@byu.net>
69993
69994         * lib/fflush.c: Fix missing include.
69995         Reported by Bruno Haible.
69996
69997 2007-04-23  Bruno Haible  <bruno@clisp.org>
69998
69999         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
70000         Reported by Eric Blake.
70001
70002 2007-04-23  Bruno Haible  <bruno@clisp.org>
70003
70004         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
70005
70006 2007-04-23  Bruno Haible  <bruno@clisp.org>
70007
70008         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
70009
70010 2007-04-23  Bruno Haible  <bruno@clisp.org>
70011
70012         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
70013         Needed on HP-UX 11.
70014
70015 2007-04-16  Eric Blake  <ebb9@byu.net>
70016
70017         Make fflush rely on fpurge.
70018         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
70019         open coding all variants.
70020         * modules/fflush (Depends-on): Add fpurge and unistd.
70021         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
70022         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
70023
70024         Fix --with-tests compilation on cygwin.
70025         * modules/argmatch-tests (Makefile.am): List gnulib library first
70026         in LDADD.
70027         * modules/argp-tests (Makefile.am): Likewise.
70028         * modules/array-list-tests (Makefile.am): Likewise.
70029         * modules/array-oset-tests (Makefile.am): Likewise.
70030         * modules/avltree-list-tests (Makefile.am): Likewise.
70031         * modules/avltree-oset-tests (Makefile.am): Likewise.
70032         * modules/avltreehash-list-tests (Makefile.am): Likewise.
70033         * modules/carray-list-tests (Makefile.am): Likewise.
70034         * modules/dirname-tests (Makefile.am): Likewise.
70035         * modules/frexp-tests (Makefile.am): Likewise.
70036         * modules/isnanl-tests (Makefile.am): Likewise.
70037         * modules/linked-list-tests (Makefile.am): Likewise.
70038         * modules/linkedhash-list-tests (Makefile.am): Likewise.
70039         * modules/lock-tests (Makefile.am): Likewise.
70040         * modules/rbtree-list-tests (Makefile.am): Likewise.
70041         * modules/rbtree-oset-tests (Makefile.am): Likewise.
70042         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
70043         * modules/tls-tests (Makefile.am): Likewise.
70044         * modules/tsearch-tests (Makefile.am): Likewise.
70045         * modules/xvasprintf-tests (Makefile.am): Likewise.
70046
70047         Fix fpurge for cygwin.
70048         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
70049         value.
70050         * modules/fpurge-tests (Depends-on): Clean up trash.
70051
70052 2007-04-16  Simon Josefsson  <simon@josefsson.org>
70053
70054         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
70055
70056         * m4/autobuild.m4: Re-indent.
70057
70058 2007-04-13  Bruno Haible  <bruno@clisp.org>
70059
70060         * modules/fpurge-tests: New file.
70061         * tests/test-fpurge.c: New file.
70062
70063         * modules/fpurge: New file.
70064         * lib/fpurge.h: New file.
70065         * lib/fpurge.c: New file.
70066         * m4/fpurge.m4: New file.
70067
70068 2007-04-13  Bruno Haible  <bruno@clisp.org>
70069
70070         * modules/fbufmode-tests: New file.
70071         * tests/test-fbufmode.c: New file.
70072
70073         * modules/fbufmode: New file.
70074         * lib/fbufmode.h: New file.
70075         * lib/fbufmode.c: New file.
70076         * m4/fbufmode.m4: New file.
70077
70078 2007-04-13  Bruno Haible  <bruno@clisp.org>
70079
70080         * modules/fwritable-tests: New file.
70081         * tests/test-fwritable.c: New file.
70082
70083         * modules/fwritable: New file.
70084         * lib/fwritable.h: New file.
70085         * lib/fwritable.c: New file.
70086         * m4/fwritable.m4: New file.
70087
70088 2007-04-13  Bruno Haible  <bruno@clisp.org>
70089
70090         * modules/freadable-tests: New file.
70091         * tests/test-freadable.c: New file.
70092
70093         * modules/freadable: New file.
70094         * lib/freadable.h: New file.
70095         * lib/freadable.c: New file.
70096         * m4/freadable.m4: New file.
70097
70098 2007-04-13  Bruno Haible  <bruno@clisp.org>
70099
70100         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
70101         MOSTLYCLEANFILES.
70102
70103 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70104
70105         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
70106         gzip bootstrap.conf to avoid dragging in i18n machinery.
70107         (gnulib_tool_option): Use it.
70108
70109 2007-04-13  Bruno Haible  <bruno@clisp.org>
70110
70111         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
70112         %F directives.
70113         * tests/test-vasprintf-posix.c (test_function): Likewise.
70114         * tests/test-snprintf-posix.h (test_function): Likewise.
70115         * tests/test-sprintf-posix.h (test_function): Likewise.
70116         * tests/test-fprintf-posix.h (test_function): Likewise.
70117         * tests/test-printf-posix.h (test_function): Likewise.
70118         * tests/test-fprintf-posix.out: Likewise.
70119
70120 2007-04-13  Bruno Haible  <bruno@clisp.org>
70121
70122         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
70123         * modules/tls-tests (configure.ac): Likewise.
70124         Reported by Arto C. Nirkko <anirkko@insel.ch>.
70125
70126 2007-04-13  Bruno Haible  <bruno@clisp.org>
70127
70128         * lib/tls.c (glthread_tls_get): Fix return type.
70129         Patch by Arto C. Nirkko <anirkko@insel.ch>.
70130
70131 2007-04-12  Eric Blake  <ebb9@byu.net>
70132
70133         * modules/gettime (Depends-on): Remove gettime.
70134         Reported by Dmitry V. Levin.
70135
70136 2007-04-12  Bruno Haible  <bruno@clisp.org>
70137
70138         * modules/fflush (Include): Mention <stdio.h>.
70139         * modules/strtoimax (Include): Mention <inttypes.h>.
70140         * modules/strtoumax (Include): Likewise.
70141
70142 2007-04-12  Eric Blake  <ebb9@byu.net>
70143
70144         * .cvsignore: New file.
70145         * .gitignore: Likewise.
70146
70147 2007-04-12  Bruno Haible  <bruno@clisp.org>
70148
70149         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
70150         not before, since $(LDADD) often contains libgnu.a.
70151         * modules/striconv-tests (test_striconv_LDADD): Likewise.
70152         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
70153         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
70154         Needed on Cygwin.
70155
70156 2007-04-12  Eric Blake  <ebb9@byu.net>
70157
70158         Work around glibc's failure to flush stdin on fclose.
70159         * lib/closein.c (close_stdin): Flush stdin before closing.
70160
70161         Work around glibc's failure to reset seekable stdin on exit.
70162         * modules/closein: New module.
70163         * lib/closein.c: New file.
70164         * lib/closein.h: Likewise.
70165         * m4/closein.m4: Likewise.
70166         * MODULES.html.sh (File stream based Input/Output): Document it.
70167
70168 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70169
70170         * gnulib-tool: Rename generated 'autobuild' script to
70171         'do-autobuild' in --create-megatestdir output.
70172
70173         * doc/gnulib.texi (Build robot for gnulib): Fix.
70174
70175 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70176
70177         * modules/sysexits (Depends-on): Add absolute-header.
70178
70179 2007-04-12  Eric Blake  <ebb9@byu.net>
70180
70181         No need to preserve errno on success.
70182         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
70183         Reported by Bruno Haible.
70184
70185 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70186
70187         * MODULES.html.sh (Support for maintaining and releasing
70188         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
70189
70190 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70191
70192         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
70193
70194 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70195
70196         * modules/autobuild: New module.
70197
70198         * m4/autobuild.m4: New file.
70199
70200 2007-04-11  Bruno Haible  <bruno@clisp.org>
70201
70202         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
70203         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
70204         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
70205         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
70206         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70207         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70208         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70209         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70210         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70211         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70212         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
70213         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70214         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70215         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
70216         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70217         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70218         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
70219         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70220         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70221         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
70222         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70223         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70224         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
70225         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70226         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70227         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
70228         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70229         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70230         Reported by Eric Blake.
70231
70232 2007-04-11  Bruno Haible  <bruno@clisp.org>
70233
70234         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
70235
70236 2007-04-10  Bruno Haible  <bruno@clisp.org>
70237
70238         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
70239         for NaN and Infinity. Needed on FreeBSD 6.1.
70240         * tests/test-vasnprintf-posix.c (test_function): Undo last change
70241         regarding results for "%010a" of Infinity and NaN.
70242         * tests/test-vasprintf-posix.c (test_function): Likewise.
70243         * tests/test-snprintf-posix.h (test_function): Likewise.
70244         * tests/test-sprintf-posix.h (test_function): Likewise.
70245         * tests/test-fprintf-posix.h (test_function): Likewise.
70246         * tests/test-printf-posix.h (test_function): Likewise.
70247         * tests/test-fprintf-posix.out: Likewise.
70248
70249 2007-04-10  Bruno Haible  <bruno@clisp.org>
70250
70251         * modules/locale-tests: New file.
70252         * tests/test-locale.c: New file.
70253
70254         * modules/locale: New file.
70255         * lib/locale_.h: New file.
70256         * m4/locale_h.m4: New file.
70257
70258 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
70259             Bruno Haible  <bruno@clisp.org>
70260
70261         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
70262         be determined, test for availability of the copysignf, copysign,
70263         copysignl functions.
70264         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
70265         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
70266         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
70267
70268 2007-04-09  Eric Blake  <ebb9@byu.net>
70269
70270         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
70271         * modules/stdio (Makefile.am): Support fflush.
70272         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
70273         * modules/fflush: New file.
70274         * lib/fflush.c: Likewise.
70275         * m4/fflush.m4: Likewise.
70276         * modules/fflush-tests: New test.
70277         * tests/test-fflush.c: Likewise.
70278         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
70279
70280 2007-04-06  Bruno Haible  <bruno@clisp.org>
70281
70282         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
70283         (VASNPRINTF): Use signbit for faster determination whether to print a
70284         minus sign.
70285         * modules/vasnprintf (Files): Remove lib/float+.h.
70286         * modules/fprintf-posix (Depends-on): Add signbit.
70287         * modules/snprintf-posix (Depends-on): Likewise.
70288         * modules/sprintf-posix (Depends-on): Likewise.
70289         * modules/vasnprintf-posix (Depends-on): Likewise.
70290         * modules/vasprintf-posix (Depends-on): Likewise.
70291         * modules/vfprintf-posix (Depends-on): Likewise.
70292         * modules/vsnprintf-posix (Depends-on): Likewise.
70293         * modules/vsprintf-posix (Depends-on): Likewise.
70294
70295 2007-04-06  Bruno Haible  <bruno@clisp.org>
70296
70297         * tests/test-frexp.c (main): Test also the sign bit of zero results.
70298         * tests/test-frexpl.c (main): Likewise.
70299         * tests/test-ldexpl.c (main): Likewise.
70300         * modules/frexp-tests (Depends-on): Add signbit.
70301         * modules/frexpl-tests (Depdends-on): Likewise.
70302         * modules/ldexpl-tests (Depdends-on): Likewise.
70303
70304 2007-04-06  Bruno Haible  <bruno@clisp.org>
70305
70306         * modules/signbit-tests: New file.
70307         * tests/test-signbit.c: New file.
70308
70309         * modules/signbit: New file.
70310         * lib/signbitf.c: New file.
70311         * lib/signbitd.c: New file.
70312         * lib/signbitl.c: New file.
70313         * m4/signbit.m4: New file.
70314         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
70315         (signbit): New macro.
70316         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
70317         REPLACE_SIGNBIT.
70318         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
70319         REPLACE_FREXPL into math.h.
70320
70321 2007-04-06  Bruno Haible  <bruno@clisp.org>
70322
70323         * modules/isnanf-nolibm-tests: New file.
70324         * tests/test-isnanf.c: New file.
70325
70326         * modules/isnanf-nolibm: New file.
70327         * lib/isnanf.h: New file.
70328         * lib/isnanf.c: New file.
70329         * lib/isnan.c: Consider the USE_FLOAT macro.
70330         * m4/isnanf.m4: New file.
70331
70332 2007-04-06  Bruno Haible  <bruno@clisp.org>
70333
70334         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
70335         (Link): New section.
70336
70337         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
70338
70339 2007-04-06  Bruno Haible  <bruno@clisp.org>
70340
70341         Assume the 'long double' type.
70342         * m4/longdouble.m4: Remove file.
70343         * config/srclist.txt: Don't mention longdouble.m4.
70344         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
70345         * lib/float+.h: Likewise.
70346         * lib/frexp.c: Likewise.
70347         * lib/printf-args.h: Likewise.
70348         * lib/printf-args.c: Likewise.
70349         * lib/printf-frexp.c: Likewise.
70350         * lib/printf-parse.c: Likewise.
70351         * lib/vasnprintf.c: Likewise.
70352         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
70353         * m4/intl.m4: Likewise.
70354         * m4/isnanl.m4: Likewise.
70355         * m4/printf.m4: Likewise.
70356         * m4/printf-frexpl.m4: Likewise.
70357         * m4/vasnprintf.m4: Likewise.
70358         * modules/allocsa (Files): Remove m4/longdouble.m4.
70359         * modules/gettext (Files): Likewise.
70360         * modules/relocatable-prog-wrapper (Files): Likewise.
70361         * modules/vasnprintf (Files): Likewise.
70362         * modules/isnanl (Files): Likewise.
70363         (Include): Simplify.
70364         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
70365         (Include): Simplify.
70366         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
70367         (Include): Simplify.
70368         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
70369         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70370         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
70371         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70372         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70373         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70374         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
70375         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70376         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70377         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70378         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
70379         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70380         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
70381         * tests/test-isnanl.c: Likewise.
70382         * tests/test-snprintf-posix.h: Likewise.
70383         * tests/test-sprintf-posix.h: Likewise.
70384         * tests/test-vasnprintf-posix.c: Likewise.
70385         * tests/test-vasnprintf-posix2.c: Likewise.
70386         * tests/test-vasprintf-posix.c: Likewise.
70387
70388 2007-04-06  Bruno Haible  <bruno@clisp.org>
70389
70390         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
70391         * lib/math_.h [__DECC]: Include the overridden include file through
70392         #include_next, outside the double-inclusion guard.
70393         * lib/stdio_.h [__DECC]: Likewise.
70394         * lib/stdlib_.h [__DECC]: Likewise.
70395         * lib/string_.h [__DECC]: Likewise.
70396         * lib/time_.h [__DECC]: Likewise.
70397         * lib/wchar_.h [__DECC]: Likewise.
70398         * lib/wctype_.h [__DECC]: Likewise.
70399         * lib/inttypes_.h [__DECC]: Likewise.
70400         Reported by Albert Chin <china@thewrittenword.com> in
70401         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
70402
70403 2007-04-04  Eric Blake  <ebb9@byu.net>
70404
70405         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
70406         1.5.x.
70407
70408 2007-04-04  Bruno Haible  <bruno@clisp.org>
70409
70410         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
70411         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
70412
70413 2007-04-04  Bruno Haible  <bruno@clisp.org>
70414
70415         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
70416         results for "%010a" of Infinity and NaN.
70417         * tests/test-vasprintf-posix.c (test_function): Likewise.
70418         * tests/test-snprintf-posix.h (test_function): Likewise.
70419         * tests/test-sprintf-posix.h (test_function): Likewise.
70420         * tests/test-fprintf-posix.h (test_function): Remove these tests.
70421         * tests/test-printf-posix.h (test_function): Likewise.
70422         * tests/test-fprintf-posix.out: Update.
70423         Needed for FreeBSD 6.1.
70424
70425 2007-04-04  Bruno Haible  <bruno@clisp.org>
70426
70427         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
70428         directly used by the gnulib modules nor by gnulib-tool.
70429
70430 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70431
70432         * DEPENDENCIES: Give overall description of version dependency
70433         desirability.  Use more-typical names for apps.
70434         Add shell, coreutils, diffutils, grep, tar, gzip.
70435
70436 2007-04-04  Simon Josefsson  <simon@josefsson.org>
70437
70438         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
70439
70440 2007-04-04  Karl Berry  <karl@gnu.org>
70441
70442         * MODULES.html.sh (func_module): missing '.
70443
70444 2007-04-03  Bruno Haible  <bruno@clisp.org>
70445
70446         * modules/argmatch-tests (Makefile.am): New variable
70447         test_argmatch_LDADD.
70448         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
70449         * modules/array-list-tests (Makefile.am): New variable
70450         test_array_list_LDADD.
70451         * modules/array-oset-tests (Makefile.am): New variable
70452         test_array_oset_LDADD.
70453         * modules/avltree-list-tests (Makefile.am): New variable
70454         test_avltree_list_LDADD.
70455         * modules/avltree-oset-tests (Makefile.am): New variable
70456         test_avltree_oset_LDADD.
70457         * modules/avltreehash-list-tests (Makefile.am): New variable
70458         test_avltreehash_list_LDADD.
70459         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
70460         test_canonicalize_lgpl_LDADD.
70461         * modules/carray-list-tests (Makefile.am): New variable
70462         test_carray_list_LDADD.
70463         * modules/dirname-tests (Makefile.am): New variable
70464         test_dirname_LDADD.
70465         * modules/linked-list-tests (Makefile.am): New variable
70466         test_linked_list_LDADD.
70467         * modules/linkedhash-list-tests (Makefile.am): New variable
70468         test_linkedhash_list_LDADD.
70469         * modules/rbtree-list-tests (Makefile.am): New variable
70470         test_rbtree_list_LDADD.
70471         * modules/rbtree-oset-tests (Makefile.am): New variable
70472         test_rbtree_oset_LDADD.
70473         * modules/rbtreehash-list-tests (Makefile.am): New variable
70474         test_rbtreehash_list_LDADD.
70475         * modules/xvasprintf-tests (Makefile.am): New variable
70476         test_xvasprintf_LDADD.
70477         Reported by Eric Blake.
70478
70479 2007-04-03  Eric Blake  <ebb9@byu.net>
70480
70481         * DEPENDENCIES: Weaken m4 requirements.
70482
70483 2007-04-03  Bruno Haible  <bruno@clisp.org>
70484
70485         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
70486         * modules/isnanl-tests (configure.ac): Likewise.
70487
70488 2007-04-03  Ben Pfaff  <blp@gnu.org>
70489
70490         * modules/iconv_open: Add $(srcdir)/ to source directory
70491         references in Makefile fragments that call gperf, to fix VPATH
70492         builds.
70493
70494 2007-04-03  Bruno Haible  <bruno@clisp.org>
70495
70496         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
70497         * lib/ldexpl.c: Undo last change.
70498
70499 2007-04-03  Bruno Haible  <bruno@clisp.org>
70500
70501         * modules/printf-frexpl (Depends-on): Undo last change.
70502         (Files): Add m4/ldexpl.m4.
70503
70504 2007-04-03  Bruno Haible  <bruno@clisp.org>
70505
70506         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
70507         * modules/isnanl (Link): New section.
70508
70509         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
70510         * modules/frexp (Link): New section.
70511
70512         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
70513         * modules/frexpl (Link): New section.
70514
70515         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
70516         * modules/ldexpl (Link): New section.
70517
70518 2007-04-03  Bruno Haible  <bruno@clisp.org>
70519
70520         * modules/TEMPLATE-EXTENDED: New file.
70521         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
70522
70523 2007-04-03  Bruno Haible  <bruno@clisp.org>
70524
70525         * DEPENDENCIES: New file.
70526         Suggested by Simon Josefsson.
70527
70528 2007-04-03  Bruno Haible  <bruno@clisp.org>
70529
70530         * doc/gnulib.texi: Escape @.
70531
70532 2007-04-03  James Youngman  <jay@gnu.org>
70533         and Paul Eggert  <eggert@cs.ucla.edu>
70534
70535         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
70536         birthtime on all systems that have birthtime, not just those which
70537         use st_birthtimensec rather than st_birthtim.  Putting zero in
70538         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
70539         that the birth time is not available for files on an NFS mount.
70540
70541 2007-04-03  Simon Josefsson  <simon@josefsson.org>
70542
70543         * modules/memxor: Move back from crypto/, suggested by Bruno.
70544         * modules/crypto/hmac-sha1: Fix memxor dependency.
70545
70546         * modules/crypto/gc: Moved from ../.
70547
70548 2007-04-02  Eric Blake  <ebb9@byu.net>
70549
70550         * lib/ldexpl.c (includes): Avoid libm.
70551
70552         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
70553
70554 2007-04-02  Bruno Haible  <bruno@clisp.org>
70555
70556         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
70557         on IRIX.
70558
70559 2007-04-02  Bruno Haible  <bruno@clisp.org>
70560
70561         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
70562         x86 or x86_64 platforms running MacOS X.
70563         Reported by Ryan Schmidt <@ryandesign.com>.
70564
70565 2007-04-02  Bruno Haible  <bruno@clisp.org>
70566
70567         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
70568         i386.
70569
70570 2007-04-01  Simon Josefsson  <simon@josefsson.org>
70571
70572         * modules/crypto/arcfour: Moved from ../.
70573         * modules/crypto/arcfour-tests: Moved from ../.
70574         * modules/crypto/arctwo: Moved from ../.
70575         * modules/crypto/arctwo-tests: Moved from ../.
70576         * modules/crypto/des: Moved from ../.
70577         * modules/crypto/des-tests: Moved from ../.
70578         * modules/crypto/gc-arcfour: Moved from ../.
70579         * modules/crypto/gc-arcfour-tests: Moved from ../.
70580         * modules/crypto/gc-arctwo: Moved from ../.
70581         * modules/crypto/gc-arctwo-tests: Moved from ../.
70582         * modules/crypto/gc-des: Moved from ../.
70583         * modules/crypto/gc-des-tests: Moved from ../.
70584         * modules/crypto/gc-hmac-md5: Moved from ../.
70585         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
70586         * modules/crypto/gc-hmac-sha1: Moved from ../.
70587         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
70588         * modules/crypto/gc-md2: Moved from ../.
70589         * modules/crypto/gc-md2-tests: Moved from ../.
70590         * modules/crypto/gc-md4: Moved from ../.
70591         * modules/crypto/gc-md4-tests: Moved from ../.
70592         * modules/crypto/gc-md5: Moved from ../.
70593         * modules/crypto/gc-md5-tests: Moved from ../.
70594         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
70595         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
70596         * modules/crypto/gc-random: Moved from ../.
70597         * modules/crypto/gc-rijndael: Moved from ../.
70598         * modules/crypto/gc-rijndael-tests: Moved from ../.
70599         * modules/crypto/gc-sha1: Moved from ../.
70600         * modules/crypto/gc-sha1-tests: Moved from ../.
70601         * modules/crypto/gc-tests: Moved from ../.
70602         * modules/crypto/hmac-md5: Moved from ../.
70603         * modules/crypto/hmac-md5-tests: Moved from ../.
70604         * modules/crypto/hmac-sha1: Moved from ../.
70605         * modules/crypto/hmac-sha1-tests: Moved from ../.
70606         * modules/crypto/md2: Moved from ../.
70607         * modules/crypto/md2-tests: Moved from ../.
70608         * modules/crypto/md4: Moved from ../.
70609         * modules/crypto/md4-tests: Moved from ../.
70610         * modules/crypto/md5: Moved from ../.
70611         * modules/crypto/md5-tests: Moved from ../.
70612         * modules/crypto/memxor: Moved from ../.
70613         * modules/crypto/rijndael: Moved from ../.
70614         * modules/crypto/rijndael-tests: Moved from ../.
70615         * modules/crypto/sha1: Moved from ../.
70616
70617 2007-03-30  James Youngman  <jay@gnu.org>
70618
70619         * tests/test-stat-time.c (prepare_test): use chmod() rather than
70620         rename() to change the ctime of a file (because ctime is unaffected
70621         by rename on jfs2 on AIX 5.1).
70622         (main): Start by doing cleanup, in case a previous run failed leaving
70623         test files behind.
70624
70625 2007-03-31  Bruno Haible  <bruno@clisp.org>
70626
70627         Support old proprietary implementations of iconv.
70628         * modules/iconv_open: New file.
70629         * lib/iconv_.h: New file.
70630         * m4/iconv_h.m4: New file.
70631         * lib/iconv_open.c: New file.
70632         * lib/iconv_open-aix.gperf: New file.
70633         * lib/iconv_open-hpux.gperf: New file.
70634         * lib/iconv_open-irix.gperf: New file.
70635         * lib/iconv_open-osf.gperf: New file.
70636         * m4/iconv_open.m4: New file.
70637         * modules/linebreak (Depends-on): Add iconv_open.
70638         * modules/striconv (Depends-on): Likewise.
70639         * modules/striconveh (Depends-on): Likewise.
70640         * modules/unicodeio (Depends-on): Likewise.
70641         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
70642         (iconv_t)(-1).
70643         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
70644         conversion if cd is (iconv_t)(-1).
70645         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
70646         is not possible.
70647
70648 2007-03-31  Bruno Haible  <bruno@clisp.org>
70649
70650         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70651         work on Solaris either. Protect also second use of "autodetect_jp".
70652
70653 2007-03-31  Bruno Haible  <bruno@clisp.org>
70654
70655         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
70656         the function is not present.
70657
70658 2007-03-31  Bruno Haible  <bruno@clisp.org>
70659
70660         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
70661         the function is not present.
70662
70663 2007-03-31  Bruno Haible  <bruno@clisp.org>
70664
70665         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
70666         a bug in HP-UX iconv_open().
70667
70668 2007-03-31  Bruno Haible  <bruno@clisp.org>
70669
70670         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
70671         (Mathematics <math.h>): New section, add fpieee.
70672         (Input/output <stdio.h>): Add fseterr.
70673         (Mathematics <math.h>): New section, add printf-frexp.
70674         (Container data structures): Add sublist.
70675         (Core language properties): Add fpucw, inline.
70676         (Functions for greatest-width integer types <inttypes.h>): Add
70677         imaxabs, imaxdiv, inttypes.
70678         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
70679         isnanl-nolibm, ldexp.
70680         (Mathematics <math.h>): New section, add printf-frexpl.
70681         (Support for systems lacking POSIX:2001): Add fprintf-posix,
70682         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
70683         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
70684         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
70685         (Unicode string functions): Add unistr/u*-mbtoucr.
70686         (Java): Add javacomp-script, javaexec-script.
70687         (C#): Add csharpcomp-script, csharpexec-script.
70688         (Support for building libraries and executables): Add havelib,
70689         relocatable-*.
70690         (Support for maintaining and releasing projects): Renamed from
70691         'Support for maintaining and release projects'. Add announce-gen.
70692
70693 2007-03-31  Bruno Haible  <bruno@clisp.org>
70694
70695         * README: Talk primarily about git.
70696         (git and CVS): Renamed from CVS.
70697         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
70698         gnulib is available through git.
70699         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
70700
70701 2007-03-30  Bruno Haible  <bruno@clisp.org>
70702
70703         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
70704         * lib/poll_.h: Likewise.
70705         * lib/stat_.h: Likewise.
70706         * lib/sys_time_.h: Likewise.
70707         * lib/sysexit_.h: Likewise.
70708         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
70709         * lib/stdbool_.h: Likewise.
70710         * lib/byteswap_.h: Add double-inclusion guard.
70711
70712 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
70713
70714         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
70715
70716 2007-03-30  Karl Berry  <karl@gnu.org>
70717
70718         * config/srclist-update: double space after USA in the license
70719         substitution, since that's how it's usually (?) written.
70720
70721 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
70722
70723         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
70724         reported by Bruno Haible.
70725
70726 2007-03-29  Bruno Haible  <bruno@clisp.org>
70727
70728         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
70729         a bug in AIX iconv().
70730
70731 2007-03-29  Bruno Haible  <bruno@clisp.org>
70732
70733         * modules/ldexpl-tests: New file.
70734         * tests/test-ldexpl.c: New file.
70735
70736 2007-03-29  Bruno Haible  <bruno@clisp.org>
70737
70738         * lib/ldexpl.c: Include fpucw.h.
70739         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
70740         multiplication.
70741         * modules/ldexpl (Depends-on): Add fpucw.
70742
70743 2007-03-29  Bruno Haible  <bruno@clisp.org>
70744
70745         * modules/ldexpl: New file.
70746         * m4/ldexpl.m4: New file.
70747         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
70748         set.
70749         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
70750         REPLACE_LDEXPL.
70751         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
70752         REPLACE_LDEXPL.
70753         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
70754         gl_FUNC_LDEXPL_WORKS.
70755         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
70756         * modules/mathl (Files): Remove lib/ldexpl.c.
70757         (Depends-on): Add ldexpl.
70758
70759 2007-03-29  Bruno Haible  <bruno@clisp.org>
70760
70761         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
70762
70763 2007-03-29  Bruno Haible  <bruno@clisp.org>
70764
70765         * tests/test-striconveh.c (main): Don't assume that a direct conversion
70766         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
70767         and possibly also HP-UX.
70768         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70769         work on AIX, IRIX, HP-UX, OSF/1.
70770         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
70771         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
70772         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
70773         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
70774         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
70775         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
70776
70777 2007-03-29  Bruno Haible  <bruno@clisp.org>
70778
70779         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
70780
70781 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70782
70783         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
70784         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
70785
70786 2007-03-29  Eric Blake  <ebb9@byu.net>
70787
70788         * lib/acl-internal.h: Remove redundant include.
70789         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
70790         Cygwin when a file is locked.
70791
70792 2007-03-29  Bruno Haible  <bruno@clisp.org>
70793
70794         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
70795         file.
70796         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
70797
70798 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70799
70800         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
70801         try to remove a parent directory if the child couldn't be removed
70802         (except for the first rmdir, which could fail because the child
70803         doesn't exist).  Problem reported by Jeff Blaine in
70804         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
70805
70806 2007-03-28  Bruno Haible  <bruno@clisp.org>
70807
70808         * lib/striconveh.c (utf8conv_carefully): New function.
70809         (mem_cd_iconveh_internal): Invoke it.
70810
70811 2007-03-28  Bruno Haible  <bruno@clisp.org>
70812
70813         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
70814         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
70815         input.
70816         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
70817         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
70818         unistr/u8-uctomb.
70819
70820 2007-03-28  Bruno Haible  <bruno@clisp.org>
70821
70822         * modules/unistr/u8-mbtoucr: New file.
70823         * lib/unistr/u8-mbtoucr.c: New file.
70824         * modules/unistr/u16-mbtoucr: New file.
70825         * lib/unistr/u16-mbtoucr.c: New file.
70826         * modules/unistr/u16-mbtoucr: New file.
70827         * lib/unistr/u16-mbtoucr.c: New file.
70828         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
70829
70830 2007-03-27  Simon Josefsson  <simon@josefsson.org>
70831             Bruno Haible  <bruno@clisp.org>
70832
70833         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
70834         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
70835         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
70836
70837         * m4/stdio_h.m4: Add stubs for vasprintf too.
70838
70839         * modules/stdio: Support vasprintf in sed command.
70840
70841         * modules/vasprintf: Depend on stdio for prototypes.  Remove
70842         vasprintf.h.  Add stdio module indicator.
70843
70844         * lib/stdio_.h: Declare asprintf and vasprintf, based on
70845         vasprintf.h.
70846
70847         * lib/vasprintf.h: File removed.
70848
70849         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
70850         * lib/vasprintf.c: Ditto.
70851         * lib/xvasprintf.c: Ditto.
70852         * tests/test-vasprintf-posix.c: Ditto.
70853         * tests/test-vasprintf.c: Ditto.
70854
70855 2007-03-27  Bruno Haible  <bruno@clisp.org>
70856
70857         Make vasnprintf multithread-safe.
70858         * lib/vasnprintf.c (decimal_point_char): New function.
70859         (VASNPRINTF): Use it.
70860         Suggested by Simon Josefsson.
70861
70862 2007-03-27  Eric Blake  <ebb9@byu.net>
70863
70864         Support sub-second birthtime on cygwin.
70865         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
70866         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
70867         (get_stat_birthtime): Also work with st_birthtim.
70868
70869 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
70870
70871         * lib/stat-time.h (USE_BIRTHTIME): Remove.
70872         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
70873         (get_stat_birthtime_ns): Do not try to use "spare" fields.
70874         (get_stat_birthtime_ns): Simplify compile-time tests.
70875         (get_stat_birthtime): Change the API to look like
70876         get_stat_mtime etc., except return a negative tv_nsec on error.
70877         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
70878         Don't check for "spare" fields.
70879         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
70880         or for struct stat.st_birthtime, as these tests aren't used.
70881         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
70882
70883 2007-03-27  Bruno Haible  <bruno@clisp.org>
70884
70885         * lib/stat-time.h: Include <sys/stat.h>.
70886
70887 2007-03-27  James Youngman  <jay@gnu.org>
70888
70889         * lib/stat-time.h (get_stat_birthtime): New function for
70890           retrieving st_birthtime as provided by UFS2 (hence *BSD).
70891         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
70892           and its variants.
70893         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
70894         * modules/stat-time-test: New file.
70895         * tests/test-stat-time.c: New test, devised by Bruno Haible.
70896
70897 2007-03-26  Bruno Haible  <bruno@clisp.org>
70898
70899         Better support of signalling NaNs.
70900         * lib/atanl.c: Include isnanl.h.
70901         (atanl): Perform test for NaN at the beginning of the function and
70902         through a call to isnanl.
70903         * lib/cosl.c: Include isnanl.h.
70904         (cosl): Perform test for NaN at the beginning of the function and
70905         through a call to isnanl.
70906         * lib/ldexpl.c: Include isnanl.h.
70907         (ldexpl): Perform test for NaN through a call to isnanl.
70908         * lib/logl.c: Include isnanl.h.
70909         (logl): Perform test for NaN at the beginning of the function and
70910         through a call to isnanl.
70911         * lib/sinl.c: Include isnanl.h.
70912         (sinl): Perform test for NaN at the beginning of the function and
70913         through a call to isnanl.
70914         * lib/sqrtl.c: Include isnanl.h.
70915         (sqrtl): Perform test for NaN at the beginning of the function and
70916         through a call to isnanl.
70917         * lib/tanl.c: Include isnanl.h.
70918         (tanl): Perform test for NaN at the beginning of the function and
70919         through a call to isnanl.
70920         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
70921         * modules/mathl (Depends-on): Add isnanl.
70922
70923 2007-03-26  Eric Blake  <ebb9@byu.net>
70924
70925         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
70926         regression in logic sense of previous patch.
70927
70928 2007-03-26  Bruno Haible  <bruno@clisp.org>
70929
70930         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
70931         unportable shell command "if ! ...".
70932         Reported by Ralf Wildenhues.
70933
70934 2007-03-25  Bruno Haible  <bruno@clisp.org>
70935
70936         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
70937         <sysexits.h> file, and only add EX_CONFIG.
70938         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
70939         absolute file name and whether it is sufficient. Substitute also
70940         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
70941         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
70942         ABSOLUTE_SYSEXITS_H into sysexits.h.
70943
70944 2007-03-25  Bruno Haible  <bruno@clisp.org>
70945
70946         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
70947         hints is NULL.
70948
70949 2007-03-25  Bruno Haible  <bruno@clisp.org>
70950
70951         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
70952         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
70953
70954 2007-03-25  Bruno Haible  <bruno@clisp.org>
70955
70956         * lib/vasnprintf.c: Include langinfo.h.
70957         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
70958         multithread-safe.
70959         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
70960         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
70961         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
70962         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70963         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70964         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70965         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70966         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
70967         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70968         Reported by Simon Josefsson.
70969
70970 2007-03-25  Bruno Haible  <bruno@clisp.org>
70971
70972         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
70973         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
70974         * modules/vasnprintf (Depends-on): Add stdint.
70975
70976 2007-03-25  Bruno Haible  <bruno@clisp.org>
70977
70978         * modules/fpieee: New file.
70979         * m4/fpieee.m4: New file.
70980         * modules/isnan-nolibm (Depends-on): Add fpieee.
70981         * modules/isnanl-nolibm (Depends-on): Add fpieee.
70982         * modules/isnanl (Depends-on): Add fpieee.
70983
70984 2007-03-25  Bruno Haible  <bruno@clisp.org>
70985
70986         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
70987
70988 2007-03-25  Bruno Haible  <bruno@clisp.org>
70989
70990         Avoid test failures on IRIX 6.5.
70991         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
70992         (main): Use it.
70993         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
70994         macros.
70995         (main): Use them.
70996
70997 2007-03-25  Bruno Haible  <bruno@clisp.org>
70998
70999         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
71000         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
71001         exists but doesn't work.
71002         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
71003         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
71004         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
71005         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
71006         math.h.
71007
71008 2007-03-25  Bruno Haible  <bruno@clisp.org>
71009
71010         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
71011         returns inf. Needed on IRIX 6.5.
71012
71013 2007-03-25  Bruno Haible  <bruno@clisp.org>
71014
71015         * tests/test-frexpl.c: Include isnanl-nolibm.h.
71016         (main): Use isnanl instead of x != x idiom.
71017         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
71018
71019         * tests/test-frexp.c: Include isnan.h.
71020         (main): Use isnan instead of x != x idiom.
71021         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
71022
71023 2007-03-25  Bruno Haible  <bruno@clisp.org>
71024
71025         * tests/test-frexp.c (NaN): New function/macro.
71026         (main): Use it instead of 0.0 / 0.0.
71027         * tests/test-isnan.c (NaN): New function/macro.
71028         (main): Use it instead of 0.0 / 0.0.
71029         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
71030         (test_function): Use it instead of 0.0 / 0.0.
71031         * tests/test-vasprintf-posix.c (NaN): New function/macro.
71032         (test_function): Use it instead of 0.0 / 0.0.
71033         * tests/test-snprintf-posix.h (NaN): New function/macro.
71034         (test_function): Use it instead of 0.0 / 0.0.
71035         * tests/test-sprintf-posix.h (NaN): New function/macro.
71036         (test_function): Use it instead of 0.0 / 0.0.
71037         * tests/test-fprintf-posix.h (NaN): New function/macro.
71038         (test_function): Use it instead of 0.0 / 0.0.
71039         * tests/test-printf-posix.h (NaN): New function/macro.
71040         (test_function): Use it instead of 0.0 / 0.0.
71041
71042         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
71043
71044 2007-03-25  Bruno Haible  <bruno@clisp.org>
71045
71046         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
71047
71048 2007-03-25  Bruno Haible  <bruno@clisp.org>
71049
71050         * lib/regexec.c (merge_state_with_log): Make static.
71051
71052 2007-03-25  Bruno Haible  <bruno@clisp.org>
71053
71054         * lib/trigl.c (kernel_rem_pio2): Make static.
71055
71056 2007-03-25  Bruno Haible  <bruno@clisp.org>
71057
71058         * lib/sincosl.c (sincosl_table): Make static.
71059
71060 2007-03-25  Bruno Haible  <bruno@clisp.org>
71061
71062         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
71063         if the compiler does not support C99.
71064
71065 2007-03-25  Bruno Haible  <bruno@clisp.org>
71066
71067         * modules/time (Makefile.am): Ensure all rule action lines start with a
71068         tab.
71069
71070 2007-03-24  Bruno Haible  <bruno@clisp.org>
71071
71072         * modules/tsearch-tests: New file.
71073         * tests/test-tsearch.sh: New file.
71074         * tests/test-tsearch.c: New file, mostly copied from glibc.
71075
71076         * modules/search-tests: New file.
71077         * tests/test-search.c: New file.
71078
71079         * modules/search: New file.
71080         * lib/search_.h: New file, incorporating lib/tsearch.h.
71081         * m4/search_h.m4: New file.
71082         * lib/tsearch.h: Remove file.
71083         * lib/tsearch.c: Include search.h instead of tsearch.h.
71084         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
71085         HAVE_TSEARCH.
71086         * modules/tsearch (Files): Remove lib/tsearch.h.
71087         (Depends-on): Add search.
71088         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
71089         (Include): Change tsearch.h into search.h.
71090
71091 2007-03-24  Bruno Haible  <bruno@clisp.org>
71092
71093         * modules/fpucw: New file.
71094         * lib/fpucw.h: New file.
71095         * lib/frexp.c: Include fpucw.h.
71096         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71097         (FUNC): Use them.
71098         * lib/printf-frexp.c: Include fpucw.h.
71099         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71100         (FUNC): Use them.
71101         * lib/vasnprintf.c: Include fpucw.h.
71102         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
71103         'long double' calculations.
71104         * tests/test-frexpl.c: Include fpucw.h.
71105         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71106         * tests/test-printf-frexpl.c: Include fpucw.h.
71107         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71108         * modules/frexpl (Depends-on): Add fpucw.
71109         * modules/printf-frexpl (Depends-on): Likewise.
71110         * modules/fprintf-posix (Depends-on): Likewise.
71111         * modules/snprintf-posix (Depends-on): Likewise.
71112         * modules/sprintf-posix (Depends-on): Likewise.
71113         * modules/vasnprintf-posix (Depends-on): Likewise.
71114         * modules/vasprintf-posix (Depends-on): Likewise.
71115         * modules/vfprintf-posix (Depends-on): Likewise.
71116         * modules/vsnprintf-posix (Depends-on): Likewise.
71117         * modules/vsprintf-posix (Depends-on): Likewise.
71118         * modules/frexpl-tests (Depends-on): Likewise.
71119         * modules/printf-frexpl-tests (Depends-on): Likewise.
71120
71121 2007-03-24  Bruno Haible  <bruno@clisp.org>
71122
71123         * lib/float+.h: New file.
71124         * lib/isnan.c: Include float+.h.
71125         (SIZE): New macro.
71126         (FUNC): Compare only SIZE bytes of the value.
71127         * lib/vasnprintf.c: Include float+.h.
71128         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
71129         SIZEOF_LDBL or SIZEOF_DBL bytes.
71130         * modules/isnan-nolibm (Files): Add lib/float+.h.
71131         * modules/isnanl-nolibm (Files): Add lib/float+.h.
71132         * modules/isnanl (Files): Add lib/float+.h.
71133         * modules/vasnprintf (Files): Add lib/float+.h.
71134
71135 2007-03-24  Bruno Haible  <bruno@clisp.org>
71136
71137         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
71138         include isnanl-nolibm.h.
71139
71140 2007-03-24  Bruno Haible  <bruno@clisp.org>
71141
71142         * tests/test-read-file.c (main): Don't produce spurious output for
71143         expected situations. Make the test fail if it encountered unexpected
71144         results.
71145
71146 2007-03-24  Bruno Haible  <bruno@clisp.org>
71147
71148         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
71149         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
71150
71151 2007-03-24  Bruno Haible  <bruno@clisp.org>
71152
71153         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
71154
71155 2007-03-24  Bruno Haible  <bruno@clisp.org>
71156
71157         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
71158         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
71159
71160         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
71161         * modules/utf8-ucs4: Turn into a symbolic link to module
71162         unistr/u8-mbtouc.
71163
71164         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
71165         utf8-ucs4-unsafe.
71166         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
71167         unistr/u8-mbtouc-unsafe.
71168
71169         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
71170         * modules/utf16-ucs4: Turn into a symbolic link to module
71171         unistr/u16-mbtouc.
71172
71173         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
71174         utf16-ucs4-unsafe.
71175         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
71176         unistr/u16-mbtouc-unsafe.
71177
71178         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
71179         * modules/ucs4-utf8: Turn into a symbolic link to module
71180         unistr/u8-ubtomb.
71181
71182         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
71183         * modules/ucs4-utf16: Turn into a symbolic link to module
71184         unistr/u16-ubtomb.
71185
71186 2007-03-24  Bruno Haible  <bruno@clisp.org>
71187
71188         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
71189         Enable the function only if HAVE_INLINE.
71190         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
71191         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71192         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
71193         Enable the function only if HAVE_INLINE.
71194         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
71195         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71196         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
71197         Enable the function only if HAVE_INLINE.
71198         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
71199         Enable the function only if HAVE_INLINE.
71200         * modules/utf8-ucs4: Update.
71201         * modules/utf8-ucs4-unsafe: Update.
71202         * modules/utf16-ucs4: Update.
71203         * modules/utf16-ucs4-unsafe: Update.
71204         * modules/ucs4-utf8: Update.
71205         * modules/ucs4-utf16: Update.
71206
71207 2007-03-24  Bruno Haible  <bruno@clisp.org>
71208
71209         * lib/utf8-ucs4.h: Remove file.
71210         * lib/utf8-ucs4-unsafe.h: Remove file.
71211         * lib/utf16-ucs4.h: Remove file.
71212         * lib/utf16-ucs4-unsafe.h: Remove file.
71213         * lib/ucs4-utf8.h: Remove file.
71214         * lib/ucs4-utf16.h: Remove file.
71215         * lib/unistr.h: Include their previous contents.
71216         * m4/utf-ucs4.m4: Remove file.
71217         * m4/ucs4-utf.m4: Remove file.
71218         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
71219         (Depends-on): Add unistr/base.
71220         (configure.ac): Remove gl_UTF_UCS4.
71221         (Makefile.am): Update.
71222         (Include): Change to unistr.h.
71223         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
71224         (Depends-on): Add unistr/base.
71225         (configure.ac): Remove gl_UTF_UCS4.
71226         (Makefile.am): Update.
71227         (Include): Change to unistr.h.
71228         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
71229         (Depends-on): Add unistr/base.
71230         (configure.ac): Remove gl_UTF_UCS4.
71231         (Makefile.am): Update.
71232         (Include): Change to unistr.h.
71233         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
71234         (Depends-on): Add unistr/base.
71235         (configure.ac): Remove gl_UTF_UCS4.
71236         (Makefile.am): Update.
71237         (Include): Change to unistr.h.
71238         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
71239         (Depends-on): Add unistr/base.
71240         (configure.ac): Remove gl_UCS4_UTF.
71241         (Makefile.am): Update.
71242         (Include): Change to unistr.h.
71243         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
71244         (Depends-on): Add unistr/base.
71245         (configure.ac): Remove gl_UCS4_UTF.
71246         (Makefile.am): Update.
71247         (Include): Change to unistr.h.
71248         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
71249         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
71250         utf8-ucs4-unsafe.h.
71251         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
71252         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
71253         utf16-ucs4-unsafe.h.
71254         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
71255         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
71256         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
71257         * lib/unistr/u8-strchr.c: Likewise.
71258         * lib/unistr/u8-strrchr.c: Likewise.
71259         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
71260         * lib/unistr/u16-strchr.c: Likewise.
71261         * lib/unistr/u16-strrchr.c: Likewise.
71262         * lib/striconveh.c: Update.
71263         * lib/linebreak.c: Update.
71264
71265 2007-03-24  Bruno Haible  <bruno@clisp.org>
71266
71267         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
71268         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
71269
71270 2007-03-22  Bruno Haible  <bruno@clisp.org>
71271
71272         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
71273
71274 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71275
71276         * MODULES.html.sh (File system functions): New module write-any-file.
71277         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
71278         * m4/write-any-file.m4: New files.
71279
71280 2007-03-23  Eric Blake  <ebb9@byu.net>
71281
71282         * gnulib-tool: Rearrange space-tab sequences, since some editors
71283         like to eat them.
71284
71285 2007-03-23  Eric Blake  <ebb9@byu.net>
71286
71287         * lib/version-etc.c (version_etc_va): Update license wording to
71288         be more concise.  Recommended by Richard Stallman.
71289
71290 2007-03-22  Bruno Haible  <bruno@clisp.org>
71291
71292         * lib/poll.c (MSG_PEEK): New fallback definition.
71293
71294 2007-03-22  Bruno Haible  <bruno@clisp.org>
71295
71296         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
71297         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
71298         (main): Update.
71299         Fixes a compilation error on BeOS.
71300
71301 2007-03-22  Bruno Haible  <bruno@clisp.org>
71302
71303         * modules/frexpl-tests: New file.
71304         * tests/test-frexpl.c: New file.
71305
71306         * modules/frexpl: New file.
71307         * m4/frexpl.m4: New file.
71308         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
71309         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
71310         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
71311         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
71312         (Depends-on): Add frexpl. Remove isnanl-nolibm.
71313         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
71314
71315 2007-03-22  Bruno Haible  <bruno@clisp.org>
71316
71317         * lib/frexpl.c: Share code with lib/frexp.c.
71318         * modules/mathl (Files): Add lib/frexp.c.
71319         (Depends-on): Add isnanl-nolibm.
71320
71321 2007-03-22  Bruno Haible  <bruno@clisp.org>
71322
71323         * modules/printf-frexp (Files): Add m4/frexp.m4.
71324         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
71325         only if the found frexp function actually works.
71326
71327 2007-03-22  Bruno Haible  <bruno@clisp.org>
71328
71329         * lib/frexp.c: Remove older implementation that uses divisions.
71330
71331 2007-03-21  Bruno Haible  <bruno@clisp.org>
71332
71333         * modules/frexp-tests: New file.
71334         * tests/test-frexp.c: New file.
71335
71336         * modules/frexp: New file.
71337         * lib/frexp.c: New file.
71338         * m4/frexp.m4: New file.
71339         * lib/math_.h (frexp): New declaration.
71340         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
71341         REPLACE_FREXP.
71342         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
71343
71344 2007-03-21  Bruno Haible  <bruno@clisp.org>
71345
71346         * modules/isnanl-tests: New file.
71347         * tests/test-isnanl.c: New file.
71348
71349         * modules/isnanl: New file.
71350         * lib/isnanl.h: New file.
71351         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
71352         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
71353         gl_FUNC_ISNANL_WORKS.
71354         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
71355         New macros.
71356
71357 2007-03-21  Bruno Haible  <bruno@clisp.org>
71358
71359         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
71360         lib/isnanl.h.
71361         (Include): Update.
71362         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
71363         * lib/vasnprintf.c: Update.
71364         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
71365         tests/test-isnanl.h, remove tests/test-isnanl.c.
71366         (Makefile.am): Update.
71367         * tests/test-isnanl-nolibm.c: New file.
71368         * tests/test-isnanl.h: New file.
71369         * tests/test-isnanl.c: Remove file.
71370
71371 2007-03-21  Jim Meyering  <jim@meyering.net>
71372
71373         When trying to open ".", treat ESTALE like EACCES.
71374         * lib/savewd.c (savewd_save): Resort to forking not just upon
71375         failure with EACCES, but also when errno is ESTALE.
71376
71377 2007-03-20  Bruno Haible  <bruno@clisp.org>
71378
71379         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
71380         Needed on AIX 5.1. Reported by Matthew Woehlke.
71381
71382 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71383
71384         Suggestions by Bruno Haible:
71385         * lib/acl-internal.h: Include "gettext.h" rather than rolling
71386         our own.
71387         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
71388         * modules/acl (Depends-on): Add gettext.
71389
71390 2007-03-19  Bruno Haible  <bruno@clisp.org>
71391
71392         * modules/iconvme: Remove file.
71393         * lib/iconvme.h: Remove file.
71394         * lib/iconvme.c: Remove file.
71395         * m4/iconvme.m4: Remove file.
71396
71397 2007-03-19  Bruno Haible  <bruno@clisp.org>
71398
71399         * doc/relocatable-maint.texi: Break long shell script line.
71400         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71401
71402 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71403
71404         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
71405         handle file_has_acl.
71406         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
71407         * lib/acl.c: Move header inclusions and related macro defns into
71408         lib/acl-internal.h.
71409         (S_ISLNK): Remove defn, since that's now done for us.
71410         (file_has_acl): Move to lib/file-has-acl.c.
71411         Call acl_trivial if available.  This is the crucial part of the fix.
71412         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
71413         shared within the library.  Rewrite a bit, partly to make it compatible
71414         with the GNU coding style.
71415         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
71416         Remove unnecessary double-quotes.
71417         Don't test for acl_to_text; the build will catch that.
71418         Replace acl_entries if it doesn't exist and it is needed.
71419         Check for -lsec and acl_trivial (as used on Solaris 10).
71420         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
71421         lib/file-has-acl.c.
71422         (Depends-on): Add sys_stat, for S_ISLNK.
71423
71424 2007-03-19  Ben Pfaff  <blp@gnu.org>
71425
71426         * doc/gnulib.texi: Fix typos.
71427         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71428
71429 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71430
71431         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
71432         If size is zero here, buf must be zero.
71433
71434 2007-03-19  Simon Josefsson  <simon@josefsson.org>
71435
71436         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
71437         <bruno@clisp.org>.
71438
71439 2007-03-18  Bruno Haible  <bruno@clisp.org>
71440
71441         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
71442         Suggested by Eric Blake.
71443
71444 2007-03-18  Ben Pfaff  <blp@gnu.org>
71445
71446         * doc/relocatable.texi: Recommend using as prefix a directory
71447         that does not exist and will never be created.  Based on
71448         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
71449         and others.
71450
71451 2007-03-17  Bruno Haible  <bruno@clisp.org>
71452
71453         * lib/fchownat.c: Include lchown.h.
71454
71455 2007-03-17  Bruno Haible  <bruno@clisp.org>
71456
71457         Fix endless loop when the given allocated size was > INT_MAX.
71458         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
71459         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
71460         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
71461         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
71462         * lib/sprintf.c (sprintf): Likewise.
71463
71464 2007-03-17  Bruno Haible  <bruno@clisp.org>
71465
71466         * tests/test-argp-2.sh (func_compare): Output a context diff.
71467
71468 2007-03-17  Bruno Haible  <bruno@clisp.org>
71469
71470         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
71471         locale's decimal-point character.
71472
71473 2007-03-17  Bruno Haible  <bruno@clisp.org>
71474
71475         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
71476         before comparing it. Needed because on some platforms (e.g. x86) a
71477         'long double' occupies less bytes than sizeof (long double).
71478
71479 2007-03-17  Bruno Haible  <bruno@clisp.org>
71480
71481         * tests/test-crc.c (main): Make printf statements 64-bit clean.
71482         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
71483         * tests/test-getaddrinfo.c (simple): Likewise.
71484         * tests/test-read-file.c (main): Likewise.
71485
71486 2007-03-17  Bruno Haible  <bruno@clisp.org>
71487
71488         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
71489
71490 2007-03-17  Bruno Haible  <bruno@clisp.org>
71491
71492         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
71493         unused variable.
71494
71495 2007-03-17  Bruno Haible  <bruno@clisp.org>
71496
71497         * tests/test-c-strcasecmp.c: Include c-strcase.h.
71498         * tests/test-c-strncasecmp.c: Likewise.
71499
71500 2007-03-17  Bruno Haible  <bruno@clisp.org>
71501
71502         * modules/stdlib (Depends-on): Add unistd.
71503         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
71504         Needed for MacOS X 10.3.
71505
71506 2007-03-17  Bruno Haible  <bruno@clisp.org>
71507
71508         * lib/unistr/u-strdup.h: Include <stdlib.h>.
71509
71510 2007-03-17  Bruno Haible  <bruno@clisp.org>
71511
71512         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
71513
71514 2007-03-17  Bruno Haible  <bruno@clisp.org>
71515
71516         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
71517         to reflect files copied from gnulib (with or without modifications).
71518         Suggested by Jim Meyering.
71519
71520 2007-03-17  Eric Blake  <ebb9@byu.net>
71521
71522         * NEWS: Document stdlib change from 2007-02-18.
71523
71524 2007-03-17  Jim Meyering  <jim@meyering.net>
71525
71526         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
71527         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
71528         someone uses a name containing shell meta-characters.
71529         Reported by Alfred M. Szmidt.
71530
71531         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
71532
71533 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71534
71535         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
71536         and copy gettext configuration files only if configure.ac contains
71537         a use of AM_GNU_GETTEXT_VERSION.
71538
71539 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71540
71541         * build-aux/bootstrap (gnulib_name): New variable.
71542         (gnulib_tool_options): Use it.
71543
71544 2007-03-13  Simon Josefsson  <simon@josefsson.org>
71545
71546         * tests/test-des.c: Use new namespace.
71547
71548 2007-03-15  Bruno Haible  <bruno@clisp.org>
71549
71550         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
71551         Reported by James Youngman <jay@gnu.org>.
71552
71553 2007-03-15  Bruno Haible  <bruno@clisp.org>
71554
71555         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
71556         declared prototype. Needed with cc on OSF/1 5.1.
71557
71558 2007-03-15  Bruno Haible  <bruno@clisp.org>
71559
71560         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
71561         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
71562         (struct gl_list_implementation): Add dispose_fn argument to the
71563         'create_empty', 'create' methods.
71564         (struct gl_list_impl_base): Add field 'dispose_fn'.
71565         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
71566         argument.
71567         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
71568         dispose_fn argument.
71569         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
71570         dispose_fn on the dropped values.
71571         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
71572         dispose_fn argument.
71573         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
71574         dropped values.
71575         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
71576         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71577         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
71578         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71579         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
71580         argument.
71581         (gl_tree_list_free): Call dispose_fn on the dropped values.
71582         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
71583         the dropped values.
71584         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71585         Add dispose_fn argument.
71586         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
71587         Call dispose_fn on the dropped values.
71588         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
71589         Add dispose_fn argument.
71590         (gl_sublist_create): Initialize the 'dispose_fn' field.
71591         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
71592         * tests/test-array_list.c (main): Update.
71593         * tests/test-carray_list.c (main): Update.
71594         * tests/test-avltree_list.c (main): Update.
71595         * tests/test-rbtree_list.c (main): Update.
71596         * tests/test-avltreehash_list.c (main): Update.
71597         * tests/test-rbtreehash_list.c (main): Update.
71598         * tests/test-linked_list.c (main): Update.
71599         * tests/test-linkedhash_list.c (main): Update.
71600         * tests/test-array_oset.c (main): Update.
71601
71602 2007-03-15  Bruno Haible  <bruno@clisp.org>
71603
71604         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
71605         (gl_oset_create_empty): Add dispose_fn argument.
71606         (struct gl_oset_implementation): Add dispose_fn argument to
71607         'create_empty' method.
71608         (struct gl_oset_impl_base): Add dispose_fn field.
71609         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
71610         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
71611         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
71612         values.
71613         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
71614         (gl_tree_oset_free): Call dispose_fn on the dropped values.
71615         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71616         dropped value.
71617         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71618         dropped value.
71619         * tests/test-array_oset.c (main): Update.
71620         * tests/test-avltree_oset.c (main): Update.
71621         * tests/test-rbtree_oset.c (main): Update.
71622         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
71623
71624 2007-03-13  Bruno Haible  <bruno@clisp.org>
71625
71626         * tests/test-stdbool.c (i): Update after last patch.
71627
71628 2007-03-12  Bruno Haible  <bruno@clisp.org>
71629
71630         * lib/quotearg.c: Include <wctype.h> early, before the definition of
71631         the iswprint macro. Needed on Solaris 2.5.1.
71632
71633 2007-03-12  Bruno Haible  <bruno@clisp.org>
71634
71635         * tests/test-printf-frexp.c (main): Declare x as volatile.
71636
71637 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71638
71639         * doc/gnulib.texi (Build robot for gnulib): New section.
71640
71641 2007-03-12  Jim Meyering  <jim@meyering.net>
71642
71643         * build-aux/bootstrap: New file.
71644         * build-aux/bootstrap.conf: New file, from coreutils.
71645
71646 2007-03-11  Bruno Haible  <bruno@clisp.org>
71647
71648         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
71649
71650 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71651
71652         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
71653         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
71654         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
71655
71656 2007-03-11  Bruno Haible  <bruno@clisp.org>
71657
71658         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
71659         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
71660
71661 2007-03-11  Bruno Haible  <bruno@clisp.org>
71662
71663         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
71664         formula. Needed for SunPRO C 5.0.
71665
71666 2007-03-11  Bruno Haible  <bruno@clisp.org>
71667
71668         * modules/long-options (Depends-on): Add getopt.
71669
71670 2007-03-11  Bruno Haible  <bruno@clisp.org>
71671
71672         * modules/modechange (Depends-on): Add stdbool.
71673
71674 2007-03-11  Bruno Haible  <bruno@clisp.org>
71675
71676         * modules/i-ring (Depends-on): Add stdbool.
71677
71678 2007-03-11  Bruno Haible  <bruno@clisp.org>
71679
71680         * modules/gc-des (Depends-on): Add stdbool.
71681
71682 2007-03-11  Bruno Haible  <bruno@clisp.org>
71683
71684         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
71685
71686 2007-03-11  Bruno Haible  <bruno@clisp.org>
71687
71688         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
71689
71690 2007-03-11  Bruno Haible  <bruno@clisp.org>
71691
71692         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
71693
71694 2007-03-11  Bruno Haible  <bruno@clisp.org>
71695
71696         * lib/vasnprintf.c (sprintf): Undefine.
71697
71698 2007-03-11  Bruno Haible  <bruno@clisp.org>
71699
71700         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
71701         initializers in SunPRO C and Compaq C compilers.
71702
71703 2007-03-11  Bruno Haible  <bruno@clisp.org>
71704
71705         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
71706         decrementing code ANSI C compliant.
71707
71708 2007-03-11  Bruno Haible  <bruno@clisp.org>
71709
71710         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
71711         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
71712
71713 2007-03-11  Bruno Haible  <bruno@clisp.org>
71714
71715         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
71716         <stdbool.h> substitute doesn't pass.
71717
71718 2007-03-11  Bruno Haible  <bruno@clisp.org>
71719
71720         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
71721
71722 2007-03-11  Bruno Haible  <bruno@clisp.org>
71723
71724         * gnulib-tool (func_create_megatestdir): Create also an autobuild
71725         script, for submission to autobuild.josefsson.org.
71726
71727 2007-03-10  Bruno Haible  <bruno@clisp.org>
71728
71729         * modules/canonicalize-lgpl-tests: New file.
71730         * tests/test-canonicalize-lgpl.sh: New file.
71731         * tests/test-canonicalize-lgpl.c: New file.
71732
71733         * modules/c-strcase-tests: New file.
71734         * tests/test-c-strcase.sh: New file.
71735         * tests/test-c-strcasecmp.c: New file.
71736         * tests/test-c-strncasecmp.c: New file.
71737
71738         * modules/atexit-tests: New file.
71739         * tests/test-atexit.sh: New file.
71740         * tests/test-atexit.c: New file.
71741
71742 2007-03-10  Bruno Haible  <bruno@clisp.org>
71743
71744         * tests/test-binary-io.sh: Use temporary filenames that are not so
71745         likely to clash with those of other tests (in a parallel make).
71746         * tests/test-binary-io.c: Likewise.
71747
71748 2007-03-10  Bruno Haible  <bruno@clisp.org>
71749
71750         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
71751         fallback; use #error instead.
71752         Suggested by Simon Josefsson.
71753
71754 2007-03-10  Bruno Haible  <bruno@clisp.org>
71755
71756         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
71757         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
71758         first and the last.
71759
71760 2007-03-10  Bruno Haible  <bruno@clisp.org>
71761
71762         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
71763
71764 2007-03-10  Bruno Haible  <bruno@clisp.org>
71765
71766         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
71767         "make distcheck".
71768         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
71769         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
71770         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
71771
71772 2007-03-10  Bruno Haible  <bruno@clisp.org>
71773
71774         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
71775         variable.
71776         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
71777         variable.
71778
71779 2007-03-09  Eric Blake  <ebb9@byu.net>
71780         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
71781
71782         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
71783         types are not being provided by gnulib.
71784         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
71785         types are supported.
71786
71787 2007-03-10  Bruno Haible  <bruno@clisp.org>
71788
71789         * lib/stdio_.h (__attribute__): New macro.
71790         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
71791         vsprintf): Specify __attribute__ __format__ for GCC.
71792         Suggested by Eric Blake.
71793
71794 2007-03-09  Bruno Haible  <bruno@clisp.org>
71795
71796         * modules/printf-posix-tests: New file.
71797         * tests/test-printf-posix.sh: New file.
71798         * tests/test-printf-posix.c: New file.
71799
71800         * modules/printf-posix: New file.
71801         * lib/printf.c: New file.
71802         * m4/printf-posix-rpl.m4: New file.
71803         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
71804         REPLACE_PRINTF.
71805         * lib/stdio_.h (printf): New declaration.
71806         (format, __format__, ____printf____, ____scanf____, ____strftime____,
71807         ____strfmon____): New macros.
71808         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
71809         REPLACE_PRINTF.
71810
71811 2007-03-09  Bruno Haible  <bruno@clisp.org>
71812
71813         * tests/test-vasnprintf-posix2.sh: New file.
71814         * tests/test-vasnprintf-posix2.c: New file.
71815         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
71816         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
71817         (Makefile.am): Activate test-vasnprintf-posix2.sh.
71818
71819         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
71820         a locale dependent decimal point, rather than always '.'.
71821
71822 2007-03-09  Eric Blake  <ebb9@byu.net>
71823
71824         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
71825         spite of platforms like Tandem/NSK that define it to -1.
71826
71827 2007-03-08  Bruno Haible  <bruno@clisp.org>
71828
71829         * modules/vprintf-posix-tests: New file.
71830         * tests/test-vprintf-posix.sh: New file.
71831         * tests/test-vprintf-posix.c: New file.
71832         * tests/test-printf-posix.h: New file.
71833
71834         * modules/vprintf-posix: New file.
71835         * lib/vprintf.c: New file.
71836         * m4/vprintf-posix.m4: New file.
71837         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
71838         REPLACE_VPRINTF.
71839         * lib/stdio_.h (vprintf): New declaration.
71840         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
71841         REPLACE_VPRINTF.
71842
71843 2007-03-08  Bruno Haible  <bruno@clisp.org>
71844
71845         * modules/fprintf-posix-tests: New file.
71846         * tests/test-fprintf-posix.sh: New file.
71847         * tests/test-fprintf-posix.c: New file.
71848
71849         * modules/fprintf-posix: New file.
71850         * lib/fprintf.c: New file.
71851         * m4/fprintf-posix.m4: New file.
71852         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
71853         REPLACE_FPRINTF.
71854         * lib/stdio_.h (fprintf): New declaration.
71855         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
71856         REPLACE_FPRINTF.
71857
71858 2007-03-08  Bruno Haible  <bruno@clisp.org>
71859
71860         * modules/vfprintf-posix-tests: New file.
71861         * tests/test-vfprintf-posix.sh: New file.
71862         * tests/test-vfprintf-posix.c: New file.
71863         * tests/test-fprintf-posix.h: New file.
71864         * tests/test-fprintf-posix.out: New file.
71865
71866         * modules/vfprintf-posix: New file.
71867         * lib/vfprintf.c: New file.
71868         * m4/vfprintf-posix.m4: New file.
71869         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
71870         REPLACE_VFPRINTF.
71871         * lib/stdio_.h (vfprintf): New declaration.
71872         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
71873         REPLACE_VFPRINTF.
71874
71875 2007-03-08  Bruno Haible  <bruno@clisp.org>
71876
71877         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
71878
71879 2007-03-08  Bruno Haible  <bruno@clisp.org>
71880
71881         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
71882         instead of 'expr' invocations.
71883         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71884         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71885         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71886         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
71887         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71888         Suggested by Paul Eggert.
71889
71890 2007-03-08  Bruno Haible  <bruno@clisp.org>
71891
71892         * modules/fseterr-tests: New file.
71893         * tests/test-fseterr.c: New file.
71894
71895         * modules/fseterr: New file.
71896         * lib/fseterr.h: New file.
71897         * lib/fseterr.c: New file.
71898
71899 2007-03-08  Bruno Haible  <bruno@clisp.org>
71900
71901         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
71902         * lib/getopt_.h: Likewise.
71903         * lib/mbswidth.h: Likewise.
71904         * lib/setenv.h: Likewise.
71905         * lib/vasnprintf.h: Likewise.
71906         * lib/vasprintf.h: Likewise.
71907         * lib/verror.h: Likewise.
71908         * lib/xsetenv.h: Likewise.
71909         * lib/xvasprintf.h: Likewise.
71910
71911 2007-03-08  Jim Meyering  <jim@meyering.net>
71912
71913         * users.txt: Add parted.
71914
71915         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
71916
71917 2007-03-07  Bruno Haible  <bruno@clisp.org>
71918
71919         * m4/printf.m4: Make the shell script snippets copy&pastable.
71920
71921 2007-03-02  Bruno Haible  <bruno@clisp.org>
71922
71923         * lib/netinet_in_.h: New file.
71924         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
71925         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
71926         * modules/netinet_in (Files): Add lib/netinet_in_.h.
71927         (Depends-on): Add absolute-header.
71928         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
71929         into netinet/in.h.
71930
71931 2007-03-03  Bruno Haible  <bruno@clisp.org>
71932
71933         * lib/sys_select_.h: New file.
71934         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
71935         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
71936         * modules/sys_select (Files): Add lib/sys_select_.h.
71937         (Depends-on): Add absolute-header.
71938         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
71939         into sys/select.h.
71940
71941 2007-03-02  Bruno Haible  <bruno@clisp.org>
71942
71943         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
71944         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
71945         values.
71946         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
71947         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
71948         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
71949         * modules/sys_socket (Depends-on): Add absolute-header.
71950         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
71951         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
71952         (Include): Remove requirement of inclusion of <sys/types.h>.
71953
71954 2007-03-02  Bruno Haible  <bruno@clisp.org>
71955
71956         * lib/byteswap_.h (bswap_32): Fix formula.
71957
71958 2007-03-06  Bruno Haible  <bruno@clisp.org>
71959
71960         * modules/sprintf-posix-tests: New file.
71961         * tests/test-sprintf-posix.c: New file.
71962
71963         * modules/sprintf-posix: New file.
71964         * lib/sprintf.c: New file.
71965         * m4/sprintf-posix.m4: New file.
71966         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
71967         REPLACE_SPRINTF.
71968         * lib/stdio_.h (sprintf): New declaration.
71969         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
71970         REPLACE_SPRINTF.
71971
71972 2007-03-06  Bruno Haible  <bruno@clisp.org>
71973
71974         * modules/vsprintf-posix-tests: New file.
71975         * tests/test-vsprintf-posix.c: New file.
71976         * tests/test-sprintf-posix.h: New file.
71977
71978         * modules/vsprintf-posix: New file.
71979         * lib/vsprintf.c: New file.
71980         * m4/vsprintf-posix.m4: New file.
71981         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
71982         REPLACE_VSPRINTF.
71983         * lib/stdio_.h (vsprintf): New declaration.
71984         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
71985         REPLACE_VSPRINTF.
71986
71987 2007-03-06  Bruno Haible  <bruno@clisp.org>
71988
71989         * modules/vsnprintf (Depend-on): Remove minmax.
71990
71991 2007-03-06  Bruno Haible  <bruno@clisp.org>
71992
71993         * modules/snprintf-posix-tests: New file.
71994         * tests/test-snprintf-posix.c: New file.
71995
71996         * modules/snprintf-posix: New file.
71997         * m4/snprintf-posix.m4: New file.
71998         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
71999         gl_FUNC_SNPRINTF.
72000         (gl_FUNC_SNPRINTF): Invoke it.
72001         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
72002         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
72003         is set.
72004         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
72005
72006 2007-03-06  Bruno Haible  <bruno@clisp.org>
72007
72008         * modules/vsnprintf-posix-tests: New file.
72009         * tests/test-vsnprintf-posix.c: New file.
72010         * tests/test-snprintf-posix.h: New file.
72011
72012         * modules/vsnprintf-posix: New file.
72013         * m4/vsnprintf-posix.m4: New file.
72014         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
72015         gl_FUNC_VSNPRINTF.
72016         (gl_FUNC_VSNPRINTF): Invoke it.
72017         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
72018         * lib/stdio_.h (vsnprintf): Define as a replacement if
72019         REPLACE_VSNPRINTF is set.
72020         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
72021
72022 2007-03-06  Bruno Haible  <bruno@clisp.org>
72023
72024         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
72025         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
72026
72027 2007-03-06  Bruno Haible  <bruno@clisp.org>
72028
72029         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
72030         (asinl): Declare also if HAVE_DECL_ASINL is set.
72031         (atanl): Declare also if HAVE_DECL_ATANL is set.
72032         (ceill): Declare also if HAVE_DECL_CEILL is set.
72033         (cosl): Declare also if HAVE_DECL_COSL is set.
72034         (expl): Declare also if HAVE_DECL_EXPL is set.
72035         (floorl): Declare also if HAVE_DECL_FLOORL is set.
72036         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
72037         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
72038         (logl): Declare also if HAVE_DECL_LOGL is set.
72039         (sinl): Declare also if HAVE_DECL_SINL is set.
72040         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
72041         (tanl): Declare also if HAVE_DECL_TANL is set.
72042         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
72043         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
72044         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
72045         declaration of frexpl, ldexpl.
72046         * modules/printf-frexpl (Depends-on): Add math.
72047         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
72048
72049 2007-03-05  Bruno Haible  <bruno@clisp.org>
72050
72051         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
72052         frexpl and ldexpl are declared.
72053         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
72054
72055 2007-03-05  Bruno Haible  <bruno@clisp.org>
72056
72057         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
72058         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
72059
72060 2007-03-05  Bruno Haible  <bruno@clisp.org>
72061
72062         * lib/stdio_.h: Include <stddef.h>.
72063
72064 2007-03-05  Bruno Haible  <bruno@clisp.org>
72065
72066         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
72067
72068 2007-03-05  Bruno Haible  <bruno@clisp.org>
72069
72070         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
72071         NetBSD 4, from Ralf Wildenhues.
72072
72073 2007-03-04  Bruno Haible  <bruno@clisp.org>
72074
72075         * lib/vasprintf.h: Update #if logic for the case when the functions
72076         exist but are overridden.
72077
72078 2007-03-04  Bruno Haible  <bruno@clisp.org>
72079
72080         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
72081         implementations: glibc-2.4 and MacOS X 10.3.
72082         * tests/test-vasnprintf-posix.c (test_function): Test also the case
72083         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
72084         * tests/test-vasprintf-posix.c (test_function): Likewise.
72085
72086 2007-03-04  Bruno Haible  <bruno@clisp.org>
72087
72088         * modules/vasprintf-posix-tests: New file.
72089         * tests/test-vasprintf-posix.c: New file.
72090
72091         * modules/vasprintf-posix: New file.
72092         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
72093         defined.
72094         * m4/vasprintf-posix.m4: New file.
72095         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
72096         gl_FUNC_VASPRINTF.
72097         (gl_FUNC_VASPRINTF): Invoke it.
72098         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
72099         here.
72100         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
72101
72102 2007-03-04  Bruno Haible  <bruno@clisp.org>
72103
72104         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
72105         REPLACE_GETTIMEOFDAY.
72106         * modules/sys_time (Makefile.am): Likewise.
72107         * m4/sys_time_h.m4: Likewise.
72108         * m4/gettimeofday.m4: Likewise.
72109
72110 2007-03-04  Bruno Haible  <bruno@clisp.org>
72111
72112         * modules/vasnprintf-posix-tests: New file.
72113         * tests/test-vasnprintf-posix.c: New file.
72114
72115         * modules/vasnprintf-posix: New file.
72116         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
72117         printf-frexpl.h.
72118         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
72119         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
72120         REPLACE_VASNPRINTF is defined.
72121         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
72122         gl_FUNC_VASNPRINTF.
72123         (gl_FUNC_VASNPRINTF): Invoke it.
72124         * m4/vasnprintf-posix.m4: New file.
72125         * m4/printf.m4: New file.
72126
72127 2007-03-04  Bruno Haible  <bruno@clisp.org>
72128
72129         Compile progreloc.c only if --enable-relocatable is specified.
72130         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
72131         if --enable-relocatable was specified.
72132         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
72133         lib_SOURCES.
72134
72135 2007-03-04  Jim Meyering  <jim@meyering.net>
72136
72137         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
72138         Use it consistently, rather than enumerating errno constants.
72139
72140 2007-03-04  Bruno Haible  <bruno@clisp.org>
72141
72142         * modules/xvasprintf-tests: New file.
72143         * tests/test-xvasprintf.c: New file.
72144
72145         * modules/vasprintf-tests: New file.
72146         * tests/test-vasprintf.c: New file.
72147
72148         * modules/vasnprintf-tests: New file.
72149         * tests/test-vasnprintf.c: New file.
72150
72151         * modules/vsnprintf-tests: New file.
72152         * tests/test-vsnprintf.c: New file.
72153
72154         * modules/snprintf-tests: New file.
72155         * tests/test-snprintf.c: New file.
72156
72157 2007-03-04  Bruno Haible  <bruno@clisp.org>
72158
72159         Compile relocatable.c only if --enable-relocatable is specified.
72160         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
72161         gl_RELOCATABLE_LIBRARY.
72162         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
72163         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
72164         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
72165         gl_RELOCATABLE_LIBRARY.
72166         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
72167         (Makefile.am): Remove lib_SOURCES.
72168         * modules/relocatable-lib-lgpl (configure.ac): Invoke
72169         gl_RELOCATABLE_LIBRARY.
72170         (Makefile.am): Remove lib_SOURCES.
72171         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
72172         always.
72173         * modules/relocatable-prog-wrapper (configure.ac): Invoke
72174         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
72175
72176 2007-03-04  Bruno Haible  <bruno@clisp.org>
72177
72178         * modules/argmatch-tests: New file.
72179         * tests/test-argmatch.c: New file.
72180
72181         * tests/test-allocsa.c (main): Halve the number of loop runs.
72182
72183         * modules/alloca-opt-tests: New file.
72184         * tests/test-alloca-opt.c: New file.
72185
72186 2007-03-04  Jim Meyering  <jim@meyering.net>
72187
72188         Work around difference between Linux ACLs and Solaris 10 ZFS.
72189         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
72190         for EINVAL.
72191
72192 2007-03-03  Bruno Haible  <bruno@clisp.org>
72193
72194         * modules/relocatable-prog (Depends-on): Add back progreloc's
72195         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
72196
72197 2007-03-03  Bruno Haible  <bruno@clisp.org>
72198
72199         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
72200         * modules/relocatable-lib: New file.
72201
72202 2007-03-03  Bruno Haible  <bruno@clisp.org>
72203
72204         * modules/relocatable-prog: Renamed from modules/relocatable.
72205         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
72206
72207 2007-03-03  Bruno Haible  <bruno@clisp.org>
72208
72209         * modules/relocatable-script (Files): Add doc/relocatable.texi,
72210         m4/relocatable-lib.m4.
72211         (Depends-on): Remove 'relocatable'.
72212         (configure.ac): Add gl_RELOCATABLE_NOP.
72213
72214 2007-03-03  Bruno Haible  <bruno@clisp.org>
72215
72216         * modules/relocatable-prog-wrapper: New file.
72217         * modules/relocatable (Depends-on): Add it. Remove all other
72218         dependencies except progname.
72219         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
72220
72221         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
72222         (gl_FUNC_STRERROR): Nop.
72223         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
72224
72225         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
72226         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
72227
72228         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
72229         (gl_FUNC_READLINK): Update.
72230
72231         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
72232
72233 2007-03-03  Bruno Haible  <bruno@clisp.org>
72234
72235         * lib/xreadlink.c: Include <unistd.h> unconditionally.
72236         * modules/xreadlink (Depends-on): Add unistd.
72237         * modules/xreadlink-with-size (Depends-on): Likewise.
72238
72239 2007-03-03  Bruno Haible  <bruno@clisp.org>
72240
72241         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
72242         extracted from gt_FUNC_SETENV.
72243         (gt_FUNC_SETENV): Remove macro.
72244         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
72245         remove gt_FUNC_SETENV.
72246
72247 2007-03-03  Bruno Haible  <bruno@clisp.org>
72248
72249         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
72250         ENABLE_RELOCATABLE here.
72251         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
72252
72253 2007-03-03  Bruno Haible  <bruno@clisp.org>
72254
72255         * modules/rbtreehash-list-tests (Depends-on): Add progname.
72256         * tests/test-rbtreehash_list.c: Include progname.h.
72257         (main): Call set_program_name.
72258
72259         * modules/rbtree-oset-tests (Depends-on): Add progname.
72260         * tests/test-rbtree_oset.c: Include progname.h.
72261         (main): Call set_program_name.
72262
72263         * modules/rbtree-list-tests (Depends-on): Add progname.
72264         * tests/test-rbtree_list.c: Include progname.h.
72265         (main): Call set_program_name.
72266
72267         * modules/linked-list-tests (Depends-on): Add progname.
72268         * tests/test-linked_list.c: Include progname.h.
72269         (main): Call set_program_name.
72270
72271 2007-03-03  Bruno Haible  <bruno@clisp.org>
72272
72273         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
72274         All uses of __restrict changed to _Restrict_.
72275         * lib/glob_.h (__restrict): Remove macro.
72276
72277 2007-03-02  Bruno Haible  <bruno@clisp.org>
72278
72279         * modules/gettext (configure.ac): Require gettext infrastructure
72280         from version 0.16.1.
72281
72282 2007-03-02  Bruno Haible  <bruno@clisp.org>
72283
72284         * modules/linkedhash-list-tests (Depends-on): Add progname.
72285         * tests/test-linkedhash_list.c: Include progname.h.
72286         (main): Call set_program_name.
72287
72288         * modules/carray-list-tests (Depends-on): Add progname.
72289         * tests/test-carray_list.c: Include progname.h.
72290         (main): Call set_program_name.
72291
72292         * modules/avltreehash-list-tests (Depends-on): Add progname.
72293         * tests/test-avltreehash_list.c: Include progname.h.
72294         (main): Call set_program_name.
72295
72296         * modules/avltree-oset-tests (Depends-on): Add progname.
72297         * tests/test-avltree_oset.c: Include progname.h.
72298         (main): Call set_program_name.
72299
72300         * modules/avltree-list-tests (Depends-on): Add progname.
72301         * tests/test-avltree_list.c: Include progname.h.
72302         (main): Call set_program_name.
72303
72304         * modules/array-oset-tests (Depends-on): Add progname.
72305         * tests/test-array_oset.c: Include progname.h.
72306         (main): Call set_program_name.
72307
72308         * modules/array-list-tests (Depends-on): Add progname.
72309         * tests/test-array_list.c: Include progname.h.
72310         (main): Call set_program_name.
72311
72312         * modules/argp-tests (Depends-on): Add progname.
72313         * tests/test-argp.c: Include argp.h first. Include progname.h.
72314         (main): Call set_program_name.
72315
72316 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
72317
72318         * doc/gnulib-tool.texi (Initial import): Reword description of
72319         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
72320         limited effect even if defined after the first system include.
72321
72322 2007-03-01  Bruno Haible  <bruno@clisp.org>
72323
72324         * build-aux/config.libpath: Update to libtool-1.5.22.
72325         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72326
72327 2007-03-01  Bruno Haible  <bruno@clisp.org>
72328
72329         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
72330         foo_CFLAGS.
72331         Reported by Ralf Wildenhues.
72332
72333 2007-03-01  Bruno Haible  <bruno@clisp.org>
72334
72335         * build-aux/install-reloc: Remove object files left over by some
72336         compilers.
72337         Reported by Ralf Wildenhues.
72338
72339 2007-03-01  Bruno Haible  <bruno@clisp.org>
72340
72341         * build-aux/install-reloc: Break long lines.
72342
72343 2007-03-01  Bruno Haible  <bruno@clisp.org>
72344
72345         * doc/relocatable.texi: Document that it may not work on OpenBSD.
72346         Reported by Ralf Wildenhues.
72347
72348 2007-03-01  Bruno Haible  <bruno@clisp.org>
72349
72350         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
72351         include ordering constraints.
72352
72353 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72354
72355         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
72356         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
72357         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
72358         as another example.
72359         * lib/time_.h: Fix misspelling.
72360         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72361         Require gl_HEADER_TIME_H_DEFAULTS.
72362         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
72363         * m4/time_r.m4 (gl_TIME_R): Likewise.
72364         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
72365
72366 2007-03-01  Bruno Haible  <bruno@clisp.org>
72367
72368         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
72369         * m4/utimens.m4 (gl_UTIMENS): Likewise.
72370
72371 2007-03-01  Jim Meyering  <jim@meyering.net>
72372
72373         * modules/xreadlink (Maintainer): Add my name.
72374         * modules/xreadlink-with-size (Depends-on): Alphabetize.
72375
72376 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
72377             Bruno Haible  <bruno@clisp.org>
72378
72379         * build-aux/install-reloc: Compile also c-ctype.c.
72380         * build-aux/relocatable.sh.in: New file.
72381         * doc/relocatable.texi: New file.
72382         * doc/relocatable-maint.texi: New file.
72383         * doc/gnulib.texi: Include relocatable-maint.texi.
72384         * lib/progreloc.c: Include unistd.h unconditionally.
72385         * lib/relocwrapper.c: Include unistd.h unconditionally.
72386         Include c-ctype.h.
72387         (add_dotbin): Use c_tolower.
72388         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
72389         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
72390         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
72391         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
72392         to m4/relocatable-lib.m4.
72393         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
72394         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
72395         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
72396         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
72397         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
72398         * modules/relocatable: New file.
72399         * modules/relocatable-lib: New file.
72400         * modules/relocatable-script: New file.
72401
72402 2007-02-28  Bruno Haible  <bruno@clisp.org>
72403
72404         Import --enable-relocatable infrastructure.
72405         * build-aux/config.libpath: New file, from GNU gettext.
72406         * build-aux/install-reloc: New file, from GNU gettext.
72407         * build-aux/reloc-ldflags: New file, from GNU gettext.
72408         * lib/relocatable.h: New file, from GNU gettext.
72409         * lib/relocatable.c: New file, from GNU gettext.
72410         * lib/relocwrapper.c: New file, from GNU gettext.
72411         * m4/relocatable.m4: New file, from GNU gettext.
72412
72413 2007-02-28  Bruno Haible  <bruno@clisp.org>
72414
72415         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
72416
72417         * modules/xreadlink: New file, from GNU gettext with modifications.
72418         * lib/xreadlink.c: New file, from GNU gettext.
72419         * lib/xreadlink.h: Add comments.
72420         (xreadlink): New declaration.
72421
72422         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
72423         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
72424         lib/xreadlink-with-size.c.
72425         (configure.ac): Remove gl_XREADLINK invocation.
72426         (Makefile.am): Augment lib_SOURCES.
72427         * m4/xreadlink.m4: Remove file.
72428         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
72429         (xreadlink_with_size): Renamed from xreadink.
72430         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
72431         * modules/canonicalize (Depends-on): Replace xreadlink with
72432         xreadlink-with-size.
72433         * lib/canonicalize.c (canonicalize_filename_mode): Update.
72434
72435 2007-02-25  Jim Meyering  <jim@meyering.net>
72436
72437         * build-aux/announce-gen: When complaining about excess arguments,
72438         list them.
72439
72440 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72441
72442         * README: Document signed integer overflow situation more
72443         accurately.
72444
72445 2007-02-25  Bruno Haible  <bruno@clisp.org>
72446
72447         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
72448         'a' or 'A' conversion.
72449
72450 2007-02-25  Bruno Haible  <bruno@clisp.org>
72451
72452         * modules/filename: Renamed from modules/pathname.
72453         (Files): Replace lib/pathname.h with lib/filename.h. Replace
72454         lib/concatpath.c with lib/concat-filename.c.
72455         (Makefile.am): Update.
72456         (Include): Replace pathname.h with filename.h.
72457         * lib/filename.h: Renamed from lib/pathname.h.
72458         (concatenated_filename): Renamed from concatenated_pathname.
72459         * lib/concat-filename.c: Renamed from lib/concatpath.c.
72460         (concatenated_filename): Renamed from concatenated_pathname.
72461         * lib/findprog.c: Include filename.h instead of pathname.h.
72462         (find_in_path): Update.
72463         * lib/javacomp.c: Include filename.h instead of pathname.h.
72464         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
72465         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
72466         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
72467         is_oldgcj_14_13_usable, is_javac_usable): Update.
72468         * lib/javaexec.c: Include filename.h instead of pathname.h.
72469         (execute_java_class): Update.
72470         * modules/findprog: Update.
72471         * modules/javacomp: Update.
72472         * modules/javaexec: Update.
72473         * MODULES.html.sh (File system functions): Add 'filename', remove
72474         'pathname'.
72475
72476 2007-02-25  Bruno Haible  <bruno@clisp.org>
72477
72478         * modules/printf-frexpl-tests: New file.
72479         * tests/test-printf-frexpl.c: New file.
72480
72481         * modules/printf-frexpl: New file.
72482         * lib/printf-frexpl.h: New file.
72483         * lib/printf-frexpl.c: New file.
72484         * m4/printf-frexpl.m4: New file.
72485
72486 2007-02-25  Bruno Haible  <bruno@clisp.org>
72487
72488         * modules/printf-frexp-tests: New file.
72489         * tests/test-printf-frexp.c: New file.
72490
72491         * modules/printf-frexp: New file.
72492         * lib/printf-frexp.h: New file.
72493         * lib/printf-frexp.c: New file.
72494         * m4/printf-frexp.m4: New file.
72495
72496 2007-02-25  Bruno Haible  <bruno@clisp.org>
72497
72498         Assume automake >= 1.10 for the tests.
72499         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
72500         * modules/arctwo-tests: Likewise.
72501         * modules/argp-tests: Likewise.
72502         * modules/avltree-list-tests: Likewise.
72503         * modules/avltree-oset-tests: Likewise.
72504         * modules/avltreehash-list-tests: Likewise.
72505         * modules/carray-list-tests: Likewise.
72506         * modules/crc-tests: Likewise.
72507         * modules/des-tests: Likewise.
72508         * modules/gc-arcfour-tests: Likewise.
72509         * modules/gc-arctwo-tests: Likewise.
72510         * modules/gc-des-tests: Likewise.
72511         * modules/gc-hmac-md5-tests: Likewise.
72512         * modules/gc-hmac-sha1-tests: Likewise.
72513         * modules/gc-md2-tests: Likewise.
72514         * modules/gc-md4-tests: Likewise.
72515         * modules/gc-md5-tests: Likewise.
72516         * modules/gc-pbkdf2-sha1-tests: Likewise.
72517         * modules/gc-rijndael-tests: Likewise.
72518         * modules/gc-sha1-tests: Likewise.
72519         * modules/gc-tests: Likewise.
72520         * modules/getaddrinfo-tests: Likewise.
72521         * modules/hmac-md5-tests: Likewise.
72522         * modules/hmac-sha1-tests: Likewise.
72523         * modules/linked-list-tests: Likewise.
72524         * modules/linkedhash-list-tests: Likewise.
72525         * modules/lock-tests: Likewise.
72526         * modules/md2-tests: Likewise.
72527         * modules/md4-tests: Likewise.
72528         * modules/md5-tests: Likewise.
72529         * modules/rbtree-list-tests: Likewise.
72530         * modules/rbtree-oset-tests: Likewise.
72531         * modules/rbtreehash-list-tests: Likewise.
72532         * modules/read-file-tests: Likewise.
72533         * modules/rijndael-tests: Likewise.
72534         * modules/stdint-tests: Likewise.
72535         * modules/tls-tests: Likewise.
72536
72537 2007-02-24  Bruno Haible  <bruno@clisp.org>
72538
72539         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
72540         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
72541         function; instead check whether isnan with a double argument links.
72542         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
72543         function; instead check whether isnan with a 'long double' argument
72544         links.
72545         Reported by Eric Blake <ebb9@byu.net>.
72546
72547 2007-02-24  Bruno Haible  <bruno@clisp.org>
72548
72549         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
72550         defined.
72551         * lib/isnanl.c: Remove all code. Just include isnan.c.
72552         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
72553
72554 2007-02-25  Jim Meyering  <jim@meyering.net>
72555
72556         Avoid conflicting types for 'unsetenv' on FreeBSD.
72557         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
72558         conflicting with FreeBSD's (5.0 and 6.1) function declaration
72559         in stdlib.h.
72560
72561 2007-02-24  Bruno Haible  <bruno@clisp.org>
72562
72563         * modules/isnanl-nolibm-tests: New file.
72564         * tests/test-isnanl.c: New file.
72565
72566         * modules/isnanl-nolibm: New file.
72567         * lib/isnanl.h: New file.
72568         * lib/isnanl.c: New file.
72569         * m4/isnanl.m4: New file.
72570
72571 2007-02-24  Bruno Haible  <bruno@clisp.org>
72572
72573         * modules/isnan-nolibm-tests: New file.
72574         * tests/test-isnan.c: New file.
72575
72576         * modules/isnan-nolibm: New file.
72577         * lib/isnan.h: New file.
72578         * lib/isnan.c: New file.
72579         * m4/isnan.m4: New file.
72580
72581 2007-02-24  Bruno Haible  <bruno@clisp.org>
72582
72583         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
72584         assume that an exponent fits in 20 bits.
72585
72586 2007-02-24  Jim Meyering  <jim@meyering.net>
72587
72588         * m4/regex.m4: Update the description of the configure-time option,
72589         --without-included-regex, to state accurately what the defaults are,
72590         and perhaps to give people an idea why using this option is risky.
72591
72592 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72593
72594         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
72595         loops on small arguments.  This attempts to avoid the problem
72596         Bruno Haible reported for AIX 4.3.2 in
72597         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
72598
72599 2007-02-23  Bruno Haible  <bruno@clisp.org>
72600
72601         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
72602         Needed for help2man.
72603
72604 2007-02-23  Karl Berry  <karl@gnu.org>
72605
72606         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
72607         exists, foo.h should be cvs-ignored, not committed.
72608
72609 2007-02-23  Eric Blake  <ebb9@byu.net>
72610
72611         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
72612         * lib/stat-time.h (includes): Likewise.
72613         * lib/utimecmp.c (includes): Likewise.
72614         * lib/utimens.h (includes): Likewise.
72615         * lib/getdate.y (includes): Also include "timespec.h" for use
72616         internal to the module.
72617         * modules/utimens (Depends-on): Revert yesterday's patch.
72618         * modules/nanosleep (Depends-on): Add missing dependency.
72619
72620 2007-02-22  Bruno Haible  <bruno@clisp.org>
72621
72622         * lib/glob.c: Don't include getlogin_r.h.
72623
72624 2007-02-22  Jim Meyering  <jim@meyering.net>
72625
72626         * modules/utimens (Depends-on): Add timespec, required for
72627         utimens.h's inclusion of timespec.h.
72628
72629 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
72630
72631         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
72632         long unreadable paths in GNU/Linux.  Problem reported by Andreas
72633         Schwab in
72634         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
72635         I'll try to think of a better way to fix the Solaris problem.
72636
72637         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
72638         like glibc; on Solaris 10, it fails with errno == EINVAL.
72639         POSIX says the behavior is unspecified if the first argument is NULL,
72640         so play it safe and never pass NULL to the system getcwd.
72641
72642 2007-02-21  Jim Meyering  <jim@meyering.net>
72643
72644         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
72645         of gettimeofday.  It would conflict with the one now always
72646         provided via sys_time_.h.  Reported by Matthew Woehlke, as
72647         an IRIX 6.5 build failure.
72648
72649 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72650
72651         Minor fixups to port to Solaris 10 with Sun C 5.8.
72652         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
72653         * modules/getcwd (Depends-on): Add dirfd.
72654         * lib/putenv.c (putenv): #undef it.
72655         (rpl_putenv): New decl.
72656         (malloc, free): Include <stdlib.h> rather than prototyping separately.
72657
72658 2007-02-20  Bruno Haible  <bruno@clisp.org>
72659
72660         * modules/stdio-tests: New file.
72661         * tests/test-stdio.c: New file.
72662
72663         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
72664         (Depends-on): Add stdio.
72665         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72666         (Include): Use <stdio.h> instead of vsnprintf.h.
72667         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72668         HAVE_DECL_VSNPRINTF.
72669         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
72670
72671         * modules/snprintf (Files): Remove lib/snprintf.h.
72672         (Depends-on): Add stdio.
72673         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72674         (Include): Use <stdio.h> instead of snprintf.h.
72675         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72676         HAVE_DECL_SNPRINTF.
72677         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
72678         * lib/getaddrinfo.c: Likewise.
72679
72680         * modules/stdio: New file.
72681         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
72682         * lib/snprintf.h: Remove file.
72683         * lib/vsnprintf.h: Remove file.
72684         * lib/.cppi-disable: Remove snprintf.h.
72685         * m4/stdio_h.m4: New file.
72686         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
72687
72688 2007-02-20  Jim Meyering  <jim@meyering.net>
72689
72690         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
72691         used by e.g., mingw.  From Bruno Haible.
72692
72693 2007-02-19  Bruno Haible  <bruno@clisp.org>
72694
72695         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
72696         warnings.
72697         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72698
72699 2007-02-19  Bruno Haible  <bruno@clisp.org>
72700
72701         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
72702         from mingw users.
72703
72704 2007-02-19  Bruno Haible  <bruno@clisp.org>
72705
72706         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
72707         warnings.
72708         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
72709
72710 2007-02-19  Jim Meyering  <jim@meyering.net>
72711
72712         Don't use FD after a successful "fdopendir (fd)".
72713         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
72714         Reset it by calling dirfd on the just-obtained DIR*.
72715
72716         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
72717         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
72718
72719 2007-02-18  Bruno Haible  <bruno@clisp.org>
72720
72721         * lib/readlink.c: Include <unistd.h>.
72722         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
72723         HAVE_READLINK.
72724         * modules/readlink (Depends-on): Add unistd.
72725         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72726         (Include): Add <unistd.h>.
72727
72728         * lib/getlogin_r.h: Remove file.
72729         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
72730         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
72731         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
72732         HAVE_DECL_GETLOGIN_R.
72733         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
72734         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72735         (Include): Use <unistd.h> instead of getlogin_r.h.
72736
72737         * lib/getcwd.h: Remove file.
72738         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
72739         * lib/xgetcwd.c: Likewise.
72740         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
72741         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
72742         * modules/getcwd (Files): Remove lib/getcwd.h.
72743         (Depends-on): Add unistd.
72744         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72745         (Include): Use <unistd.h> instad of getcwd.h.
72746
72747         * lib/ftruncate.c: Include <unistd.h> first.
72748         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
72749         Set HAVE_FTRUNCATE.
72750         * modules/ftruncate (Depends-on): Add unistd.
72751         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72752
72753         * lib/fchdir.c: Include <unistd.h> first.
72754         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
72755         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
72756         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
72757         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72758         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
72759
72760         * lib/dup2.c: Include <unistd.h> first.
72761         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
72762         HAVE_DUP2.
72763         * modules/dup2 (Depends-on): Add unistd.
72764         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72765
72766         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
72767         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
72768         REPLACE_CHOWN. Don't define chown as a macro here.
72769         * modules/chown (Depends-on): Add unistd.
72770         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72771
72772         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
72773         Add definition for GL_LINK_WARNING.
72774         (chown, dup2): New declarations.
72775         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
72776         link warning.
72777         (ftruncate): New declaration.
72778         (getcwd): New declaration, taken from old getcwd.h.
72779         (getlogin_r): New declaration, taken from old getlogin_r.h.
72780         (readlink): New declaration.
72781         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
72782         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
72783         (gl_PREREQ_UNISTD): Remove macro.
72784         (gl_UNISTD_MODULE_INDICATOR): New macro.
72785         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
72786         many new variables. Don't set UNISTD_H.
72787         * modules/unistd (Description): Change.
72788         (Depends-on): Add link-warning.
72789         (configure.ac): Update.
72790         (Makefile.am): Create unistd.h always. Substitute many new variables
72791         into it.
72792
72793 2007-02-18  Bruno Haible  <bruno@clisp.org>
72794
72795         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
72796         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
72797         HAVE_GETSUBOPT.
72798         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
72799         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
72800         * lib/getsubopt.h: Remove file.
72801         * modules/getsubopt (Files): Remove lib/getsubopt.h.
72802         (Depends-on): Add stdlib.
72803         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72804         (Includes): Use <stdlib.h> instead of getsubopt.h.
72805         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
72806         Set HAVE_GETSUBOPT.
72807         * lib/getsubopt.c: Don't include getsubopt.h.
72808
72809 2007-02-18  Bruno Haible  <bruno@clisp.org>
72810
72811         * modules/fchdir (Depends-on): Add dup2.
72812
72813 2007-02-18  Bruno Haible  <bruno@clisp.org>
72814
72815         * lib/stdlib_.h: Handle glibc's special invocation convention
72816         specially.
72817
72818 2007-02-18  Bruno Haible  <bruno@clisp.org>
72819
72820         * modules/stdlib-tests: New file.
72821         * tests/test-stdlib.c: New file.
72822
72823         * modules/mkstemp (Files): Remove lib/mkstemp.h.
72824         (Depends-on): Add stdlib.
72825         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72826         (Includes): Use <stdlib.h> instead of mkstemp.h.
72827         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72828         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
72829         * lib/mkstemp.c: Don't include mkstemp.h.
72830         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
72831         * lib/stdlib--.h: Don't include mkstemp.h.
72832
72833         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
72834         (Depends-on): Add stdlib.
72835         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72836         (Includes): Use <stdlib.h> instead of mkdtemp.h.
72837         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72838         HAVE_MKDTEMP.
72839         * lib/mkdtemp.c: Don't include mkdtemp.h.
72840         * lib/clean-temp.c: Don't include mkdtemp.h.
72841
72842         * modules/exit (Files): Remove lib/exit.h.
72843         (Depends-on): Add stdlib.
72844         (Makefile.am): Remove lib_SOURCES.
72845         (Include): Use <stdlib.h> instead of exit.h.
72846         * lib/argmatch.c: Don't include exit.h.
72847         * lib/execute.c: Likewise.
72848         * lib/pagealign_alloc.c: Likewise.
72849         * lib/pipe.c: Likewise.
72850         * lib/wait-process.c: Likewise.
72851         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
72852         * lib/exitfail.c: Likewise.
72853         * lib/savewd.c: Likewise.
72854         * lib/xsetenv.c: Likewise.
72855
72856         * modules/stdlib: New file.
72857         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
72858         and extra comments about mkstemp().
72859         * lib/exit.h: Remove file.
72860         * lib/mkdtemp.h: Remove file.
72861         * lib/mkstemp.h: Remove file.
72862         * m4/stdlib_h.m4: New file.
72863         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
72864
72865 2007-02-18  Bruno Haible  <bruno@clisp.org>
72866
72867         * modules/math-tests: New file.
72868         * tests/test-math.c: New file.
72869
72870         * modules/math: New file.
72871         * modules/mathl (Files): Remove lib/mathl.h.
72872         (Depends-on): Add math.
72873         (Makefile.am): Don't mention mathl.h.
72874         (Include): Use <math.h> instead of mathl.h.
72875         * lib/math_.h: New file.
72876         * lib/mathl.h: Remove file.
72877         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
72878         mathl.h.
72879         * lib/asinl.c: Likewise.
72880         * lib/atanl.c: Likewise.
72881         * lib/ceill.c: Likewise.
72882         * lib/cosl.c: Likewise.
72883         * lib/expl.c: Likewise.
72884         * lib/floorl.c: Likewise.
72885         * lib/frexpl.c: Likewise.
72886         * lib/ldexpl.c: Likewise.
72887         * lib/logl.c: Likewise.
72888         * lib/sincosl.c: Likewise.
72889         * lib/sinl.c: Likewise.
72890         * lib/sqrtl.c: Likewise.
72891         * lib/tanl.c: Likewise.
72892         * lib/trigl.c: Likewise.
72893         * m4/math_h.m4: New file.
72894         * MODULES.html.sh (Mathematics): Add math.
72895
72896 2007-02-17  Bruno Haible  <bruno@clisp.org>
72897
72898         * modules/wctype-tests: New file.
72899         * tests/test-wctype.c: New file.
72900
72901         * modules/wchar-tests: New file.
72902         * tests/test-wchar.c: New file.
72903
72904         * modules/unistd-tests: New file.
72905         * tests/test-unistd.c: New file.
72906
72907         * modules/time-tests: New file.
72908         * tests/test-time.c: New file.
72909
72910         * modules/sysexits-tests: New file.
72911         * tests/test-sysexits.c: New file.
72912
72913         * modules/sys_time-tests: New file.
72914         * tests/test-sys_time.c: New file.
72915
72916         * modules/sys_stat-tests: New file.
72917         * tests/test-sys_stat.c: New file.
72918
72919         * modules/sys_socket-tests: New file.
72920         * tests/test-sys_socket.c: New file.
72921
72922         * modules/sys_select-tests: New file.
72923         * tests/test-sys_select.c: New file.
72924
72925         * modules/string-tests: New file.
72926         * tests/test-string.c: New file.
72927
72928         * modules/stdbool-tests: New file.
72929         * tests/test-stdbool.c: New file.
72930
72931         * modules/netinet_in-tests: New file.
72932         * tests/test-netinet_in.c: New file.
72933
72934         * modules/inttypes-tests: New file.
72935         * tests/test-inttypes.c: New file.
72936
72937         * modules/fcntl-tests: New file.
72938         * tests/test-fcntl.c: New file.
72939
72940         * modules/byteswap-tests: New file.
72941         * tests/test-byteswap.c: New file.
72942
72943         * modules/arpa_inet-tests: New file.
72944         * tests/test-arpa_inet.c: New file.
72945
72946 2007-02-17  Bruno Haible  <bruno@clisp.org>
72947
72948         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
72949         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
72950         if the corresponding module is not enabled. Emit link warnings if
72951         the function is used nevertheless.
72952         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
72953         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
72954         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
72955         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
72956         * modules/inttypes (Depends-on): Add link-warning.
72957         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72958         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
72959         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
72960         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
72961         * modules/imaxdiv (configure.ac): Likewise.
72962         * modules/strtoimax (configure.ac): Likewise.
72963         * modules/strtoumax (configure.ac): Likewise.
72964
72965 2007-02-17  Bruno Haible  <bruno@clisp.org>
72966
72967         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
72968         gl_STRING_MODULE_INDICATOR_DEFAULTS.
72969         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
72970         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
72971
72972 2007-02-17  Bruno Haible  <bruno@clisp.org>
72973
72974         * modules/link-warning: New file.
72975         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
72976         * lib/string_.h (GL_LINK_WARNING): Remove definition.
72977         * modules/string (Depends-on): Add link-warning.
72978         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72979         string.h.
72980         * MODULES.html.sh (Support for building libraries and executables): Add
72981         link-warning.
72982
72983 2007-02-17  Bruno Haible  <bruno@clisp.org>
72984
72985         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
72986         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
72987         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
72988         long lines.
72989
72990 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
72991             Bruno Haible  <bruno@clisp.org>
72992
72993         * modules/tmpfile: New file.
72994         * lib/tmpfile.c: New file.
72995         * m4/tmpfile.m4: New file.
72996         * MODULES.html.sh (func_all_modules): New section "Input/output".
72997
72998 2007-02-15  Bruno Haible  <bruno@clisp.org>
72999
73000         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
73001         (supports_delete_on_close): New function.
73002         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
73003
73004 2007-02-14  Bruno Haible  <bruno@clisp.org>
73005
73006         * modules/mbspcasecmp-tests: New file.
73007         * tests/test-mbspcasecmp.sh: New file.
73008         * tests/test-mbspcasecmp.c: New file.
73009
73010         New module mbspcasecmp.
73011         * modules/mbspcasecmp: New file.
73012         * lib/mbspcasecmp.c: New file.
73013         * lib/string_.h (strncasecmp): Change warning message.
73014         (mbspcasecmp): New declaration.
73015         * m4/mbspcasecmp.m4: New file.
73016         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73017         GNULIB_MBSPCASECMP.
73018         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
73019         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
73020
73021 2007-02-14  Bruno Haible  <bruno@clisp.org>
73022
73023         * modules/mbsncasecmp-tests: New file.
73024         * tests/test-mbsncasecmp.sh: New file.
73025         * tests/test-mbsncasecmp.c: New file.
73026
73027         New module mbsncasecmp.
73028         * modules/mbsncasecmp: New file.
73029         * lib/mbsncasecmp.c: New file.
73030         * lib/string_.h (mbsncasecmp): New declaration.
73031         * m4/mbsncasecmp.m4: New file.
73032         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73033         GNULIB_MBSNCASECMP.
73034         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
73035         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
73036
73037 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
73038
73039         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
73040         Verify that it doesn't overlap with our flags.
73041         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
73042         do not have the desired effect in multibyte locales; instead, use
73043         mbscasecmp.
73044         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
73045         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
73046         we don't require GNU fnmatch ourselves (if our users require it, they
73047         should do so explicitly).
73048
73049         Fix regex code so it doesn't rely on strcasecmp.
73050         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
73051         Otherwise, include gnulib's langinfo.h.
73052         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
73053         undesirable behavior in non-C locales.  Instead, rely on localecharset.
73054         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
73055         * modules/regex (FILES): Remove m4/codeset.m4.
73056         (Depends-on): Add localcharset.  Remove strcase.
73057
73058 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73059
73060         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
73061         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
73062
73063 2007-02-13  Bruno Haible  <bruno@clisp.org>
73064
73065         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
73066         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73067
73068 2007-02-12  Bruno Haible  <bruno@clisp.org>
73069
73070         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73071         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
73072         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
73073         time warning rather than a link error.
73074
73075 2007-02-12  Bruno Haible  <bruno@clisp.org>
73076
73077         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
73078         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
73079         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73080
73081 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73082
73083         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
73084         args, not 2.
73085
73086 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73087
73088         New module 'time', so that apps can include <time.h> as per
73089         POSIX and GNU instead of separate include files like time_r.h
73090         and timegm.h.  This implementation tries out a simpler approach
73091         for replacing decls in standard include files (as compared to
73092         the string module), somewhat as an experiment.
73093
73094         * config/srclist.txt: Comment out mktime.c for now.
73095         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
73096         since it doesn't apply any more.  Use generic wording instead.
73097         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
73098         'time'.
73099         * lib/time_.h, m4/time_h.m4, modules/time: New files.
73100         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
73101         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
73102         Don't include <sys/types.h>; no longer needed since we assume C89.
73103         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
73104         * lib/strftime.c: Likewise.
73105         * lib/time_r.c: Likewise.
73106         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
73107         * lib/nanosleep.c: Include <time.h> first, to check interface.
73108         * lib/strptime.c: Likewise.
73109         * lib/time_r.c: Likewise.
73110         * lib/timegm.c: Likewise.
73111         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
73112         needed.
73113         * lib/timegm.c: Don't include timegm.h; no longer needed.
73114         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
73115         time.h now handles any problems in that area.
73116         (struct timespec, nanosleep): Remove; time.h now arranges for these.
73117         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
73118         that time.h defines struct timespec.
73119         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
73120         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
73121         handles that.
73122         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
73123         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
73124         needed.  Set REPLACE_LOCALTIME.
73125         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
73126         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
73127         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
73128         nanosleep; time_h.m4 now does that.  Don't require
73129         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
73130         module handles this now.
73131         * modules/getdate (Depends-on): Remove timespec.  Add time.
73132         * modules/nanosleep (Depends-on): Likewise.
73133         * modules/stat-time (Depends-on): Likewise.
73134         * modules/nanosleep (Include): Include time.h, not timespec.h.
73135         * modules/strptime (Files): Remove lib/strptime.h.
73136         (Depends-on): Add extensions, time.
73137         (Include): Include time.h, not strptime.h.
73138         * modules/time_r (Files): Remove lib/time_r.h.
73139         (Depends-on): Add time.
73140         (Include): Include time.h, not time_r.h.
73141         * modules/timegm: Likewise.
73142         * modules/timespec (Description): Now does timespec-related decls
73143         of our own, instead of struct timespec itself.
73144         (Depends-on): Add time; remove extensions.
73145         (Maintainer): Add self.
73146         * modules/utimecmp (Depends-on): Add time; remove timespec.
73147         * modules/utimens (Depends-on): Likewise.
73148         * modules/xnanosleep (Depends-on): Likewise.
73149
73150 2007-02-11  Bruno Haible  <bruno@clisp.org>
73151
73152         * lib/c-strstr.c: Include allocsa.h.
73153         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73154         * lib/c-strcasestr.c: Include allocsa.h.
73155         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73156         * lib/strcasestr.c: Include allocsa.h.
73157         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73158         * lib/mbsstr.c: Include allocsa.h.
73159         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73160         allocsa/freesa instead of malloc/free.
73161         * lib/mbscasestr.c: Include allocsa.h.
73162         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73163         allocsa/freesa instead of malloc/free.
73164         * modules/c-strstr (Depends-on): Add allocsa.
73165         * modules/c-strcasestr (Depends-on): Likewise.
73166         * modules/strcasestr (Depends-on): Likewise.
73167         * modules/mbsstr (Depends-on): Likewise.
73168         * modules/mbscasestr (Depends-on): Likewise.
73169
73170 2007-02-11  Bruno Haible  <bruno@clisp.org>
73171
73172         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
73173
73174         * modules/mbsspn-tests: New file.
73175         * tests/test-mbsspn.sh: New file.
73176         * tests/test-mbsspn.c: New file.
73177
73178 2007-02-11  Bruno Haible  <bruno@clisp.org>
73179
73180         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
73181
73182         * modules/mbspbrk-tests: New file.
73183         * tests/test-mbspbrk.sh: New file.
73184         * tests/test-mbspbrk.c: New file.
73185
73186 2007-02-11  Bruno Haible  <bruno@clisp.org>
73187
73188         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
73189         unneeded cast.
73190
73191         * modules/mbscspn-tests: New file.
73192         * tests/test-mbscspn.sh: New file.
73193         * tests/test-mbscspn.c: New file.
73194
73195 2007-02-11  Bruno Haible  <bruno@clisp.org>
73196
73197         * modules/mbscasecmp-tests: New file.
73198         * tests/test-mbscasecmp.sh: New file.
73199         * tests/test-mbscasecmp.c: New file.
73200
73201 2007-02-11  Bruno Haible  <bruno@clisp.org>
73202
73203         Ensure O(n) worst-case complexity of mbscasestr.
73204         * lib/mbscasestr.c: Include stdbool.h.
73205         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73206         functions.
73207         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
73208         the bookkeeping indicates that it's worth it.
73209         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
73210
73211         * modules/mbscasestr-tests: New file.
73212         * tests/test-mbscasestr1.c: New file.
73213         * tests/test-mbscasestr2.sh: New file.
73214         * tests/test-mbscasestr2.c: New file.
73215         * tests/test-mbscasestr3.sh: New file.
73216         * tests/test-mbscasestr3.c: New file.
73217         * tests/test-mbscasestr4.sh: New file.
73218         * tests/test-mbscasestr4.c: New file.
73219         * m4/locale-tr.m4: New file.
73220
73221 2007-02-11  Bruno Haible  <bruno@clisp.org>
73222
73223         Ensure O(n) worst-case complexity of mbsstr.
73224         * lib/mbsstr.c: Include stdbool.h.
73225         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73226         functions.
73227         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
73228         bookkeeping indicates that it's worth it.
73229         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
73230
73231         * modules/mbsstr-tests: New file.
73232         * tests/test-mbsstr1.c: New file.
73233         * tests/test-mbsstr2.sh: New file.
73234         * tests/test-mbsstr2.c: New file.
73235         * tests/test-mbsstr3.sh: New file.
73236         * tests/test-mbsstr3.c: New file.
73237         * m4/locale-fr.m4: New file.
73238
73239 2007-02-11  Bruno Haible  <bruno@clisp.org>
73240
73241         * lib/mbsrchr.c (mbsrchr): Fix bug.
73242
73243         * modules/mbsrchr-tests: New file.
73244         * tests/test-mbsrchr.sh: New file.
73245         * tests/test-mbsrchr.c: New file.
73246
73247 2007-02-11  Bruno Haible  <bruno@clisp.org>
73248
73249         * lib/mbschr.c (mbschr): Fix bug.
73250
73251         * modules/mbschr-tests: New file.
73252         * tests/test-mbschr.sh: New file.
73253         * tests/test-mbschr.c: New file.
73254         * m4/locale-zh.m4: New file.
73255
73256 2007-02-11  Bruno Haible  <bruno@clisp.org>
73257
73258         Support for copying multibyte string iterators.
73259         * lib/mbiter.h: Include <string.h>.
73260         (mbiter_multi_copy): New function.
73261         (mbi_copy): New macro.
73262         * lib/mbuiter.h: Include <string.h>.
73263         (mbuiter_multi_copy): New function.
73264         (mbui_copy): New macro.
73265
73266 2007-02-11  Bruno Haible  <bruno@clisp.org>
73267
73268         New module mbslen.
73269         * modules/mbslen: New file.
73270         * lib/mbslen.c: New file.
73271         * lib/string_.h (mbslen): New declaration.
73272         * m4/mbslen.m4: New file.
73273         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73274         GNULIB_MBSLEN.
73275         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
73276         * MODULES.html.sh (Internationalization functions): Add mbslen.
73277
73278 2007-02-11  Bruno Haible  <bruno@clisp.org>
73279
73280         Ensure O(n) worst-case complexity of strcasestr substitute.
73281         * lib/strcasestr.c: Include stdbool.h.
73282         (knuth_morris_pratt): New function.
73283         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73284         bookkeeping indicates that it's worth it.
73285         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
73286
73287         * modules/strcasestr-tests: New file.
73288         * tests/test-strcasestr.c: New file.
73289
73290 2007-02-11  Bruno Haible  <bruno@clisp.org>
73291
73292         Ensure O(n) worst-case complexity of c_strcasestr.
73293         * lib/c-strcasestr.c: Include stdbool.h, string.h.
73294         (knuth_morris_pratt): New function.
73295         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
73296         the bookkeeping indicates that it's worth it.
73297         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
73298
73299         * modules/c-strcasestr-tests: New file.
73300         * tests/test-c-strcasestr.c: New file.
73301
73302 2007-02-11  Bruno Haible  <bruno@clisp.org>
73303
73304         Ensure O(n) worst-case complexity of c_strstr.
73305         * lib/c-strstr.c: Include stdbool.h, string.h.
73306         (knuth_morris_pratt): New function.
73307         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73308         bookkeeping indicates that it's worth it.
73309         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
73310
73311         * lib/c-strstr.c: Complete rewrite for maintainability.
73312
73313         * modules/c-strstr-tests: New file.
73314         * tests/test-c-strstr.c: New file.
73315
73316 2007-02-11  Bruno Haible  <bruno@clisp.org>
73317
73318         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
73319         5.2.1 and earlier, whereby \055 was treated just like the range
73320         delimiter '-'.
73321         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
73322
73323 2007-02-08  Bruno Haible  <bruno@clisp.org>
73324
73325         * modules/regex (Depends-on): Add stdbool.
73326         Reported by Dalibor Topic <robilad@kaffe.org>.
73327
73328 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73329
73330         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
73331         Prefer returning from main to exiting from it.
73332         Remove unnecessary parens after sizeof.
73333
73334 2007-02-05  Bruno Haible  <bruno@clisp.org>
73335
73336         New module mbssep.
73337         * modules/mbssep: New file.
73338         * lib/mbssep.c: New file.
73339         * lib/string_.h (strsep): Add a conditional link warning.
73340         (mbssep): New declaration.
73341         * m4/mbssep.m4: New file.
73342         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73343         GNULIB_MBSSEP.
73344         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
73345         * MODULES.html.sh (Internationalization functions): Add mbssep.
73346
73347 2007-02-05  Bruno Haible  <bruno@clisp.org>
73348
73349         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
73350         Optimize search in case of 1 delimiter.
73351
73352 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73353
73354         * lib/acl.h: Include sys/types.h before sys/acl.h.
73355
73356 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73357
73358         Merge upstream fix for glibc bugzilla #3957:
73359
73360         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
73361
73362         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
73363         bit for RE_HAT_LISTS_NOT_NEWLINE.
73364         (build_charclass_op): Remove bogus comment.
73365
73366 2007-02-05  Simon Josefsson  <simon@josefsson.org>
73367
73368         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
73369
73370 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73371
73372         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
73373         * lib/memmem.c [!defined _LIBC]: Include config.h.
73374
73375 2007-02-04  Bruno Haible  <bruno@clisp.org>
73376
73377         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
73378         warning message.
73379
73380 2007-02-04  Bruno Haible  <bruno@clisp.org>
73381
73382         New module mbstok_r.
73383         * modules/mbstok_r: New file.
73384         * lib/mbstok_r.c: New file.
73385         * lib/string_.h (strtok_r): Change argument names to match the
73386         comments. Add a conditional link warning.
73387         (mbstok_r): New declaration.
73388         * m4/mbstok_r.m4: New file.
73389         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73390         GNULIB_MBSTOK_R.
73391         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
73392         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
73393
73394 2007-02-04  Bruno Haible  <bruno@clisp.org>
73395
73396         New module mbsspn.
73397         * modules/mbsspn: New file.
73398         * lib/mbsspn.c: New file.
73399         * lib/string_.h (strspn): Add a conditional link warning.
73400         (mbsspn): New declaration.
73401         * m4/mbsspn.m4: New file.
73402         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73403         GNULIB_MBSSPN.
73404         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
73405         * MODULES.html.sh (Internationalization functions): Add mbsspn.
73406
73407 2007-02-04  Bruno Haible  <bruno@clisp.org>
73408
73409         New module mbspbrk.
73410         * modules/mbspbrk: New file.
73411         * lib/mbspbrk.c: New file.
73412         * lib/string_.h (strpbrk): Add a conditional link warning.
73413         (mbspbrk): New declaration.
73414         * m4/mbspbrk.m4: New file.
73415         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73416         GNULIB_MBSPBRK.
73417         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
73418         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
73419
73420 2007-02-04  Bruno Haible  <bruno@clisp.org>
73421
73422         New module mbscspn.
73423         * modules/mbscspn: New file.
73424         * lib/mbscspn.c: New file.
73425         * lib/string_.h (strcspn): Add a conditional link warning.
73426         (mbscspn): New declaration.
73427         * m4/mbscspn.m4: New file.
73428         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73429         GNULIB_MBSCSPN.
73430         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
73431         * MODULES.html.sh (Internationalization functions): Add mbscspn.
73432
73433 2007-02-04  Bruno Haible  <bruno@clisp.org>
73434
73435         New module mbscasestr, reduced goal of strcasestr.
73436         * modules/mbscasestr: New file.
73437         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
73438         (mbscasestr): Renamed from strcasestr.
73439         * lib/strcasestr.c: Don't include mbuiter.h.
73440         (strcasestr): Remove support for multibyte locales.
73441         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
73442         Change the conditional link warning.
73443         (mbscasestr): New declaration.
73444         * m4/mbscasestr.m4: New file.
73445         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
73446         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
73447         REPLACE_STRCASESTR.
73448         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
73449         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73450         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73451         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
73452         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
73453         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73454         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
73455         (Depends-on): Remove mbuiter.
73456         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
73457
73458 2007-02-04  Bruno Haible  <bruno@clisp.org>
73459
73460         Simplify handling of strncasecmp.
73461         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
73462         the conditional link warning.
73463         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73464         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
73465         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
73466         * modules/strcase (configure.ac): Don't invoke
73467         gl_STRING_MODULE_INDICATOR.
73468         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
73469
73470 2007-02-04  Bruno Haible  <bruno@clisp.org>
73471
73472         New module mbscasecmp, reduced goal of strcasecmp.
73473         * modules/mbscasecmp: New file.
73474         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
73475         (mbscasecmp): Renamed from strcasecmp.
73476         * lib/strcasecmp.c: Don't include mbuiter.h.
73477         (strcasecmp): Remove support for multibyte locales.
73478         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
73479         Change the conditional link warning.
73480         (mbscasecmp): New declaration.
73481         * m4/mbscasecmp.m4: New file.
73482         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
73483         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
73484         REPLACE_STRCASECMP.
73485         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
73486         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73487         GNULIB_MBSCASECMP.
73488         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
73489         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
73490         * modules/strcase (Files): Remove m4/mbrtowc.m4.
73491         (Depends-on): Remove mbuiter.
73492         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
73493
73494 2007-02-04  Bruno Haible  <bruno@clisp.org>
73495
73496         New module mbsstr. Remove module strstr.
73497         * modules/mbsstr: New file.
73498         * modules/strstr: Remove file.
73499         * lib/mbsstr.c: Renamed from lib/strstr.c.
73500         (mbsstr): Renamed from strstr.
73501         * lib/string_.h (strstr): Remove declaration. Change the conditional
73502         link warning.
73503         (mbsstr): New declaration.
73504         * m4/mbsstr.m4: New file.
73505         * m4/strstr.m4: Remove file.
73506         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
73507         REPLACE_STRSTR.
73508         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
73509         Don't initialize GNULIB_STRSTR.
73510         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
73511         substitute GNULIB_STRSTR and REPLACE_STRSTR.
73512         * MODULES.html.sh (Internationalization functions): Add mbsstr.
73513         (Support for systems lacking ANSI C 89): Remove strstr.
73514
73515 2007-02-04  Bruno Haible  <bruno@clisp.org>
73516
73517         New module mbsrchr.
73518         * modules/mbsrchr: New file.
73519         * lib/mbsrchr.c: New file.
73520         * lib/string_.h (strrchr): Add a conditional link warning.
73521         (mbsrchr): New declaration.
73522         * m4/mbsrchr.m4: New file.
73523         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73524         GNULIB_MBSRCHR.
73525         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
73526         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
73527
73528 2007-02-04  Bruno Haible  <bruno@clisp.org>
73529
73530         New module mbschr.
73531         * modules/mbschr: New file.
73532         * lib/mbschr.c: New file.
73533         * lib/string_.h (strchr): Add a conditional link warning.
73534         (mbschr): New declaration.
73535         * m4/mbschr.m4: New file.
73536         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73537         GNULIB_MBSCHR.
73538         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
73539         * MODULES.html.sh (Internationalization functions): Add mbschr.
73540
73541 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73542
73543         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
73544
73545         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
73546
73547 2007-02-04  Bruno Haible  <bruno@clisp.org>
73548
73549         New module description section 'configure.ac-early'.
73550         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
73551         (func_get_autoconf_early_snippet): New function.
73552         (func_import, func_create_testdir): Use it. Remove special cases for
73553         modules 'extensions' and 'lock'.
73554         * modules/extensions (configure.ac-early): Require
73555         gl_USE_SYSTEM_EXTENSIONS.
73556         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
73557
73558 2007-02-04  Bruno Haible  <bruno@clisp.org>
73559
73560         Make use of gcj-4.3's -fsource and -ftarget option.
73561         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
73562         and if so try the options -fsource and -ftarget.
73563         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
73564         source_version, ftarget_option, target_version arguments.
73565         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
73566         (is_envjavac_oldgcj_14_14_usable): Renamed from
73567         is_envjavac_gcj_14_14_usable.
73568         (is_envjavac_oldgcj_14_13_usable): Renamed from
73569         is_envjavac_gcj_14_13_usable.
73570         (is_gcj_present): Update.
73571         (is_gcj_43, is_gcj43_usable): New functions.
73572         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
73573         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
73574         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
73575         try the options -fsource and -ftarget.
73576
73577 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73578
73579         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
73580         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
73581         larger value.
73582
73583 2007-02-03  Jim Meyering  <jim@meyering.net>
73584
73585         Give tools a better chance to allocate space for very large buffers.
73586         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
73587
73588         Make pwd and readlink work also when run with an unreadable parent dir
73589         on systems with openat support.
73590         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
73591         provided getcwd function, even when we have openat support.
73592         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
73593
73594 2007-02-02  Bruno Haible  <bruno@clisp.org>
73595
73596         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73597         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
73598         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
73599         portability problems if one of these functions is only used on specific
73600         platforms.
73601         Reported by Paul Eggert.
73602
73603 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
73604
73605         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
73606         is causing more trouble than it's curing.
73607         * lib/regex_internal.h (__mempcpy): Remove.
73608         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
73609         (and make the code a tad smaller to boot).
73610         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
73611
73612 2007-02-02  Jim Meyering  <jim@meyering.net>
73613
73614         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
73615         section, not in the Makefile.am: one.
73616
73617 2007-02-02  Eric Blake  <ebb9@byu.net>
73618
73619         * lib/strchrnul.c: Always include config.h first.
73620
73621         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
73622         gnulib strstr is not necessary here.
73623
73624 2007-02-02  Simon Josefsson  <simon@josefsson.org>
73625
73626         * m4/socklen.m4: Fix typo.
73627
73628 2007-02-02  Eric Blake  <ebb9@byu.net>
73629
73630         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
73631         * modules/netinet_in (Makefile.am): Likewise.
73632
73633 2007-02-01  Bruno Haible  <bruno@clisp.org>
73634
73635         * lib/string_.h (GL_LINK_WARNING): New macro.
73636         (strcasecmp, strstr, strcasestr): If provided by the system,
73637         conditionally define as a macro that leads to a warning instead of to
73638         an error.
73639         (strncasecmp): Conditionally define as a macro that leads to a warning.
73640
73641 2007-02-01  Karl Berry  <karl@gnu.org>
73642
73643         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
73644
73645 2007-02-01  Bruno Haible  <bruno@clisp.org>
73646
73647         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
73648         renamings.
73649
73650 2007-02-01  Eric Blake  <ebb9@byu.net>
73651
73652         * modules/regex (Depends-on): Revert dependence on mempcpy.
73653         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
73654         module's definition of mempcpy.
73655         Reported by Paul Eggert.
73656
73657 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73658
73659         * lib/string_.h: If the gnulib module XYZ is not present, undefine
73660         the symbol XYZ before redefining it.  This fixes a problem with
73661         programs that don't use XYZ, when compiled on systems that define
73662         XYZ to something else.
73663
73664 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
73665
73666         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
73667         occurs when "mkdir -m foo" creates a setgid directory that is (1)
73668         writeable to group or other and (2) is intended to have a special
73669         mode bit that is set or cleared.  In such a case, the directory
73670         should be neither group- nor other-writeable until the special
73671         mode bits are right.
73672
73673 2007-01-31  Eric Blake  <ebb9@byu.net>
73674
73675         * modules/mountlist (Depends-on): Add strstr.
73676
73677         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
73678         bug.
73679         * modules/string (Makefile.am): Remove redundant replacement.
73680         * modules/regex (Depends-on): Add mempcpy.
73681
73682 2007-01-31  Bruno Haible  <bruno@clisp.org>
73683
73684         New module description field 'Link'.
73685         * gnulib-tool (func_usage): Document --extract-link-directive.
73686         (sed_extract_prog): Recognize 'Link' directive.
73687         (func_get_link_directive): New function.
73688         (func_import): Show summary of link directives.
73689         Handle --extract-link-directive option.
73690         * modules/acl (Link): New section.
73691         * modules/clock-time (Link): New section.
73692         * modules/euidaccess (Link): New section.
73693         * modules/gettext (Link): New section.
73694         * modules/iconv (Link): New section.
73695         * modules/lock (Link): New section.
73696         * modules/nanosleep (Link): New section.
73697         * modules/readline (Link): New section.
73698
73699 2007-01-27  Bruno Haible  <bruno@clisp.org>
73700
73701         Enforce the use of gnulib modules for unportable <string.h> functions.
73702         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
73703         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
73704         (gl_HEADER_STRING_H_BODY): Require it.
73705         * lib/string_.h: If the gnulib module XYZ is not present, redefine
73706         the symbol XYZ to one that gives a link error.
73707         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
73708         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
73709         * modules/mempcpy (configure.ac): Likewise.
73710         * modules/memrchr (configure.ac): Likewise.
73711         * modules/stpcpy (configure.ac): Likewise.
73712         * modules/stpncpy (configure.ac): Likewise.
73713         * modules/strcase (configure.ac): Likewise.
73714         * modules/strcasestr (configure.ac): Likewise.
73715         * modules/strchrnul (configure.ac): Likewise.
73716         * modules/strdup (configure.ac): Likewise.
73717         * modules/strndup (configure.ac): Likewise.
73718         * modules/strnlen (configure.ac): Likewise.
73719         * modules/strpbrk (configure.ac): Likewise.
73720         * modules/strsep (configure.ac): Likewise.
73721         * modules/strstr (configure.ac): Likewise.
73722         * modules/strtok_r (configure.ac): Likewise.
73723
73724 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
73725
73726         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
73727
73728 2007-01-30  Jim Meyering  <jim@meyering.net>
73729
73730         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
73731
73732 2007-01-29  Bruno Haible  <bruno@clisp.org>
73733
73734         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
73735         * lib/execute.c: Likewise.
73736         * lib/pipe.c: Likewise.
73737         * lib/printf-args.h: Likewise.
73738         * lib/printf-args.c: Likewise.
73739         * lib/printf-parse.c: Likewise.
73740         * lib/vasnprintf.c: Likewise.
73741
73742 2007-01-29  Eric Blake  <ebb9@byu.net>
73743
73744         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
73745         declaration.
73746
73747 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
73748
73749         * lib/strptime.h (strptime): Use 'restrict' for args where
73750         POSIX requires this.
73751         * lib/strptime.c (strptime): Likewise.
73752         Change license notice from LGPL to GPL, since gnulib-tool will
73753         change this as needed.
73754         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
73755         defined.
73756         Include "strptime.h" first, to check interface.
73757         Do not #undef _LIBC and _NL_CURRENT.
73758         Do not include <stdlib.h>; no longer needed.
73759         Include "time_r.h" and declare ptime_locale_status
73760         only if _LIBC is not defined.
73761         (__P): Remove unused macro.
73762         (match_string): Bring back glibc version, but use it only if _LIBC
73763         is defined.
73764         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
73765         Remove unnecessary assertion and abort() call.
73766         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
73767         * m4/strptime.m4: Fix serial number comment.
73768         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
73769         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
73770         (Depends-on): Add time_r.
73771
73772 2007-01-29  Bruno Haible  <bruno@clisp.org>
73773
73774         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73775         strptime.
73776         * modules/strptime (Depends-on): Add stdbool.
73777         * lib/strptime.h: Include <time.h> always. Add comments.
73778
73779 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73780
73781         * modules/strptime: New file.
73782         * lib/strptime.h: New file.
73783         * lib/strptime.c: New file.
73784         * m4/strptime.m4: New file.
73785
73786 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73787
73788         * MODULES.html.sh: New module mpsort.
73789         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
73790
73791         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
73792         a circularity problem with HP-UX ia64 reported by Bob Proulx in
73793         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
73794         All uses changed.
73795         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
73796         All uses changed.
73797         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
73798         to _Restrict_.
73799         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
73800         the parameter matches the prototype.
73801
73802 2007-01-28  Jim Meyering  <jim@meyering.net>
73803
73804         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
73805         sys/time.h here, reverting that part of the previous patch:
73806         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
73807
73808 2007-01-28  Bruno Haible  <bruno@clisp.org>
73809
73810         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
73811         value of $(SYS_TIME_H).
73812         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
73813         remove it conditionally, too. [added by Jim Meyering]
73814         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
73815         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
73816         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
73817         GETTIMEOFDAY_REPLACEMENT to 1.
73818
73819 2007-01-28  Bruno Haible  <bruno@clisp.org>
73820
73821         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
73822         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
73823         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
73824         Set UNISTD_H instead of UNISTD_H2.
73825         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
73826
73827 2007-01-28  Bruno Haible  <bruno@clisp.org>
73828
73829         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
73830         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
73831
73832 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73833
73834         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
73835         (func_create_testdir): Ensure C locale for `grep' and `tr'
73836         character ranges.
73837         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
73838         ACLOCAL_AMFLAGS parsing state machine.
73839
73840 2007-01-27  Bruno Haible  <bruno@clisp.org>
73841
73842         * modules/unistr/base: Update.
73843
73844 2007-01-27  Bruno Haible  <bruno@clisp.org>
73845
73846         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
73847         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
73848         * modules/unistr/u32-mbtouc-unsafe: Renamed from
73849         modules/unistr/u32-mbtouc.
73850         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
73851         * lib/unistr.h: Update.
73852         * lib/linebreak.c: Update.
73853         * modules/unistr/u32-mbtouc: Renamed from
73854         modules/unistr/u32-mbtouc-safe.
73855         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
73856         * lib/unistr.h: Update.
73857         * lib/unistr/u32-to-u8.c: Update.
73858         * lib/unistr/u32-to-u16.c: Update.
73859
73860 2007-01-27  Bruno Haible  <bruno@clisp.org>
73861
73862         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
73863         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
73864         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
73865         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
73866         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
73867         * modules/unistr/u16-mbtouc-unsafe: Renamed from
73868         modules/unistr/u16-mbtouc.
73869         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
73870         * lib/unistr.h: Update.
73871         * lib/linebreak.c: Update.
73872         * modules/linebreak: Update.
73873         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
73874         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
73875         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
73876         * modules/unistr/u16-mbtouc: Renamed from
73877         modules/unistr/u16-mbtouc-safe.
73878         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
73879         * lib/unistr.h: Update.
73880         * lib/unistr/u16-to-u8.c: Update.
73881         * modules/unistr/u16-to-u8: Update.
73882         * lib/unistr/u16-to-u32.c: Update.
73883         * modules/unistr/u16-to-u32: Update.
73884
73885 2007-01-27  Bruno Haible  <bruno@clisp.org>
73886
73887         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
73888         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
73889         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
73890         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
73891         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
73892         * modules/unistr/u8-mbtouc-unsafe: Renamed from
73893         modules/unistr/u8-mbtouc.
73894         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
73895         * lib/unistr.h: Update.
73896         * lib/striconveh.c: Update.
73897         * modules/striconveh: Update.
73898         * lib/linebreak.c: Update.
73899         * modules/linebreak: Update.
73900         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
73901         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
73902         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
73903         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
73904         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
73905         * lib/unistr.h: Update.
73906         * lib/striconveh.c: Update.
73907         * modules/striconveh: Update.
73908         * lib/unistr/u8-to-u16.c: Update.
73909         * modules/unistr/u8-to-u16: Update.
73910         * lib/unistr/u8-to-u32.c: Update.
73911         * modules/unistr/u8-to-u32: Update.
73912
73913 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73914
73915         Sync from Libtool.
73916         * lib/argz.c: Do not include strings.h nor memory.h, include
73917         string.h unconditionally.  Patch by Simon Josefsson.
73918
73919 2007-01-27  Bruno Haible  <bruno@clisp.org>
73920
73921         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
73922         from gl_HEADER_STRING_H_BODY.
73923         (gl_HEADER_STRING_H_BODY): Require it.
73924         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
73925         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
73926         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
73927         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
73928         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
73929         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
73930         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
73931         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
73932         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
73933         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
73934         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
73935         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
73936         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
73937         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
73938         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73939
73940 2007-01-27  Bruno Haible  <bruno@clisp.org>
73941
73942         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
73943         check_PROGRAMS into noinst_PROGRAMS.
73944         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
73945         check_PROGRAMS in this case.
73946         (func_import): Set for_test to false.
73947         (func_create_testdir): Set for_test to true.
73948
73949 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
73950             Bruno Haible  <bruno@clisp.org>
73951
73952         * modules/strcasestr (Files): Remove lib/strcasestr.h.
73953         (Depends-on): Add string.
73954         (Includes): Use <string.h> instead of strcasestr.h.
73955         * modules/string (Makefile.am): Also substitute the value of
73956         REPLACE_STRCASESTR.
73957         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
73958         assume strcasestr is declared in <string.h> not <strings.h>. Also
73959         set REPLACE_STRCASESTR.
73960         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
73961         REPLACE_STRCASESTR.
73962         * lib/strcasestr.h: Remove file.
73963         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
73964         * lib/string_.h (strcasestr): New declaration.
73965
73966 2007-01-27  Bruno Haible  <bruno@clisp.org>
73967
73968         * lib/string_.h: Use 'extern'.
73969
73970 2007-01-27  Jim Meyering  <jim@meyering.net>
73971
73972         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
73973         of set-but-not-used local, "q".
73974
73975         * lib/mempcpy.c: Include <config.h> before <string.h>.
73976         This fixes a compilation error on HP-UX, due to the system's
73977         "restrict"-using mempcpy prototype.
73978
73979 2007-01-26  Bruno Haible  <bruno@clisp.org>
73980
73981         Small optimization.
73982         * lib/javacomp.c: Include c-strstr.h.
73983          (is_envjavac_gcj): Use c_strstr instead of strstr.
73984         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
73985
73986 2007-01-26  Bruno Haible  <bruno@clisp.org>
73987
73988         * MODULES.html.sh (Unicode string functions): Add the new modules.
73989
73990         * modules/uniconv/u32-strconv-to-locale: New file.
73991         * lib/uniconv/u32-strconv-to-locale.c: New file.
73992
73993         * modules/uniconv/u16-strconv-to-locale: New file.
73994         * lib/uniconv/u16-strconv-to-locale.c: New file.
73995
73996         * modules/uniconv/u8-strconv-to-locale: New file.
73997         * lib/uniconv/u8-strconv-to-locale.c: New file.
73998
73999         * modules/uniconv/u32-strconv-from-locale: New file.
74000         * lib/uniconv/u32-strconv-from-locale.c: New file.
74001
74002         * modules/uniconv/u16-strconv-from-locale: New file.
74003         * lib/uniconv/u16-strconv-from-locale.c: New file.
74004
74005         * modules/uniconv/u8-strconv-from-locale: New file.
74006         * lib/uniconv/u8-strconv-from-locale.c: New file.
74007
74008         * modules/uniconv/u32-strconv-to-enc: New file.
74009         * lib/uniconv/u32-strconv-to-enc.c: New file.
74010         * modules/uniconv/u32-strconv-to-enc-tests: New file.
74011         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
74012
74013         * modules/uniconv/u16-strconv-to-enc: New file.
74014         * lib/uniconv/u16-strconv-to-enc.c: New file.
74015         * lib/uniconv/u-strconv-to-enc.h: New file.
74016         * modules/uniconv/u16-strconv-to-enc-tests: New file.
74017         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
74018
74019         * modules/uniconv/u8-strconv-to-enc: New file.
74020         * lib/uniconv/u8-strconv-to-enc.c: New file.
74021         * modules/uniconv/u8-strconv-to-enc-tests: New file.
74022         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
74023
74024         * modules/uniconv/u32-strconv-from-enc: New file.
74025         * lib/uniconv/u32-strconv-from-enc.c: New file.
74026         * modules/uniconv/u32-strconv-from-enc-tests: New file.
74027         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
74028
74029         * modules/uniconv/u16-strconv-from-enc: New file.
74030         * lib/uniconv/u16-strconv-from-enc.c: New file.
74031         * modules/uniconv/u16-strconv-from-enc-tests: New file.
74032         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
74033
74034         * modules/uniconv/u8-strconv-from-enc: New file.
74035         * lib/uniconv/u8-strconv-from-enc.c: New file.
74036         * lib/uniconv/u-strconv-from-enc.h: New file.
74037         * modules/uniconv/u8-strconv-from-enc-tests: New file.
74038         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
74039
74040         * modules/uniconv/u32-conv-from-enc: New file.
74041         * lib/uniconv/u32-conv-from-enc.c: New file.
74042         * modules/uniconv/u32-conv-from-enc-tests: New file.
74043         * tests/uniconv/test-u32-conv-from-enc.c: New file.
74044
74045         * modules/uniconv/u16-conv-from-enc: New file.
74046         * lib/uniconv/u16-conv-from-enc.c: New file.
74047         * lib/uniconv/u-conv-from-enc.h: New file.
74048         * modules/uniconv/u16-conv-from-enc-tests: New file.
74049         * tests/uniconv/test-u16-conv-from-enc.c: New file.
74050
74051         * modules/uniconv/u8-conv-from-enc: New file.
74052         * lib/uniconv/u8-conv-from-enc.c: New file.
74053         * modules/uniconv/u8-conv-from-enc-tests: New file.
74054         * tests/uniconv/test-u8-conv-from-enc.c: New file.
74055
74056         * modules/uniconv/base: New file.
74057         * lib/uniconv.h: New file.
74058
74059 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
74060
74061         * doc/gnulib-tool.texi (Initial import): Update to match current
74062         behavior with strdup module.
74063         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
74064         * lib/memmem.h: Remove; all uses removed.  This is now done
74065         by <string.h>.
74066         * lib/mempcpy.h: Likewise.
74067         * lib/memrchr.h: Likewise.
74068         * lib/stpcpy.h: Likewise.
74069         * lib/stpncpy.h: Likewise.
74070         * lib/strcase.h: Likewise.
74071         * lib/strchrnul.h: Likewise.
74072         * lib/strdup.h: Likewise.
74073         * lib/strndup.h: Likewise.
74074         * lib/strnlen.h: Likewise.
74075         * lib/strpbrk.h: Likewise.
74076         * lib/strsep.h: Likewise.
74077         * lib/strstr.h: Likewise.
74078         * lib/strtok_r.h: Likewise.
74079         * lib/string_.h: New file.
74080         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
74081         Rely on <string.h> instead.
74082         * lib/canon-host.c: Likewise.
74083         * lib/chdir-long.c: Likewise.
74084         * lib/concatpath.c: Likewise.
74085         * lib/exclude.c: Likewise.
74086         * lib/fchdir.c: Likewise.
74087         * lib/getaddrinfo.c: Likewise.
74088         * lib/getcwd.c: Likewise.
74089         * lib/getsubopt.c: Likewise.
74090         * lib/glob.c: Likewise.
74091         * lib/hard-locale.c: Likewise.
74092         * lib/iconvme.c: Likewise.
74093         * lib/javacomp.c: Likewise.
74094         * lib/mempcpy.c: Likewise.
74095         * lib/memrchr.c: Likewise.
74096         * lib/regex_internal.h: Likewise.
74097         * lib/stpncpy.c: Likewise.
74098         * lib/strcasecmp.c: Likewise.
74099         * lib/strchrnul.c: Likewise.
74100         * lib/strdup.c: Likewise.
74101         * lib/striconv.c: Likewise.
74102         * lib/striconveh.c: Likewise.
74103         * lib/striconveha.c: Likewise.
74104         * lib/strncasecmp.c: Likewise.
74105         * lib/strndup.c: Likewise.
74106         * lib/strnlen.c: Likewise.
74107         * lib/strsep.c: Likewise.
74108         * lib/strstr.c: Likewise.
74109         * lib/strtok_r.c: Likewise.
74110         * lib/userspec.c: Likewise.
74111         * lib/w32spawn.h: Likewise.
74112         * lib/xstrndup.c: Likewise.
74113         * lib/mountlist.c (strstr): Remove decl.
74114         * m4/string_h.m4: New file.
74115         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
74116         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
74117         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
74118         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
74119         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
74120         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
74121         Set REPLACE_STRCASECMP if necessary.
74122         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
74123         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
74124         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
74125         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
74126         HAVE_DECL_STRDUP if necessary.
74127         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
74128         since gl_FUNC_STRNDUP does that now.
74129         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
74130         Check for decl here...
74131         (gl_PREREQ_STRNLEN): ... not here.
74132         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
74133         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
74134         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
74135         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
74136         necessary.
74137         * modules/string: New file.
74138         * modules/memmem (Files): Remove special-purpose include file.
74139         (Depends-on): Add string.
74140         (Include): Include <string.h>, not the removed file.
74141         * modules/mempcpy: Likewise.
74142         * modules/memrchr: Likewise.
74143         * modules/stpcpy: Likewise.
74144         * modules/stpncpy: Likewise.
74145         * modules/strcase: Likewise.
74146         * modules/strchrnul: Likewise.
74147         * modules/strdup: Likewise.
74148         * modules/strndup: Likewise.
74149         * modules/strnlen: Likewise.
74150         * modules/strpbrk: Likewise.
74151         * modules/strsep: Likewise.
74152         * modules/strstr: Likewise.
74153         * modules/strtok_r: Likewise.
74154         * tests/test-dirname.c: Don't include "strdup.h", since
74155         <string.h> now suffices.
74156         * tests/test-memmem.c: Don't include "memmem.h", since
74157         <string.h> now suffices.
74158
74159 2007-01-25  Bruno Haible  <bruno@clisp.org>
74160
74161         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
74162         *resultp is 0.
74163
74164         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
74165         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
74166         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
74167         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
74168
74169         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
74170         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
74171         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
74172         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
74173         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
74174         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
74175
74176 2007-01-24  Bruno Haible  <bruno@clisp.org>
74177
74178         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
74179         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
74180         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
74181         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
74182         gl_FUNC_FTS_CORE.
74183         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
74184         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
74185         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74186         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
74187         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
74188         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
74189         gl_FUNC_FCHOWNAT.
74190         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
74191         gl_FUNC_STRFTIME.
74192         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
74193         Reported by Ralf Wildenhues.
74194
74195 2007-01-24  Bruno Haible  <bruno@clisp.org>
74196
74197         Drop AC_REQUIRE calls that are redundant with the module dependencies.
74198         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
74199         gl_GETADDRINFO.
74200         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
74201         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
74202         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
74203
74204 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
74205
74206         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
74207         Don't use 'exit'; just return from 'main'.
74208         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
74209
74210         * lib/fnmatch_.h: Readjust white space and comments to match
74211         glibc, to avoid spurious diffs.
74212
74213 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74214
74215         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
74216         2004-12-01 change by Jakub Jelinek, since this code won't compile
74217         if !LIBC.  Problem reported by Bob Proulx.
74218
74219 2007-01-23  Bruno Haible  <bruno@clisp.org>
74220
74221         * lib/striconveh.c: Include c-strcaseeq.h.
74222         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
74223         * modules/striconveh (Depends-on): Add c-strcaseeq.
74224
74225 2007-01-23  Bruno Haible  <bruno@clisp.org>
74226
74227         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
74228
74229         * modules/c-strcaseeq: New file.
74230         * lib/c-strcaseeq.h: New file.
74231
74232         * modules/streq: New file.
74233         * lib/streq.h: New file.
74234
74235 2007-01-23  Bruno Haible  <bruno@clisp.org>
74236
74237         * modules/striconveha-tests: New file.
74238         * tests/test-striconveha.c: New file.
74239
74240         * lib/striconveha.h: Include <stdbool.h>.
74241         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
74242         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
74243         (mem_iconveha_notranslit): Renamed from mem_iconveha.
74244         (mem_iconveha): New function.
74245         (str_iconveha_notranslit): Renamed from str_iconveha.
74246         (str_iconveha): New function.
74247         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
74248         c-strcase.
74249
74250 2007-01-23  Bruno Haible  <bruno@clisp.org>
74251
74252         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
74253         encodings without forgiving before trying any encoding with handler.
74254         (str_iconveha): Try all encodings without forgiving before trying any
74255         encoding with handler.
74256
74257 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74258
74259         Import the following changes from libc.
74260
74261         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74262
74263         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
74264
74265         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74266
74267         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
74268         normal_bracket label.
74269
74270         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
74271
74272         [BZ #361]
74273         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
74274         to normal_bracket after fetching the next character.
74275
74276 2007-01-22  Bruno Haible  <bruno@clisp.org>
74277
74278         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
74279         argument.
74280         * lib/striconveh.c (iconv_carefully_1): New function.
74281         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
74282         argument.
74283         (str_cd_iconveh): Update.
74284         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
74285         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
74286         * tests/test-striconveh.c (MAGIC): New macro.
74287         (new_offsets): New function.
74288         (main): Test call with and without offsets.
74289
74290 2007-01-22  Bruno Haible  <bruno@clisp.org>
74291
74292         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
74293         * modules/sys_select (Makefile.am): Likewise.
74294         * modules/sys_socket (Makefile.am): Likewise.
74295         * modules/sys_time (Makefile.am): Likewise.
74296
74297 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74298
74299         * modules/gettimeofday (License): Change from GPL to LGPL, since
74300         gettimeofday is a library function.
74301
74302 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74303
74304         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
74305
74306 2007-01-21  Bruno Haible  <bruno@clisp.org>
74307
74308         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
74309
74310 2007-01-21  Bruno Haible  <bruno@clisp.org>
74311
74312         * modules/striconveha: New file.
74313         * lib/striconveha.h: New file.
74314         * lib/striconveha.c: New file.
74315         * MODULES.html.sh (Internationalization functions): Add striconveha.
74316         * lib/striconv.c (str_iconv): Optimize the case of an empty input
74317         string.
74318         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
74319
74320 2007-01-21  Bruno Haible  <bruno@clisp.org>
74321
74322         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
74323         * lib/striconveh.c (str_iconveh): Likewise.
74324
74325 2007-01-21  Bruno Haible  <bruno@clisp.org>
74326
74327         * lib/striconveh.h (mem_iconveh): New declaration.
74328         * lib/striconveh.c (mem_iconveh): New function.
74329         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
74330
74331 2007-01-21  Bruno Haible  <bruno@clisp.org>
74332
74333         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
74334
74335         * lib/striconveh.h (mem_cd_iconveh): Change specification.
74336         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
74337         original result buffer.
74338         (str_cd_iconveh): Update.
74339         * tests/test-striconveh.c (main): Update.
74340
74341         * lib/striconv.h (mem_cd_iconv): Change specification.
74342         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
74343         result buffer.
74344         (str_cd_iconv): Update.
74345         * tests/test-striconv.c (main): Update.
74346
74347 2007-01-21  Bruno Haible  <bruno@clisp.org>
74348
74349         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
74350
74351 2007-01-20  Jim Meyering  <jim@meyering.net>
74352
74353         * lib/userspec.c (parse_with_separator): If a user or group string
74354         starts with "+", skip the corresponding name-to-ID look-up, since
74355         such a look-up must fail: user and group names may not include "+".
74356
74357 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74358
74359         * lib/poll.c: Include sys/time.h and time.h unconditionally,
74360         since we now assume the sys_time module.
74361         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
74362         check for sys/time.h; no longer needed.
74363         * modules/poll (Depends-on): Depend on sys_time.
74364
74365 2007-01-18  Bruno Haible  <bruno@clisp.org>
74366
74367         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
74368         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74369
74370         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
74371         gettimeofday.
74372
74373         * tests/test-gettimeofday.c: Include <time.h>.
74374         (dummy): Remove variable.
74375
74376         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
74377         gl_HEADER_SYS_TIME_H.
74378         (gl_HEADER_SYS_TIME_H): New macro.
74379
74380         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
74381         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74382         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
74383         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
74384         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74385         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
74386         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
74387         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74388         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
74389         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
74390         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74391
74392         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
74393         last change; it caused a compilation error when cross-compiling to
74394         Cygwin.
74395
74396 2007-01-18  Jim Meyering  <jim@meyering.net>
74397
74398         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
74399         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
74400         than the race-prone "test -d sys || mkdir sys".
74401         (configure.ac): Use AC_PROG_MKDIR_P.
74402         * modules/sys_select: Likewise.
74403         * modules/sys_socket: Likewise.
74404         * modules/sys_time: Likewise.
74405
74406 2007-01-18  Eric Blake  <ebb9@byu.net>
74407
74408         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
74409         replace gettimeofday.
74410         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
74411         name, to avoid infinite recursion.
74412
74413 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
74414
74415         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
74416         module sys_time.
74417         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
74418         assume timespec.h defines struct timeval.
74419         * lib/settime.c: Likewise.
74420         * lib/utimens.c: Likewise.
74421         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
74422         since we now assume the gettimeofday module.
74423         * lib/tempname.c (__gen_tempname): Likewise.
74424         * lib/gettimeofday.h: Remove.
74425         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
74426         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
74427         Include <time.h>, for 'time()'.
74428         (localtime_buffer_addr): Also use this workaround if
74429         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
74430         to simplify the uses.  All uses changed.
74431         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
74432         that #undef is inside {}, and 'const' follows type name consistently.
74433         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
74434         (gettimeofday): Do not use the maximum possible value for
74435         tv->tv_usec, since that might break usages other than ls.c.
74436         Instead, we'll leave ls.c alone.  This undoes today's patch
74437         by Bruno.  Add a compile-time warning for 1s-clock resolution;
74438         we've never observed the problem but might as well keep the
74439         canary.
74440         * lib/nanosleep.c: Include timespec.h first, for interface check.
74441         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
74442         now assume the sys_time module.
74443         * lib/tempname.c: Likewise.
74444         * lib/timespec.h: Likewise.
74445         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
74446         needed.
74447         * lib/strftime.c: Likewise.
74448         * lib/timespec.h: Likewise.
74449         * lib/posixtm.c: Include posixtm.h first, for interface check.
74450         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
74451         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
74452         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
74453         * lib/sys_time_.h: New file.
74454         * lib/timespec.h (struct timespec): Use long int, not long.
74455         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74456         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
74457         Remove obsolescent call to AC_HEADER_TIME.
74458         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
74459         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74460         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74461         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
74462         Likewise.
74463         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
74464         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
74465         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
74466         into the sys_time module.  Check for gettimeofday just once.
74467         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
74468         for gettimeofday signature to just check the signature.  Merely
74469         compile it, since linking doesn't test signature.  Improve test for
74470         whether gettimeofday.o is actually needed.
74471         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
74472         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
74473         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
74474         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74475         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
74476         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
74477         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
74478         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
74479         than worrying about sys/time.h.
74480         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74481         Don't bother worrying about TIME_WITH_SYS_TIME.
74482         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74483         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
74484         * m4/sys_time_h.m4: New file.
74485         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
74486         Don't include sys/time.h.  Return from main rather than exiting.
74487         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
74488         all uses changed.
74489         * modules/gethrxtime (Depends-on): Add sys_time.
74490         * modules/gettime (Depends-on): Likewise.
74491         * modules/gettimeofday (Depends-on): Likewise.
74492         * modules/nanosleep (Depends-on): Likewise.
74493         * modules/settime (Depends-on): Likewise.
74494         * modules/tempname (Depends-on): Likewise.
74495         * modules/utimens (Depends-on): Likewise.
74496         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
74497         (Include): Change back to <sys/time.h>.
74498         (Maintainer): Add self.
74499         * modules/sys_time: New file.
74500         * modules/tempname (Depends-on): Add gettimeofday.
74501         * tests/test-gettimeofday.c: Include <sys/time.h>
74502         rather than gettimeofday.h.
74503
74504 2007-01-17  Bruno Haible  <bruno@clisp.org>
74505
74506         * gnulib-tool (func_get_license): Revert last patch. Instead, let
74507         the license default to GPL.
74508         (func_create_testdir): Don't complain if a module is LGPL and its
74509         tests module depends on GPLed modules.
74510
74511 2007-01-17  Bruno Haible  <bruno@clisp.org>
74512
74513         * lib/gettimeofday.c (gettimeofday): Add code for the case
74514         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
74515         maximum possible value for tv->tv_usec, rather than the minimum one.
74516
74517 2005-10-08  Martin Lambers  <marlam@marlam.de>
74518 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74519 2007-01-16  Bruno Haible  <bruno@clisp.org>
74520
74521         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
74522         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
74523         gl_FUNC_GETTIMEOFDAY.
74524         (Include): Add gettimeofday.h.
74525         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
74526         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
74527         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
74528         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
74529         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
74530         * lib/gettimeofday.h: New file.
74531         * lib/gettimeofday.c: Include <sys/timeb.h>.
74532         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
74533         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74534         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
74535         fall back on time().
74536
74537         * tests/test-gettimeofday.c: New file.
74538         * modules/gettimeofday-tests: New file.
74539
74540 2007-01-16  Eric Blake  <ebb9@byu.net>
74541
74542         * modules/fnmatch (Depends-on): Depend on wchar.
74543         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
74544         * m4/fnmatch.m4: Likewise.
74545         * modules/mbchar (Makefile.am): Assume <wchar.h>.
74546         * m4/mbchar.m4: Likewise.
74547         * modules/mbswidth (Depends-on): Depend on wchar.
74548         * lib/mbswidth.c: Assume <wchar.h>.
74549         * m4/mbswidth.m4: Likewise.
74550         * modules/quotearg (Depends-on): Depend on wchar.
74551         * lib/quotearg.c: Assume <wchar.h>.
74552         * m4/quotearg.m4: Likewise.
74553         * modules/regex (Depends-on): Depend on wchar.
74554         * lib/regex_internal.h: Assume <wchar.h>.
74555         * m4/regex.m4: Likewise.
74556         * modules/stdint (Depends-on): Depend on wchar.
74557         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
74558         * m4/stdint.m4: Likewise.
74559         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
74560         * modules/strftime (Depends-on): Depend on wchar.
74561         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
74562         * modules/strtol (Depends-on): Depend on wchar.
74563         * lib/strtol.c: Assume <wchar.h>.
74564         * modules/wcwidth (Depends-on): Depend on wchar.
74565         * lib/wcwidth.h: Assume <wchar.h>.
74566         * m4/wcwidth.m4: Likewise.
74567
74568 2007-01-16  Bruno Haible  <bruno@clisp.org>
74569
74570         * modules/csharpexec-script: New, created from...
74571         * modules/csharpexec: ... this.
74572
74573 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
74574
74575         * modules/javaexec-script: New, created from...
74576         * modules/javaexec: ... this.
74577
74578 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74579
74580         * modules/poll (Dependencies): Add sys_select.
74581
74582 2007-01-15  Jim Meyering  <jim@meyering.net>
74583
74584         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
74585         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
74586         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
74587         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
74588
74589 2007-01-15  Bruno Haible  <bruno@clisp.org>
74590
74591         * modules/striconveh: New file.
74592         * lib/striconveh.h: New file.
74593         * lib/striconveh.c: New file.
74594         * MODULES.html.sh (Internationalization functions): Add striconveh.
74595
74596         * modules/striconveh-tests: New file.
74597         * tests/test-striconveh.c: New file.
74598
74599 2007-01-15  Bruno Haible  <bruno@clisp.org>
74600
74601         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
74602         not from GNU libiconv or GNU libc.
74603
74604 2007-01-15  Bruno Haible  <bruno@clisp.org>
74605
74606         * doc/gnulib-intro.texi (Copyright): Explain the different license
74607         terms for module descriptions, autoconf macros, tests, documentation.
74608
74609 2007-01-14  Bruno Haible  <bruno@clisp.org>
74610
74611         * modules/striconv-tests: New file.
74612         * tests/test-striconv.c: New file.
74613
74614 2007-01-14  Bruno Haible  <bruno@clisp.org>
74615
74616         * modules/iconv-tests: New file.
74617         * tests/test-iconv.c: New file.
74618
74619 2007-01-14  Bruno Haible  <bruno@clisp.org>
74620
74621         * gnulib-tool (func_get_license): For test modules, use the license of
74622         the main module.
74623
74624 2007-01-14  Bruno Haible  <bruno@clisp.org>
74625
74626         * modules/iconv (Include): Clarify that <iconv.h> can only be included
74627         if iconv is found to exist.
74628
74629 2007-01-14  Bruno Haible  <bruno@clisp.org>
74630
74631         * modules/c-ctype-tests: New file.
74632         * tests/test-c-ctype.c: New file.
74633
74634 2007-01-14  Bruno Haible  <bruno@clisp.org>
74635
74636         * modules/binary-io-tests: New file.
74637         * tests/test-binary-io.sh: New file.
74638         * tests/test-binary-io.c: New file.
74639
74640 2007-01-14  Bruno Haible  <bruno@clisp.org>
74641
74642         * modules/array-oset-tests: New file.
74643         * tests/test-array_oset.c: New file.
74644
74645 2007-01-14  Bruno Haible  <bruno@clisp.org>
74646
74647         * modules/array-list-tests: New file.
74648         * tests/test-array_list.c: New file.
74649
74650 2007-01-14  Bruno Haible  <bruno@clisp.org>
74651
74652         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
74653         and make.
74654         Reported by Simon Josefsson in
74655         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
74656
74657 2007-01-14  Bruno Haible  <bruno@clisp.org>
74658
74659         * modules/allocsa-tests: New file.
74660         * tests/test-allocsa.c: New file.
74661
74662 2007-01-14  Bruno Haible  <bruno@clisp.org>
74663
74664         * modules/fchdir (Depends-on): Add absolute-header.
74665         * modules/unistd (Depends-on): Likewise.
74666
74667 2006-12-30  Bruno Haible  <bruno@clisp.org>
74668
74669         * modules/fchdir: New file.
74670         * modules/unistd (Files): Add lib/unistd_.h.
74671         (Makefile.am): Generate unistd.h from unistd_.h.
74672         * lib/fchdir.c: New file.
74673         * lib/dirent_.h: New file.
74674         * lib/unistd_.h: New file.
74675         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
74676         * m4/fchdir.m4: New file.
74677         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
74678         (gl_HEADER_UNISTD): Invoke it.
74679         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
74680         function.
74681         * lib/backupfile.c (opendir, closedir): Undefine.
74682         * lib/chown.c (open, close): Undefine.
74683         * lib/clean-temp.c (open, close): Undefine.
74684         * lib/copy-file.c (open, close): Undefine.
74685         * lib/execute.c (open, close): Undefine.
74686         * lib/fsusage.c (open, close): Undefine.
74687         * lib/gc-gnulib.c (open, close): Undefine.
74688         * lib/getcwd.c (opendir, closedir): Undefine.
74689         * lib/glob.c (opendir, closedir): Undefine.
74690         * lib/javacomp.c (open, close): Undefine.
74691         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
74692         * lib/openat-proc.c (open, close): Undefine.
74693         * lib/pagealign_alloc.c (open, close): Undefine.
74694         * lib/pipe.c (open, close): Undefine.
74695         * lib/progreloc.c (open, close): Undefine.
74696         * lib/savedir.c (opendir, closedir): Undefine.
74697         * lib/utime.c (open, close): Undefine.
74698         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
74699
74700 2007-01-10  Bruno Haible  <bruno@clisp.org>
74701
74702         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
74703
74704 2007-01-12  Eric Blake  <ebb9@byu.net>
74705
74706         Provide a robust <wchar.h>.  Further simplifications are now
74707         possible in other modules, but not included here.
74708         * modules/wchar: New module.
74709         * m4/wchar.m4: New file.
74710         * lib/wchar_.h: Likewise.
74711         * modules/mbchar (Depends-on): Depend on wchar, as the first use
74712         of the new module.
74713         * MODULES.html.sh (Extended multibyte and wide character utilities):
74714         New section.
74715
74716 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
74717
74718         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
74719         to a reasonable default for memory allocation.
74720         (xreadlink): Don't allocate a huge buffer, to work around a buggy
74721         file system that reports garbage st_size values for symlinks.
74722         Problem reported by Liyang Hu.
74723
74724 2007-01-11  Simon Josefsson  <simon@josefsson.org>
74725
74726         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
74727         Emacs .#* auto-save files).
74728
74729 2007-01-11  Bruno Haible  <bruno@clisp.org>
74730
74731         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
74732         directory.
74733
74734 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74735
74736         Use @...@ consistently in lib/wctype_.h.
74737         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
74738         on it being set to 1 or 0.
74739         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
74740         go back to AC_SUBSTing it.
74741         * modules/wctype (Makefile.am): Undo previous change.
74742
74743 2007-01-10  Eric Blake  <ebb9@byu.net>
74744
74745         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
74746         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
74747         * modules/wctype (Makefile.am): Likewise.
74748         Reported by Chris McGuire.
74749
74750 2007-01-10  Jim Meyering  <jim@meyering.net>
74751
74752         fts.c: a small readability/maintainability improvement
74753         * lib/fts.c (fts_read): Make this code slightly more readable and
74754         maintainable by hoisting the "sp->fts_cur = p" assignments to
74755         immediately follow the statements that set P.  Derived from
74756         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
74757
74758 2007-01-10  Eric Blake  <ebb9@byu.net>
74759
74760         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
74761         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
74762         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74763         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
74764         Reported by Chris McGuire.
74765
74766 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74767
74768         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
74769         in sed script.
74770
74771 2007-01-09  Bruno Haible  <bruno@clisp.org>
74772
74773         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
74774         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
74775         variables.
74776         (func_module): Use them.
74777
74778 2007-01-09  Bruno Haible  <bruno@clisp.org>
74779
74780         * modules/unistr/base: New file.
74781         * lib/unistr.h: New file.
74782
74783         * modules/unistr/u8-to-u16: New file.
74784         * lib/unistr/u8-to-u16.c: New file.
74785
74786         * modules/unistr/u8-to-u32: New file.
74787         * lib/unistr/u8-to-u32.c: New file.
74788
74789         * modules/unistr/u16-to-u8: New file.
74790         * lib/unistr/u16-to-u8.c: New file.
74791
74792         * modules/unistr/u16-to-u32: New file.
74793         * lib/unistr/u16-to-u32.c: New file.
74794
74795         * modules/unistr/u32-to-u8: New file.
74796         * lib/unistr/u32-to-u8.c: New file.
74797
74798         * modules/unistr/u32-to-u16: New file.
74799         * lib/unistr/u32-to-u16.c: New file.
74800
74801         * modules/unistr/u8-check: New file.
74802         * modules/unistr/u16-check: New file.
74803         * modules/unistr/u32-check: New file.
74804         * lib/unistr/u8-check.c: New file.
74805         * lib/unistr/u16-check.c: New file.
74806         * lib/unistr/u32-check.c: New file.
74807
74808         * modules/unistr/u8-chr: New file.
74809         * modules/unistr/u16-chr: New file.
74810         * modules/unistr/u32-chr: New file.
74811         * lib/unistr/u8-chr.c: New file.
74812         * lib/unistr/u16-chr.c: New file.
74813         * lib/unistr/u32-chr.c: New file.
74814
74815         * modules/unistr/u8-cmp: New file.
74816         * modules/unistr/u16-cmp: New file.
74817         * modules/unistr/u32-cmp: New file.
74818         * lib/unistr/u8-cmp.c: New file.
74819         * lib/unistr/u16-cmp.c: New file.
74820         * lib/unistr/u32-cmp.c: New file.
74821
74822         * modules/unistr/u8-cpy: New file.
74823         * modules/unistr/u16-cpy: New file.
74824         * modules/unistr/u32-cpy: New file.
74825         * lib/unistr/u8-cpy.c: New file.
74826         * lib/unistr/u16-cpy.c: New file.
74827         * lib/unistr/u32-cpy.c: New file.
74828         * lib/unistr/u-cpy.h: New file.
74829
74830         * modules/unistr/u8-cpy-alloc: New file.
74831         * modules/unistr/u16-cpy-alloc: New file.
74832         * modules/unistr/u32-cpy-alloc: New file.
74833         * lib/unistr/u8-cpy-alloc.c: New file.
74834         * lib/unistr/u16-cpy-alloc.c: New file.
74835         * lib/unistr/u32-cpy-alloc.c: New file.
74836         * lib/unistr/u-cpy-alloc.h: New file.
74837
74838         * modules/unistr/u8-endswith: New file.
74839         * modules/unistr/u16-endswith: New file.
74840         * modules/unistr/u32-endswith: New file.
74841         * lib/unistr/u8-endswith.c: New file.
74842         * lib/unistr/u16-endswith.c: New file.
74843         * lib/unistr/u32-endswith.c: New file.
74844         * lib/unistr/u-endswith.h: New file.
74845
74846         * modules/unistr/u8-mblen: New file.
74847         * modules/unistr/u16-mblen: New file.
74848         * modules/unistr/u32-mblen: New file.
74849         * lib/unistr/u8-mblen.c: New file.
74850         * lib/unistr/u16-mblen.c: New file.
74851         * lib/unistr/u32-mblen.c: New file.
74852
74853         * modules/unistr/u8-mbtouc: New file.
74854         * modules/unistr/u16-mbtouc: New file.
74855         * modules/unistr/u32-mbtouc: New file.
74856         * lib/unistr/u8-mbtouc.c: New file.
74857         * lib/unistr/u16-mbtouc.c: New file.
74858         * lib/unistr/u32-mbtouc.c: New file.
74859
74860         * modules/unistr/u8-mbtouc-safe: New file.
74861         * modules/unistr/u16-mbtouc-safe: New file.
74862         * modules/unistr/u32-mbtouc-safe: New file.
74863         * lib/unistr/u8-mbtouc-safe.c: New file.
74864         * lib/unistr/u16-mbtouc-safe.c: New file.
74865         * lib/unistr/u32-mbtouc-safe.c: New file.
74866
74867         * modules/unistr/u8-move: New file.
74868         * modules/unistr/u16-move: New file.
74869         * modules/unistr/u32-move: New file.
74870         * lib/unistr/u8-move.c: New file.
74871         * lib/unistr/u16-move.c: New file.
74872         * lib/unistr/u32-move.c: New file.
74873         * lib/unistr/u-move.h: New file.
74874
74875         * modules/unistr/u8-next: New file.
74876         * modules/unistr/u16-next: New file.
74877         * modules/unistr/u32-next: New file.
74878         * lib/unistr/u8-next.c: New file.
74879         * lib/unistr/u16-next.c: New file.
74880         * lib/unistr/u32-next.c: New file.
74881
74882         * modules/unistr/u8-prev: New file.
74883         * modules/unistr/u16-prev: New file.
74884         * modules/unistr/u32-prev: New file.
74885         * lib/unistr/u8-prev.c: New file.
74886         * lib/unistr/u16-prev.c: New file.
74887         * lib/unistr/u32-prev.c: New file.
74888
74889         * modules/unistr/u8-set: New file.
74890         * modules/unistr/u16-set: New file.
74891         * modules/unistr/u32-set: New file.
74892         * lib/unistr/u8-set.c: New file.
74893         * lib/unistr/u16-set.c: New file.
74894         * lib/unistr/u32-set.c: New file.
74895         * lib/unistr/u-set.h: New file.
74896
74897         * modules/unistr/u8-startswith: New file.
74898         * modules/unistr/u16-startswith: New file.
74899         * modules/unistr/u32-startswith: New file.
74900         * lib/unistr/u8-startswith.c: New file.
74901         * lib/unistr/u16-startswith.c: New file.
74902         * lib/unistr/u32-startswith.c: New file.
74903         * lib/unistr/u-startswith.h: New file.
74904
74905         * modules/unistr/u8-stpcpy: New file.
74906         * modules/unistr/u16-stpcpy: New file.
74907         * modules/unistr/u32-stpcpy: New file.
74908         * lib/unistr/u8-stpcpy.c: New file.
74909         * lib/unistr/u16-stpcpy.c: New file.
74910         * lib/unistr/u32-stpcpy.c: New file.
74911         * lib/unistr/u-stpcpy.h: New file.
74912
74913         * modules/unistr/u8-stpncpy: New file.
74914         * modules/unistr/u16-stpncpy: New file.
74915         * modules/unistr/u32-stpncpy: New file.
74916         * lib/unistr/u8-stpncpy.c: New file.
74917         * lib/unistr/u16-stpncpy.c: New file.
74918         * lib/unistr/u32-stpncpy.c: New file.
74919         * lib/unistr/u-stpncpy.h: New file.
74920
74921         * modules/unistr/u8-strcat: New file.
74922         * modules/unistr/u16-strcat: New file.
74923         * modules/unistr/u32-strcat: New file.
74924         * lib/unistr/u8-strcat.c: New file.
74925         * lib/unistr/u16-strcat.c: New file.
74926         * lib/unistr/u32-strcat.c: New file.
74927         * lib/unistr/u-strcat.h: New file.
74928
74929         * modules/unistr/u8-strchr: New file.
74930         * modules/unistr/u16-strchr: New file.
74931         * modules/unistr/u32-strchr: New file.
74932         * lib/unistr/u8-strchr.c: New file.
74933         * lib/unistr/u16-strchr.c: New file.
74934         * lib/unistr/u32-strchr.c: New file.
74935
74936         * modules/unistr/u8-strcmp: New file.
74937         * modules/unistr/u16-strcmp: New file.
74938         * modules/unistr/u32-strcmp: New file.
74939         * lib/unistr/u8-strcmp.c: New file.
74940         * lib/unistr/u16-strcmp.c: New file.
74941         * lib/unistr/u32-strcmp.c: New file.
74942
74943         * modules/unistr/u8-strcpy: New file.
74944         * modules/unistr/u16-strcpy: New file.
74945         * modules/unistr/u32-strcpy: New file.
74946         * lib/unistr/u8-strcpy.c: New file.
74947         * lib/unistr/u16-strcpy.c: New file.
74948         * lib/unistr/u32-strcpy.c: New file.
74949         * lib/unistr/u-strcpy.h: New file.
74950
74951         * modules/unistr/u8-strcspn: New file.
74952         * modules/unistr/u16-strcspn: New file.
74953         * modules/unistr/u32-strcspn: New file.
74954         * lib/unistr/u8-strcspn.c: New file.
74955         * lib/unistr/u16-strcspn.c: New file.
74956         * lib/unistr/u32-strcspn.c: New file.
74957         * lib/unistr/u-strcspn.h: New file.
74958
74959         * modules/unistr/u8-strdup: New file.
74960         * modules/unistr/u16-strdup: New file.
74961         * modules/unistr/u32-strdup: New file.
74962         * lib/unistr/u8-strdup.c: New file.
74963         * lib/unistr/u16-strdup.c: New file.
74964         * lib/unistr/u32-strdup.c: New file.
74965         * lib/unistr/u-strdup.h: New file.
74966
74967         * modules/unistr/u8-strlen: New file.
74968         * modules/unistr/u16-strlen: New file.
74969         * modules/unistr/u32-strlen: New file.
74970         * lib/unistr/u8-strlen.c: New file.
74971         * lib/unistr/u16-strlen.c: New file.
74972         * lib/unistr/u32-strlen.c: New file.
74973         * lib/unistr/u-strlen.h: New file.
74974
74975         * modules/unistr/u8-strmblen: New file.
74976         * modules/unistr/u16-strmblen: New file.
74977         * modules/unistr/u32-strmblen: New file.
74978         * lib/unistr/u8-strmblen.c: New file.
74979         * lib/unistr/u16-strmblen.c: New file.
74980         * lib/unistr/u32-strmblen.c: New file.
74981
74982         * modules/unistr/u8-strmbtouc: New file.
74983         * modules/unistr/u16-strmbtouc: New file.
74984         * modules/unistr/u32-strmbtouc: New file.
74985         * lib/unistr/u8-strmbtouc.c: New file.
74986         * lib/unistr/u16-strmbtouc.c: New file.
74987         * lib/unistr/u32-strmbtouc.c: New file.
74988
74989         * modules/unistr/u8-strncat: New file.
74990         * modules/unistr/u16-strncat: New file.
74991         * modules/unistr/u32-strncat: New file.
74992         * lib/unistr/u8-strncat.c: New file.
74993         * lib/unistr/u16-strncat.c: New file.
74994         * lib/unistr/u32-strncat.c: New file.
74995         * lib/unistr/u-strncat.h: New file.
74996
74997         * modules/unistr/u8-strncmp: New file.
74998         * modules/unistr/u16-strncmp: New file.
74999         * modules/unistr/u32-strncmp: New file.
75000         * lib/unistr/u8-strncmp.c: New file.
75001         * lib/unistr/u16-strncmp.c: New file.
75002         * lib/unistr/u32-strncmp.c: New file.
75003
75004         * modules/unistr/u8-strncpy: New file.
75005         * modules/unistr/u16-strncpy: New file.
75006         * modules/unistr/u32-strncpy: New file.
75007         * lib/unistr/u8-strncpy.c: New file.
75008         * lib/unistr/u16-strncpy.c: New file.
75009         * lib/unistr/u32-strncpy.c: New file.
75010         * lib/unistr/u-strncpy.h: New file.
75011
75012         * modules/unistr/u8-strnlen: New file.
75013         * modules/unistr/u16-strnlen: New file.
75014         * modules/unistr/u32-strnlen: New file.
75015         * lib/unistr/u8-strnlen.c: New file.
75016         * lib/unistr/u16-strnlen.c: New file.
75017         * lib/unistr/u32-strnlen.c: New file.
75018         * lib/unistr/u-strnlen.h: New file.
75019
75020         * modules/unistr/u8-strpbrk: New file.
75021         * modules/unistr/u16-strpbrk: New file.
75022         * modules/unistr/u32-strpbrk: New file.
75023         * lib/unistr/u8-strpbrk.c: New file.
75024         * lib/unistr/u16-strpbrk.c: New file.
75025         * lib/unistr/u32-strpbrk.c: New file.
75026         * lib/unistr/u-strpbrk.h: New file.
75027
75028         * modules/unistr/u8-strrchr: New file.
75029         * modules/unistr/u16-strrchr: New file.
75030         * modules/unistr/u32-strrchr: New file.
75031         * lib/unistr/u8-strrchr.c: New file.
75032         * lib/unistr/u16-strrchr.c: New file.
75033         * lib/unistr/u32-strrchr.c: New file.
75034
75035         * modules/unistr/u8-strspn: New file.
75036         * modules/unistr/u16-strspn: New file.
75037         * modules/unistr/u32-strspn: New file.
75038         * lib/unistr/u8-strspn.c: New file.
75039         * lib/unistr/u16-strspn.c: New file.
75040         * lib/unistr/u32-strspn.c: New file.
75041         * lib/unistr/u-strspn.h: New file.
75042
75043         * modules/unistr/u8-strstr: New file.
75044         * modules/unistr/u16-strstr: New file.
75045         * modules/unistr/u32-strstr: New file.
75046         * lib/unistr/u8-strstr.c: New file.
75047         * lib/unistr/u16-strstr.c: New file.
75048         * lib/unistr/u32-strstr.c: New file.
75049         * lib/unistr/u-strstr.h: New file.
75050
75051         * modules/unistr/u8-strtok: New file.
75052         * modules/unistr/u16-strtok: New file.
75053         * modules/unistr/u32-strtok: New file.
75054         * lib/unistr/u8-strtok.c: New file.
75055         * lib/unistr/u16-strtok.c: New file.
75056         * lib/unistr/u32-strtok.c: New file.
75057         * lib/unistr/u-strtok.h: New file.
75058
75059         * modules/unistr/u8-uctomb: New file.
75060         * modules/unistr/u16-uctomb: New file.
75061         * modules/unistr/u32-uctomb: New file.
75062         * lib/unistr/u8-uctomb.c: New file.
75063         * lib/unistr/u16-uctomb.c: New file.
75064         * lib/unistr/u32-uctomb.c: New file.
75065
75066         * MODULES.html.sh (Unicode string functions): Add the new modules.
75067
75068 2007-01-08  Bruno Haible  <bruno@clisp.org>
75069
75070         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
75071         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
75072         subdirectories.
75073
75074 2007-01-08  Karl Berry  <karl@gnu.org>
75075
75076         * doc/error.texi: mention that main() fns must set program_name
75077         when progname is used.
75078
75079 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
75080
75081         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
75082         WCTYPE_H is empty, for the benefit of builds from non-distclean
75083         directories.  Problem reported by Eric Blake in
75084         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
75085
75086 2007-01-08  Bruno Haible  <bruno@clisp.org>
75087
75088         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
75089         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
75090         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
75091         PROVIDE_CANONICALIZE_FILENAME_MODE.
75092         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
75093
75094 2007-01-08  Bruno Haible  <bruno@clisp.org>
75095
75096         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
75097         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
75098         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
75099         * lib/fts.c: Likewise.
75100         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
75101
75102 2006-12-25  Bruno Haible  <bruno@clisp.org>
75103
75104         * modules/utf8-ucs4-safe: New file.
75105         * lib/utf8-ucs4-safe.h: New file.
75106         * lib/unistr/utf8-ucs4-safe.c: New file.
75107
75108         * modules/utf16-ucs4-safe: New file.
75109         * lib/utf16-ucs4-safe.h: New file.
75110         * lib/unistr/utf16-ucs4-safe.c: New file.
75111
75112         * MODULES.html.sh (Unicode string functions): Add the new modules.
75113
75114 2007-01-08  Bruno Haible  <bruno@clisp.org>
75115
75116         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
75117         (Depends-on): Add unitypes.
75118         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75119         (u8_mbtouc_aux): Move out to separate file.
75120         (u8_mbtouc): Use ucs4_t, uint8_t types.
75121         * lib/unistr/utf8-ucs4.c: New file.
75122
75123         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
75124         (Depends-on): Add unitypes.
75125         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75126         (u16_mbtouc_aux): Move out to separate file.
75127         (u16_mbtouc): Use ucs4_t, uint16_t types.
75128         * lib/unistr/utf16-ucs4.c: New file.
75129
75130         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
75131         (Depends-on): Add unitypes.
75132         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
75133         (u8_uctomb_aux): Move out to separate file.
75134         (u8_uctomb): Use ucs4_t, uint8_t types.
75135         * lib/unistr/ucs4-utf8.c: New file.
75136
75137         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
75138         (Depends-on): Add unitypes.
75139         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
75140         (u16_uctomb_aux): Move out to separate file.
75141         (u16_uctomb): Use ucs4_t, uint16_t types.
75142         * lib/unistr/ucs4-utf16.c: New file.
75143
75144 2006-12-25  Bruno Haible  <bruno@clisp.org>
75145
75146         * modules/unitypes: New file.
75147         * lib/unitypes.h: New file.
75148         * MODULES.html.sh (func_all_modules): New section "Unicode string
75149         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
75150         this section. Add unitypes.
75151
75152 2007-01-08  Bruno Haible  <bruno@clisp.org>
75153
75154         Avoid variable names that conflict with those from libtool.
75155         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
75156         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
75157         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
75158         library_names_spec to acl_library_names_spec, hardcode_* to
75159         acl_hardcode_*.
75160         Reported by Ralf Wildenhues.
75161
75162 2007-01-08  Bruno Haible  <bruno@clisp.org>
75163
75164         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
75165         definition.
75166         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
75167         definition.
75168         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
75169         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
75170         definition.
75171         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
75172         definition.
75173         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
75174         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
75175         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
75176         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
75177         definition.
75178         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
75179         definition.
75180         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
75181         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
75182         GC_USE_<algorithm>.
75183         * lib/gc-libgcrypt.c: Likewise.
75184         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
75185         * modules/gc-arctwo (configure.ac): Likewise.
75186         * modules/gc-des (configure.ac): Likewise.
75187         * modules/gc-hmac-md5 (configure.ac): Likewise.
75188         * modules/gc-hmac-sha1 (configure.ac): Likewise.
75189         * modules/gc-md2 (configure.ac): Likewise.
75190         * modules/gc-md4 (configure.ac): Likewise.
75191         * modules/gc-md5 (configure.ac): Likewise.
75192         * modules/gc-random (configure.ac): Likewise.
75193         * modules/gc-rijndael (configure.ac): Likewise.
75194         * modules/gc-sha1 (configure.ac): Likewise.
75195
75196 2007-01-08  Bruno Haible  <bruno@clisp.org>
75197
75198         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
75199         macro definition.
75200         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
75201         definition.
75202         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
75203         definition.
75204         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
75205         * modules/fcntl-safer (configure.ac): Likewise.
75206         * modules/fopen-safer (configure.ac): Likewise.
75207         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
75208         GNULIB_FWRITEERROR macro definition.
75209
75210 2007-01-08  Bruno Haible  <bruno@clisp.org>
75211
75212         * m4/gnulib-common.m4: New file.
75213         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
75214         (func_get_filelist): Add m4/gnulib-common.m4.
75215
75216 2007-01-08  Bruno Haible  <bruno@clisp.org>
75217
75218         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
75219         command.
75220
75221 2007-01-08  Jim Meyering  <jim@meyering.net>
75222
75223         Use a more robust test for a "can't happen" condition.
75224         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
75225         narrowed the st_size value.  Presuming the "can't happen" condition
75226         is true, that narrowing could conceivably convert an invalid st_size
75227         value into a valid one.  Instead, use a change based on Matthew
75228         Woehlke's original patch.
75229
75230         Slight readability improvement: use an assert-like macro
75231         in place of literal "abort ()" uses.
75232         * lib/fts.c (fts_assert): Define.
75233         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
75234         Use this macro instead of a bare 'abort'.
75235
75236 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
75237
75238         Don't worry about using IRIX 5.3's wctype.h broken definitions;
75239         simply work around them.
75240         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
75241         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
75242         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
75243         declaring.
75244         Don't bother to define as macros, since the standard doesn't require it.
75245         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
75246         longer worry about IRIX 5.3.
75247         (HAVE_WCTYPE_CTMP_BUG): Remove.
75248
75249 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75250
75251         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
75252         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
75253         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
75254         Problems reported by Georg Schwarz for IRIX 5.3.
75255
75256         * gnulib-tool (autoconf_minversion): Take the maximum version number
75257         found, not the minimum.  Problem reported by James Youngman.
75258
75259 2007-01-03  Karl Berry  <karl@gnu.org>
75260
75261         * doc/error.texi: new file, explaining interaction with progname.
75262         * doc/gnulib.texi: include it.  Update copyright.
75263
75264 2007-01-03  Simon Josefsson  <simon@josefsson.org>
75265
75266         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
75267         AC_CANONICAL_HOST, to improve autobuild outputs.
75268
75269 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
75270             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
75271
75272         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
75273         sockets, server sockets, and other file descriptors.  Count errors
75274         to compute the return value.  Reorder the code a bit to be easier
75275         to follow.  Don't set event bits that were not requested (except
75276         POLLERR and POLLHUP).
75277
75278 2007-01-01  Bruno Haible  <bruno@clisp.org>
75279
75280         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
75281
75282 2007-01-03  Jim Meyering  <jim@meyering.net>
75283
75284         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
75285
75286 2007-01-02  Bruno Haible  <bruno@clisp.org>
75287
75288         * modules/settime (Include): Require timespec.h.
75289         * modules/nanosleep (Include): Likewise.
75290
75291 2007-01-01  Bruno Haible  <bruno@clisp.org>
75292
75293         * gnulib-tool (func_emit_copyright_notice): Bump year.
75294         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
75295
75296 2007-01-01  Bruno Haible  <bruno@clisp.org>
75297
75298         Improve support for OpenBSD.
75299         * build-aux/config.rpath (libname_spec): Export.
75300         (library_names_spec): New variable. Export.
75301         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
75302         library_names_spec from the config.rpath output. Locate shared library
75303         through the name pattern in library_names_spec.
75304
75305 2007-01-01  Eric Blake  <ebb9@byu.net>
75306
75307         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
75308
75309 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
75310
75311         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
75312         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
75313         assume the C locale, and avoid an "eval" that could cause trouble.
75314         Problem with SORT reported by Bob Proulx.
75315
75316         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
75317         Define.  Trivial patch from Henning Nielsen Lund, originally
75318         sent to bug-grep@gnu.org today.
75319
75320 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
75321
75322         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
75323         struct stat.  Problem reported by Henning Nielsen Lund.
75324         * lib/acl.c: Include acl.h first, to check interface.  Don't
75325         bother to include sys/types.h and sys/stat.h again.
75326
75327 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75328
75329         Import the following change from libc; problem reported by
75330         Sven Verdoolaege.
75331
75332         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
75333
75334         [BZ #1373]
75335         * lib/argp.h: Remove __NTH for __argp_usage inline function.
75336
75337 2006-12-28  Jim Meyering  <jim@meyering.net>
75338
75339         * build-aux/announce-gen: Do not assume that the package
75340         builds any of tar.gz, tar.bz2, and .xdelta files.
75341         Suggestion from Simon Josefsson.
75342
75343 2006-12-28  Simon Josefsson  <simon@josefsson.org>
75344
75345         * modules/announce-gen: New file.
75346
75347 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
75348
75349         * lib/mbchar.h: Just include <wctype.h>; the wctype module
75350         handles its gotchas now.
75351         * lib/mbswidth.c: Likewise.
75352         * lib/wcwidth.h: Likewise.
75353         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
75354         and iswcntrl; the wctype module does this stuff now.
75355         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75356         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75357         * modules/mbchar (Depends-on): Add wctype.
75358         * modules/mbswidth (Depends-on): Likewise.
75359         * modules/wcwidth (Depends-on): Likewise.
75360
75361 2006-12-27  Eric Blake  <ebb9@byu.net>
75362
75363         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
75364         module uses more than what <wctype.h> is required to provide.
75365
75366 2006-12-26  Eric Blake  <ebb9@byu.net>
75367
75368         * gnulib-tool (sed_extract_prog): Avoid space-tab.
75369
75370 2006-12-26  Eric Blake  <ebb9@byu.net>
75371
75372         * modules/absolute-header: New module.
75373         * modules/fcntl (Depends-on): Depend on it.
75374         * modules/inttypes (Depends-on): Likewise.
75375         * modules/stdint (Depends-on): Likewise.
75376         * modules/sys_stat (Depends-on): Likewise.
75377         * modules/wctype (Depends-on): Likewise.
75378         * MODULES.html.sh (Support for building libraries and
75379         executables): Document it.
75380
75381 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
75382
75383         * gnulib-tool (SED): Remove, undoing previous change.
75384         The problem was that it broke coreutils on Solaris, because
75385         "sed --posix" leaked into a makefile.
75386         (sed): New alias, if 'alias' and GNU sed.
75387
75388 2006-12-24  Jim Meyering  <jim@meyering.net>
75389
75390         Work around an fchownat bug in glibc-2.4:
75391         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
75392         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
75393         in spite of the -P option.
75394         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
75395         New macros.
75396         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
75397         * modules/openat (Files): Add lib/fchownat.c.
75398         * lib/openat.c (fchownat): Don't define here.  Move to...
75399         * lib/fchownat.c: ...this new file.
75400
75401 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75402
75403         Fix bug reported by Bruno Haible in
75404         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
75405         where quotearg.c didn't compile on Mac OS X 10.2 because it
75406         lacks <wchar.h> and wint_t.
75407         * lib/wctype_.h (__wctype_wint_t): New type.
75408         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
75409         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
75410         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
75411         Arg is now of type __wctype_wint_t, not wint_t.
75412         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
75413         substitute HAVE_WINT_T.
75414         * modules/wctype (Files): Add m4/wint_t.m4.
75415         (wctype.h): Substitute HAVE_WINT_T.
75416
75417 2006-12-23  Bruno Haible  <bruno@clisp.org>
75418
75419         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
75420
75421 2006-12-23  Bruno Haible  <bruno@clisp.org>
75422
75423         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
75424         S_ISLNK.
75425         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
75426         mingw.
75427
75428 2006-12-22  Bruno Haible  <bruno@clisp.org>
75429
75430         * lib/copy-file.c: Include acl.h.
75431         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
75432         Close the file descriptors only after being done with copy_acl.
75433         * modules/copy-file (Depends-on): Add acl.
75434
75435 2006-12-22  Bruno Haible  <bruno@clisp.org>
75436
75437         * gnulib-tool (SED): New variable.
75438         Use $SED instead of sed everywhere.
75439
75440 2006-12-22  Bruno Haible  <bruno@clisp.org>
75441
75442         * modules/no-c++: New file.
75443         * m4/no-c++.m4: New file.
75444         * MODULES.html.sh (Support for building libraries and executables):
75445         Add no-c++.
75446
75447 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
75448
75449         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75450         Include <limits.h>, and use its INT_MAX to rewrite the
75451         j loop so that it does not overflow 'int'.  Problem reported by
75452         Ralf Wildenhues in
75453         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
75454         Play it safe by shifting left by 1 rather than multiplying by 2,
75455         as GCC is less likely to optimize this away when the value
75456         is signed (when it assumes overflow leads to undefined behavior).
75457         Also, don't assume time_t uses two's complement.
75458
75459 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
75460
75461         * MODULES.html.sh: New module wctype.
75462         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
75463         * lib/fnmatch.c: Don't bother to include <wchar.h> before
75464         <wctype.h>, since the new wctype module should fix this.
75465         * lib/quotearg.c: Include <wctype.h> unconditionally, since
75466         the wctype module should arrange for it.
75467         * lib/regex_internal.h: Likewise.
75468         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
75469         since the wctype module should handle this now.
75470         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
75471         * modules/fnmatch (Depends-on): Add wctype.
75472         * modules/quotearg (Depends-on): Likewise.
75473         * modules/regex (Depends-on): Likewise.
75474
75475 2006-12-19  Bruno Haible  <bruno@clisp.org>
75476
75477         * lib/strdup.h [C++]: Wrap definitions in extern "C".
75478         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
75479
75480 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75481
75482         * modules/savewd (Depends-on): Fix dependency on fcntl.
75483
75484 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75485
75486         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
75487         conforms to C99, rather than relying on the user's environment
75488         setting of STDINT_H.
75489
75490 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75491         and Eric Blake  <ebb9@byu.net>
75492
75493         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
75494         This is more consistent with the other defines here.
75495         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
75496         Port to z/OS.  Problem reported by Paul Gilmartin.
75497         Change local vars to use gl_ prefix rather than ac_.
75498         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
75499         with other defines.
75500         * modules/double-slash-root: New module.
75501         * modules/dirname (Files): Remove m4/double-slash-root.m4.
75502         (Depends-on): Add double-slash-root.
75503         * MODULES.html.sh (File system functions): Mention new module.
75504
75505 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
75506
75507         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
75508         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
75509         This is for the benefit of gzip, which doesn't do i18n.
75510
75511 2006-12-12  Jim Meyering  <jim@meyering.net>
75512
75513         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
75514         Reported by Andreas Schwab <schwab@suse.de>.
75515
75516 2006-12-12  Bruno Haible  <bruno@clisp.org>
75517
75518         Merge these changes.
75519         2006-09-05  Bruno Haible  <bruno@clisp.org>
75520         * lib/iconvme.c (iconv_string): No need to save and restore errno when
75521         iconv_alloc succeeded.
75522         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
75523         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
75524         test for " && dest " at the end - dest is always != NULL there. Call
75525         iconv with 4xNULL arguments initially, to reset the state. Call iconv
75526         with 2xNULL arguments, also to flush the state storage. Handle the
75527         IRIX iconv behaviour. Realloc the final result, to throw away unused
75528         memory.
75529
75530 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
75531
75532         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
75533         and fchmodat unconditionally, since glibc 2.4 has them.
75534         Problem reported by Arkadiusz Miskiewicz.
75535
75536 2006-12-10  Bruno Haible  <bruno@clisp.org>
75537
75538         * gnulib-tool (func_import): Show the include files only for those
75539         modules that are copied and specified.
75540         Reported by Karl Berry.
75541
75542 2006-12-08  Jim Meyering  <jim@meyering.net>
75543
75544         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
75545         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
75546
75547         * build-aux/announce-gen: Add two new options, both optional:
75548         --bootstrap-tools=TOOL_LIST
75549               a comma-separated list of tools, e.g.,
75550               autoconf,automake,bison,gnulib
75551         --gnulib-snapshot-date=DATE
75552               if gnulib is in the bootstrap tool list,
75553               then report this as the snapshot date.
75554               If not specified, use the current date/time.
75555               If you specify a date here, be sure it's UTC.
75556
75557 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75558
75559         * tests/test-argp-2.sh: Fix test to match actual output.
75560         (func_compare): Fix sed script to be portable.
75561
75562 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
75563
75564         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
75565         workaround for this case.  It is not autoconfigured now; offhand
75566         it's hard to see how to autoconfigure it.
75567
75568 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75569
75570         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
75571         a directory that is about to be chowned.  Such a directory's
75572         initial file permissions should permit the owner only and this
75573         should not be changed until after the chown, since the group and
75574         other bits would be incorrect if they granted permission before
75575         the chown.
75576
75577         Fix porting problem for iswctype reported by Georg Schwarz in:
75578         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
75579         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
75580         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
75581         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
75582         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75583
75584 2006-12-03  Jim Meyering  <jim@meyering.net>
75585
75586         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
75587         p->fts_statp may not yet be defined.
75588         (fts_read): Instead, set it in the caller, once p->fts_statp is
75589         sure to be defined, and corresponds to a top-level directory.
75590         This bug made du -x fail.  Here's the coreutils test case:
75591         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
75592         Reported by Mike Frysinger.
75593
75594 2006-12-01  Jim Meyering  <jim@meyering.net>
75595
75596         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
75597         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
75598         Reported by Simon Josefsson.
75599
75600 2006-11-30  Jim Meyering  <jim@meyering.net>
75601
75602         * m4/warning.m4: Use the all-permissive copyright notice
75603         recommended by RMS (rather than LGPL).
75604         * m4/vararrays.m4: Likewise.
75605         * m4/flexmember.m4: Likewise.
75606
75607 2006-11-29  Bruno Haible  <bruno@clisp.org>
75608
75609         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75610         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
75611         using +=.
75612         Reported by Simon Josefsson <simon@josefsson.org>.
75613
75614 2006-11-28  James Youngman <jay@gnu.org>
75615
75616         * README: Advise users that they might find the bug-gnulib@gnu.org
75617         and autotools-announce@gnu.org mailing lists useful.
75618
75619 2006-11-28  Bruno Haible  <bruno@clisp.org>
75620
75621         * m4/ptrdiff_max.m4: Remove file.
75622
75623 2006-11-21  Bruno Haible  <bruno@clisp.org>
75624
75625         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
75626         _AC_COMPUTE_INT.
75627         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75628         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
75629         _AC_COMPUTE_INT.
75630         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75631         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
75632         _AC_COMPUTE_INT.
75633         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75634
75635 2006-11-28  Jim Meyering  <jim@meyering.net>
75636
75637         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
75638         warning from "gcc -Wshadow" about shadowing the builtin.
75639
75640 2006-11-27  Bruno Haible  <bruno@clisp.org>
75641
75642         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
75643         _AC_COMPUTE_INT.
75644         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75645
75646 2006-11-27  Bruno Haible  <bruno@clisp.org>
75647             Paul Eggert  <eggert@cs.ucla.edu>
75648
75649         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
75650
75651 2006-11-26  Bruno Haible  <bruno@clisp.org>
75652
75653         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75654         noinst_LTLIBRARIES.
75655
75656 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
75657             Bruno Haible  <bruno@clisp.org>
75658
75659         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
75660         if compiling with "gcc -ansi".
75661
75662 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
75663
75664         Fix some incompatibilities with gcc -ansi -pedantic.
75665         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
75666         if compiling pedantically with GCC, unless it's C99 or later.
75667         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
75668         it mishandles gcc -ansi -pedantic as well.
75669         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
75670         if gcc -pedantic.
75671         * lib/regexec.c (check_node_accept_bytes): Don't use auto
75672         initializers for struct if -pedantic, unless it's C99 or later.
75673
75674 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
75675
75676         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
75677         Don't close an fd more than once. Identical atimes indicate
75678         success, not failure.
75679
75680 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
75681
75682         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
75683
75684 2006-11-23  Jim Meyering  <jim@meyering.net>
75685
75686         * build-aux/announce-gen: New file.  From coreutils.
75687
75688 2006-11-22  Jim Meyering  <jim@meyering.net>
75689
75690         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
75691         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
75692         (fts_read): Use a temporary to narrow the overused st_size member
75693         before using it in a switch statement.  Reported by Matthew Woehlke.
75694
75695         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
75696         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
75697
75698 2006-11-20  Bruno Haible  <bruno@clisp.org>
75699
75700         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
75701         changequote instead of pairs of brackets.
75702         Reported by Andreas Schwab <schwab@suse.de>.
75703
75704 2006-11-21  Jim Meyering  <jim@meyering.net>
75705
75706         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
75707         so as to remain compatible with older compilers.
75708         Patch from Michael Deutschmann.
75709
75710 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75711
75712         * MODULES.html.sh (File system functions): Add openat.
75713
75714         * lib/openat.h (rpl_fstatat): New macro, if
75715         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
75716         (fstatat): Define to rpl_fstatat under the same conditions,
75717         unless COMPILING_FSTATAT.
75718         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
75719         seems to have the bug.
75720         * lib/fstatat.c: New file.
75721         * modules/openat (Files): Add it.
75722
75723 2006-11-20  Bruno Haible  <bruno@clisp.org>
75724
75725         * Makefile: New file.
75726
75727 2006-11-20  Jim Meyering  <jim@meyering.net>
75728
75729         The beginnings of syntax-related checks for gnulib.
75730         * lib/Makefile: New file.
75731         * lib/t-idcache: New script.  Ensure that the two halves of
75732         idcache.c stay in sync.
75733
75734         * lib/idcache.c: Adjust comments in user- and group- portions to
75735         be more accurate, and to be consistent with one another.
75736
75737 2006-11-20  Jim Meyering  <jim@meyering.net>
75738
75739         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
75740         continue using the flexible array member (thus, this module performs
75741         half as many malloc calls), with the addition that...
75742         (getgroup, getuser): Consistently record a non-match via an empty
75743         "name" string, and map an empty string match to a NULL return value.
75744         * modules/idcache (Depends-on): Re-add flexmember.
75745
75746         * lib/idcache.c (getuser): Remove all uses of the register keyword.
75747         (getuidbyname, getgroup, getgidbyname): Likewise.
75748
75749         Use cleaner syntax: NULL rather than 0.
75750         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
75751
75752 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75753
75754         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
75755         It mishandled the case where the group was missing.
75756         Problem reported by Greg Schafer.
75757         * modules/idcache: Likewise.
75758
75759 2006-11-18  Jim Meyering  <jim@meyering.net>
75760
75761         * check-module (%exempt_header): Add exception for some
75762         conditionally-included headers.
75763
75764         * modules/i-ring (Depends-on): Add verify.
75765         (License): Change to LGPL.
75766
75767 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75768
75769         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
75770         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
75771         and inttostr.h.  Use snprintf rather than uinttostr, so that
75772         LGPLed code doesn't depend on GPLed.
75773
75774 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
75775
75776         * modules/inline (License): Change from GPL to LGPL.
75777
75778 2006-11-17  Jim Meyering  <jim@meyering.net>
75779
75780         * modules/d-type (License): Switch to LGPL.
75781
75782 2006-11-15  Bruno Haible  <bruno@clisp.org>
75783
75784         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
75785
75786 2006-11-15  Eric Blake  <ebb9@byu.net>
75787
75788         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
75789         the module dependency.
75790
75791 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75792             Bruno Haible  <bruno@clisp.org>
75793
75794         * gnulib-tool (func_create_testdir): Add license consistency check.
75795
75796 2006-11-15  Eric Blake  <ebb9@byu.net>
75797
75798         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
75799         random "(cached)" in configure output.
75800
75801 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75802
75803         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
75804         test for conforming inttypes.h is both announced and cached.
75805
75806         * MODULES.html.sh (seen_modules, seen_files): New variables.
75807         (func_module): Rewrite to use a few less gnulib-tool and sed
75808         invocations.  Avoid a couple of quadratic algorithms for ...
75809         (missed_modules, missed_files): ... these, with ...
75810         (func_append, func_tmpdir): ... these new functions, from
75811         gnulib-tool.  Analogously, install traps for cleanup.
75812
75813         * tests/test-gc.c (main): Remove unused variables.
75814         * tests/test-read-file.c: Include stdlib.h, for 'free'.
75815
75816 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
75817
75818         * modules/inttostr (License): Change to LGPL.
75819
75820 2006-11-14  Eric Blake  <ebb9@byu.net>
75821
75822         * modules/tempname (License): Change to LGPL.
75823
75824 2006-11-14  Eric Blake  <ebb9@byu.net>
75825
75826         * doc/functions.texi (Function Portability): *printf functions on
75827         Cygwin now understand all POSIX size specifiers.
75828
75829 2006-11-14  Bruno Haible  <bruno@clisp.org>
75830
75831         * modules/c-ctype (License): Change to LGPL.
75832
75833 2006-11-12  Bruno Haible  <bruno@clisp.org>
75834
75835         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
75836         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
75837         for GNOME libraries, for which the include files are installed in
75838         subdirectories of $prefix/include.
75839
75840 2006-11-12  Bruno Haible  <bruno@clisp.org>
75841
75842         * m4/lib-link.m4: Require at least autoconf-2.54.
75843         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
75844         name to underscores for the --with option.
75845
75846 2006-11-13  Bruno Haible  <bruno@clisp.org>
75847
75848         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
75849         the tests directory.
75850         Reported by Ralf Wildenhues.
75851
75852 2006-11-13  Bruno Haible  <bruno@clisp.org>
75853
75854         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
75855         (func_emit_initmacro_end): Undo the override here.
75856         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
75857         Works around the famous automake error in coreutils.
75858
75859 2006-11-13  Eric Blake  <ebb9@byu.net>
75860
75861         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
75862         element, not its node.
75863
75864 2006-11-12  Bruno Haible  <bruno@clisp.org>
75865
75866         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
75867         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
75868
75869 2006-11-12  Bruno Haible  <bruno@clisp.org>
75870
75871         * gnulib-tool: New option --local-symlink.
75872         (func_usage): Document it.
75873         (lsymbolic): New variable.
75874         (func_import, func_create_testdir): If --symlink was not specified,
75875         test whether --local-symlink was specified and the file comes from
75876         the local_gnulib_dir.
75877
75878 2006-11-12  Bruno Haible  <bruno@clisp.org>
75879
75880         * gnulib-tool (func_ln): New function.
75881         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
75882
75883 2006-11-12  Bruno Haible  <bruno@clisp.org>
75884
75885         Finish support for source files in subdirectories.
75886         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
75887         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
75888         AUTOMAKE_OPTIONS.
75889         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
75890
75891 2006-11-12  Bruno Haible  <bruno@clisp.org>
75892
75893         * gnulib-tool (func_get_automake_snippet): Synthesize also an
75894         EXTRA_lib_SOURCES augmentation.
75895         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
75896
75897 2006-11-12  Jim Meyering  <jim@meyering.net>
75898
75899         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
75900         file descriptors.  This also averts a failure on systems with
75901         native openat support when a traversed directory lacks "x" access.
75902         * lib/fts_.h: Include "i-ring.h"
75903         (struct FTS) [fts_fd_ring]: New member.
75904         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
75905         (FCHDIR): Add parentheses.
75906         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
75907         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
75908         When descending, rather than simply closing the previous
75909         fts_cwd_fd value, push that file descriptor onto the ring.
75910         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
75911         (fts_open): Initialize the new fd_ring member.
75912         (fts_close): Clear the ring.
75913         (fts_safe_changedir): When possible, use our new fd_ring to skip
75914         the diropen and fstat and dev/ino comparison that would normally
75915         accompany a virtual `chdir ("..")'.
75916
75917         * modules/fts (Depends-on): Add i-ring.
75918         * modules/i-ring: New module.
75919         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
75920         * m4/i-ring.m4: New file.
75921
75922 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75923
75924         * gnulib-tool (func_create_testdir): Fix replacement of
75925         `build-aux' in configure.ac.  Run autotools in gltests
75926         subdirectory.
75927         (func_create_testdir, func_create_megatestdir, test): There is
75928         no need for '--force' in most autotool invocations in a new
75929         tree.  Actually fail the whole test if any of the tools, or the
75930         configure or make stages fail.
75931
75932         Sync from Automake.
75933         * build-aux/gnupload: Revert last change.  Add pointer to upload
75934         instructions of the GNU Maintenance Instructions.
75935         Suggestion by Karl Berry.
75936
75937 2006-11-10  Jim Meyering  <jim@meyering.net>
75938
75939         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
75940
75941 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75942
75943         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
75944         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
75945         (bind_textdomain_codeset) [! ENABLE_NLS]:
75946         Evaluate all the arguments.  That way, callers get compatible behavior
75947         if the arguments have side effects.  Also, it avoids some GCC
75948         diagnostics in some cases; Joel E. Denny reported problems when Bison
75949         was configured with --enable-gcc-warnigs.
75950
75951 2006-11-10  Jim Meyering  <jim@meyering.net>
75952
75953         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
75954         relevant options in CFLAGS (like -O, -fno-inline) are taken into
75955         account.
75956
75957 2006-11-10  Jim Meyering  <jim@meyering.net>
75958
75959         * modules/inline: New file/module.
75960         * modules/xalloc (Files): Remove m4/inline.m4.
75961         (Depends-on): Add inline, instead.
75962         * modules/oset: Likewise.
75963         * modules/list: Likewise.
75964
75965 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75966
75967         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
75968         Problem reported by Matthew Woehlke.
75969
75970 2006-11-09  Bruno Haible  <bruno@clisp.org>
75971
75972         * lib/tempname.c (gen_tempname): Remove variant that invokes
75973         __gen_tempname.
75974         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
75975         __gen_tempname.
75976
75977 2006-11-08  Bruno Haible  <bruno@clisp.org>
75978
75979         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
75980         to 'yes' instead of 'cross-compiling'.
75981
75982 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
75983
75984         * lib/quotearg.h (quotearg_free): New decl.
75985         * lib/quotearg.c (quotearg_free): New function.
75986         (slot0, nslots, slotvec0, slotvec):
75987         Now file-scope so that quotearg_free can get at them.
75988
75989 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75990
75991         Sync from Automake.
75992         * build-aux/gnupload: Add missing 'gnu' to example URL.
75993         Report by Karl Berry.
75994
75995 2006-11-08  Bruno Haible  <bruno@clisp.org>
75996
75997         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
75998         Suggested by Paul Eggert.
75999
76000 2006-11-08  Jim Meyering  <jim@meyering.net>
76001
76002         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
76003         It's already included if !_LIBC.
76004         (fts_safe_changedir): Add a comment.
76005
76006 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76007
76008         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
76009         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
76010         Matthew Woehlke.
76011
76012         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
76013         definitions up, to avoid colliding with change below.
76014         (static_inline) [HAVE_INLINE]: New macro.
76015         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
76016         Provide extern decls when !HAVE_INLINE.  Do not define unless
76017         static_inline is defined, either by us or by xmalloc.c.  Use
76018         static_inline rather than static inline.
76019         (XCALLOC): Optimize sizeof(T) = 1 case.
76020         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
76021
76022 2006-11-07  Bruno Haible  <bruno@clisp.org>
76023
76024         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
76025         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
76026         AC_C_INLINE.
76027         * modules/xalloc (Files): Add m4/inline.m4.
76028
76029 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76030
76031         * README: Fix typo.
76032         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
76033         (Miscellanous Notes): ...from this.
76034
76035 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76036
76037         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
76038         Mention that offsetof should be used instead of sizeof.
76039         From Bruno Haible.
76040
76041 2006-11-07  Bruno Haible  <bruno@clisp.org>
76042
76043         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
76044
76045 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76046
76047         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76048         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
76049         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76050         (gl_tree_add_before, gl_tree_add_after):
76051         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
76052         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
76053         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
76054         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
76055         (gl_linked_add_after, gl_linked_add_at): Likewise.
76056         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
76057         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76058         (gl_tree_add_before, gl_tree_add_after): Likewise.
76059         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
76060         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
76061         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76062
76063 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76064
76065         * lib/gl_oset.h: Use C comment style, not C++ comment style.
76066
76067 2006-11-06  Bruno Haible  <bruno@clisp.org>
76068
76069         * m4/inline.m4: New file.
76070         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
76071         * modules/list (Files): Add m4/inline.m4.
76072         * modules/oset (Files): Likewise.
76073
76074 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76075
76076         * lib/idcache.c: Include <stddef.h>, for offsetof.
76077         (struct userid.name): Change from char * to a flexible array member.
76078         All uses changed.
76079         * modules/idcache (Depends-on): Add flexmember.
76080
76081         * MODULES.html.sh (Core language properties): New module flexmember.
76082         * modules/flexmember, m4/flexmember.m4: New files.
76083
76084         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
76085         inline functions that are identical with the old xnmalloc_inline,
76086         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
76087         that we can avoid some unnecessary integer multiplications and
76088         divisions in the common case where the element size is known at
76089         compile time.
76090         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
76091         needed.
76092         (xnboundedmalloc): Remove.
76093         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
76094         arguments, for consistency with rest of this header.
76095         (xcharalloc): Rewrite using XNMALLOC.
76096         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
76097         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
76098         versions have been moved to lib/xalloc.h and renamed to be the
76099         non-*_inline versions.
76100         (xmalloc, xrealloc): Implement without reference to the xnmalloc
76101         and xnrealloc functions, since those functions are now inline and
76102         now call us.
76103         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
76104         renaming described above.
76105         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
76106         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
76107         captures the dependency in AC_C_INLINE.
76108
76109         New module canonicalize-lgpl, proposed by Charles Wilson in
76110         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
76111         with a few small changes afterwards.
76112         * MODULES.html.sh (File system functions): New module
76113         canonicalize-lgpl.
76114         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
76115         and canonicalize_file_name.
76116         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
76117         * modules/canonicalize-lgpl: New files.
76118
76119 2006-11-05  Bruno Haible  <bruno@clisp.org>
76120
76121         * gnulib-tool (func_import, func_create_testdir): Create directories
76122         also for files in subdirectories of lib/.
76123
76124 2006-11-05  Bruno Haible  <bruno@clisp.org>
76125
76126         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
76127         ANSI C compliant.
76128
76129 2006-11-03  Bruno Haible  <bruno@clisp.org>
76130
76131         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76132         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
76133         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
76134         (xnboundedmalloc): New inline function.
76135         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
76136         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
76137         xmalloc.
76138         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
76139         xmalloc.
76140         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
76141         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
76142         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
76143         xmalloc.
76144         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76145         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
76146         xmalloc.
76147         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
76148         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76149         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
76150         xmalloc.
76151         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76152         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
76153         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76154         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
76155         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
76156         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
76157         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
76158
76159 2006-11-03  Bruno Haible  <bruno@clisp.org>
76160
76161         * lib/c-ctype.h [C++]: Define functions without name mangling.
76162         * lib/fwriteerror.h [C++]: Likewise.
76163         * lib/gcd.h [C++]: Likewise.
76164         * lib/linebreak.h [C++]: Likewise.
76165
76166 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76167
76168         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
76169         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
76170         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
76171         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76172         Check for functions and headers just once.
76173         Check for declaration of canonicalize_file_name.
76174         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
76175
76176 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76177
76178         * gnulib-tool (func_import): Fix typo in actioncmd.
76179
76180 2006-11-02  Bruno Haible  <bruno@clisp.org>
76181
76182         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
76183         newline sequence in the Makefile.am snippet as a space, like "make"
76184         does.
76185         Reported by Roger Persson <perrog@gmail.com>.
76186
76187 2006-11-01  Bruno Haible  <bruno@clisp.org>
76188
76189         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
76190         already declared in <string.h>.
76191         * lib/strcase.h (strncasecmp): Don't declare it if yes.
76192
76193 2006-11-01  Bruno Haible  <bruno@clisp.org>
76194
76195         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
76196         * lib/strcase.h: Include <string.h>.
76197         (strcasecmp): Define to rpl_strcasecmp here.
76198
76199 2006-11-01  Bruno Haible  <bruno@clisp.org>
76200
76201         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
76202
76203 2006-11-01  Eric Blake  <ebb9@byu.net>
76204
76205         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
76206
76207         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
76208
76209 2006-10-29  Bruno Haible  <bruno@clisp.org>
76210
76211         Make it compile in C++ mode.
76212         * lib/full-write.c (full_rw): Add a cast.
76213
76214 2006-11-01  Bruno Haible  <bruno@clisp.org>
76215
76216         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
76217         be POSIX compliant.
76218         Reported by Roger Persson <perrog@gmail.com>.
76219
76220 2006-11-01  Eric Blake  <ebb9@byu.net>
76221
76222         * lib/getopt_.h: Fix comments.
76223
76224 2006-10-31  Eric Blake  <ebb9@byu.net>
76225
76226         * modules/tmpdir (Depends-on): Add sys_stat.
76227         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
76228         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
76229         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
76230         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
76231         tempname.
76232
76233 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
76234
76235         Avoid some C++ diagnostics reported by Bruno Haible.
76236         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
76237         xmalloc.
76238         (quotearg_alloc): Use xcharalloc rather than xmalloc.
76239         (struct slotvec): Move to top level.
76240         (quotearg_n_options): Rewrite to avoid xmalloc.
76241         * lib/xalloc.h (xcharalloc): New function.
76242         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
76243         [defined __cplusplus]: Add function template that provides result
76244         type propagation.  This part of the change is from Bruno Haible.
76245
76246 2006-10-29  Bruno Haible  <bruno@clisp.org>
76247
76248         Make it compile in C++ mode.
76249         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
76250         * lib/strnlen1.c (strnlen1): Cast memchr result.
76251         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
76252         * lib/clean-temp.c (string_equals, string_hash): Add casts.
76253         (create_temp_dir): Rename local variable 'template'.
76254         (compile_csharp_using_sscli): Add cast.
76255         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
76256         * lib/findprog.c (find_in_path): Likewise.
76257         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
76258         * lib/wait-process.c (register_slave_subprocess): Likewise.
76259
76260 2006-10-22  Bruno Haible  <bruno@clisp.org>
76261
76262         * modules/tsearch: New file.
76263         * lib/tsearch.h: New file.
76264         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
76265         * m4/tsearch.m4: New file.
76266         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
76267
76268 2006-10-29  Eric Blake  <ebb9@byu.net>
76269
76270         * lib/arcfour.c: Assume config.h.
76271         * lib/arctwo.c: Likewise.
76272         * lib/base64.c: Likewise.
76273         * lib/check-version.c: Likewise.
76274         * lib/crc.c: Likewise.
76275         * lib/des.c: Likewise.
76276         * lib/gc-gnulib.c: Likewise.
76277         * lib/gc-libgcrypt.c: Likewise.
76278         * lib/gc-pbkdf2-sha1.c: Likewise.
76279         * lib/getaddrinfo.c: Likewise.
76280         * lib/getdelim.c: Likewise.
76281         * lib/getline.c: Likewise.
76282         * lib/hmac-md5.c: Likewise.
76283         * lib/hmac-sha1.c: Likewise.
76284         * lib/iconvme.c: Likewise.
76285         * lib/md2.c: Likewise.
76286         * lib/md4.c: Likewise.
76287         * lib/memxor.c: Likewise.
76288         * lib/read-file.c: Likewise.
76289         * lib/readline.c: Likewise.
76290         * lib/rijndael-alg-fst.c: Likewise.
76291         * lib/rijndael-api-fst.c: Likewise.
76292         * lib/xgetdomainname.c: Likewise.
76293
76294 2006-10-28  Eric Blake  <ebb9@byu.net>
76295
76296         * lib/xstrndup.c: Assume config.h.
76297
76298 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76299
76300         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
76301         stat-macros.h is now for our own macros, whereas stat_h is for
76302         macros in the <sys/stat.h> name space.
76303         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
76304         (STAT_MACROS_H): Remove.
76305         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
76306         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
76307         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
76308         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
76309         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
76310         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
76311         Move these macros to ...
76312         * lib/stat_.h: here.  Don't include stat-macros.h.
76313         * lib/canonicalize.c: Don't include stat-macros.h.
76314         * lib/chown.c: Likewise.
76315         * lib/euidaccess.c: Likewise.
76316         * lib/file-type.c: Likewise.
76317         * lib/filemode.c: Likewise.
76318         * lib/glob.c: Likewise.
76319         * lib/isapipe.c: Likewise.
76320         * lib/lchown.c: Likewise.
76321         * lib/lstat.c: Likewise.
76322         * lib/mkdir-p.c: Likewise.
76323         * lib/rmdir.c: Likewise.
76324         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
76325         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
76326         unless mkdir isn't declared, to speed up 'configure'.
76327         Always create sys/stat.h, since it's unlikely any real sys/stat.h
76328         would define all the S_* symbols.
76329         * modules/canonicalize (Depends-on):
76330         Depend on sys_stat, not stat-macros.
76331         * modules/chown: Likewise.
76332         * modules/euidaccess: Likewise.
76333         * modules/filemode: Likewise.
76334         * modules/file-type: Likewise.
76335         * modules/glob: Likewise.
76336         * modules/isapipe: Likewise.
76337         * modules/lchown: Likewise.
76338         * modules/lstat: Likewise.
76339         * modules/mkancesdirs: Likewise.
76340         * modules/rmdir: Likewise.
76341         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
76342         * modules/modechange: Likewise.
76343         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
76344         (configure.ac): Remove gl_STAT_MACROS.
76345         * modules/sys_stat (Depends-on): Remove stat-macros.
76346
76347 2006-10-27  Bruno Haible  <bruno@clisp.org>
76348
76349         * m4/signed.m4: Remove file.
76350         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
76351         invocation.
76352         * modules/vasnprintf (Files): Remove m4/signed.m4.
76353
76354 2006-10-27  Bruno Haible  <bruno@clisp.org>
76355
76356         Update to GNU gettext 0.16.
76357         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
76358         m4/inttypes-h.m4, m4/signed.m4.
76359         * m4/gettext.m4: Update to GNU gettext 0.16.
76360         * m4/intl.m4: New file, from GNU gettext.
76361         * m4/intldir.m4: New file, from GNU gettext.
76362         * config/srclist.txt: Update
76363
76364 2006-10-27  Eric Blake  <ebb9@byu.net>
76365
76366         * MODULES.html.sh: Document tempname.
76367         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
76368         dependencies.
76369         (Files): Move lib/tempname.c...
76370         * modules/tempname: ...to this new module.
76371         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
76372         (gl_PREREQ_TEMPNAME): Move...
76373         * m4/tempname.m4: ...to this new file.
76374         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
76375         * modules/sys_stat (Depends-on): Add stat-macros.
76376         * lib/stat_.h (includes): Pick up stat macros.
76377         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
76378         if stat macros are broken.
76379         * lib/tempname.c (includes): No need to include "stat-macros.h".
76380         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
76381         (direxists, __path_search) [!_LIBC]: Don't compile these in
76382         gnulib; the tmpdir module covers that.
76383         * lib/tempname.h: New file.
76384
76385 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
76386
76387         * COPYING: Explain how gnulib-tool converts licence headers.
76388         Almost all wording by Eric Blake.
76389
76390 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
76391
76392         * lib/mbchar.h (is_basic_table): Make read-only.
76393         * lib/mbchar.c (is_basic_table): Likewise.
76394         Reported by John Darrington.
76395
76396 2006-10-25  Bruno Haible  <bruno@clisp.org>
76397
76398         * lib/progname.h (set_program_name): Undefine before defining.
76399
76400 2006-10-25  Bruno Haible  <bruno@clisp.org>
76401
76402         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
76403         false for non-gcc C++ compilers.
76404         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
76405
76406 2006-10-24  Bruno Haible  <bruno@clisp.org>
76407
76408         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
76409         iconv implementations like Irix iconv.
76410
76411 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76412
76413         * modules/vararrays: New file.
76414         * m4/vararrays.m4: New file, taken from diffutils.
76415         * MODULES.html.sh: New module vararrays.
76416
76417 2006-10-24  Karl Berry  <karl@gnu.org>
76418
76419         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
76420         Don't call GNU Unix.
76421
76422 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76423
76424         * users.txt: Add Libtool.
76425
76426         Sync from Libtool:
76427
76428         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76429
76430         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
76431         to gnulib's policy of including config.h unconditionally.
76432
76433 2006-10-24  Bruno Haible  <bruno@clisp.org>
76434
76435         * modules/wcwidth (Files): Add m4/wint_t.m4.
76436         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
76437         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
76438
76439 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76440
76441         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
76442         to pacify GCC with some -W flags enabled.  Problem reported by
76443         Bruno Haible.
76444
76445 2006-10-24  Jim Meyering  <jim@meyering.net>
76446
76447         * MODULES.html.sh: Remove uinttostr.  It's not a module.
76448         Reported by Karl Berry.
76449
76450 2006-10-23  Bruno Haible  <bruno@clisp.org>
76451
76452         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
76453
76454 2006-10-24  Bruno Haible  <bruno@clisp.org>
76455
76456         * lib/gl_list.h: Use C comment style, not C++ comment style.
76457
76458 2006-10-23  Eric Blake  <ebb9@byu.net>
76459
76460         * lib/getaddrinfo.c (includes): Add missing include.
76461
76462 2006-10-23  Bruno Haible  <bruno@clisp.org>
76463             Paul Eggert  <eggert@cs.ucla.edu>
76464
76465         Ability to rename obstack_free.
76466         * lib/obstack.h (__obstack_free): New macro. Declare instead of
76467         obstack_free.
76468         (obstack_free): Invoke the __obstack_free macro.
76469         * lib/obstack.c (obstack_free): Use __obstack_free macro.
76470
76471 2006-10-23  Bruno Haible  <bruno@clisp.org>
76472             Paul Eggert  <eggert@cs.ucla.edu>
76473
76474         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
76475         __argc, __argv from the declaration. (They are defined as macros on
76476         mingw.)
76477
76478 2006-10-22  Bruno Haible  <bruno@clisp.org>
76479
76480         * doc/gnulib-intro.texi: New file.
76481         * doc/gnulib.texi: Include it.
76482
76483 2006-10-21  Bruno Haible  <bruno@clisp.org>
76484
76485         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
76486         "Introduction", "Miscellanous Notes", "Particular Modules".
76487
76488 2006-10-21  Bruno Haible  <bruno@clisp.org>
76489
76490         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76491         Change mostlyclean-local rule to avoid sh syntax error from bash
76492         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
76493
76494 2006-10-23  Jim Meyering  <jim@meyering.net>
76495
76496         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
76497         in place of snprintf.
76498
76499         * modules/inttostr (Files): Add lib/uinttostr.c.
76500         * lib/uinttostr.c (inttostr): New file/function.
76501         * lib/inttostr.h (uinttostr): Declare.
76502         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
76503         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76504         Add uinttostr.
76505         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
76506
76507 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76508
76509         * lib/canonicalize.c (ELOOP): Define if not already defined.
76510         Problem reported by Bruno Haible in
76511         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
76512
76513 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76514
76515         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
76516         Problem reported by Perry Smith and Ville Laurikari.
76517
76518         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
76519         uses.
76520
76521 2006-10-19  Bruno Haible  <bruno@clisp.org>
76522
76523         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
76524         for mingw.
76525
76526 2006-10-19  Bruno Haible  <bruno@clisp.org>
76527
76528         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
76529         Needed for mingw.
76530
76531 2006-10-19  Bruno Haible  <bruno@clisp.org>
76532
76533         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
76534
76535 2006-10-19  Bruno Haible  <bruno@clisp.org>
76536
76537         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
76538         it.
76539
76540 2006-10-19  Bruno Haible  <bruno@clisp.org>
76541
76542         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
76543         invocation.
76544
76545 2006-10-19  Bruno Haible  <bruno@clisp.org>
76546
76547         * gnulib-tool (func_create_testdir): Don't include ftruncate and
76548         mountlist by default.
76549
76550 2006-10-16  Bruno Haible  <bruno@clisp.org>
76551
76552         * lib/c-strstr.c: Include c-strstr.h.
76553
76554 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76555
76556         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
76557         in a slash.
76558
76559 2006-10-18  Bruno Haible  <bruno@clisp.org>
76560
76561         * lib/lock.h [C++]: Wrap definitions in extern "C".
76562
76563 2006-10-18  Bruno Haible  <bruno@clisp.org>
76564
76565         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
76566         gl_LIBOBJS list.
76567
76568 2006-10-18  Bruno Haible  <bruno@clisp.org>
76569
76570         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
76571
76572 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
76573
76574         * lib/xstrtol.h: Include gettext.h.
76575         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
76576         Problem reported by Eric Blake.
76577         * modules/xstrtol (Depends-on): Add gettext-h.
76578
76579 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
76580
76581         * lib/strftime.c (advance): New macro.
76582         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
76583         incomplete type, so you can't add 0 to it.  Problem and patch
76584         reported by Eelco Dolstra for dietlibc.
76585
76586 2006-10-18  Jim Meyering  <jim@meyering.net>
76587
76588         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
76589         type for a local, and rename it: s/up/user_proc/.
76590
76591 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
76592
76593         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
76594         READ_UTMP_USER_PROCESS.
76595         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
76596
76597 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
76598
76599         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
76600         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
76601
76602 2006-10-17  Eric Blake  <ebb9@byu.net>
76603
76604         * lib/sigprocmask.c (sigprocmask): Fix typo.
76605
76606         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
76607
76608         * modules/clean-temp (Makefile.am): Don't add to make output...
76609         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
76610         config.h.
76611
76612 2006-10-17  Bruno Haible  <bruno@clisp.org>
76613
76614         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
76615         differently if DEFAULT_TEXT_DOMAIN is set.
76616
76617 2006-10-16  Bruno Haible  <bruno@clisp.org>
76618
76619         * lib/clean-temp.c: Include fwriteerror.h.
76620
76621 2006-10-16  Bruno Haible  <bruno@clisp.org>
76622
76623         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
76624
76625 2006-10-16  Bruno Haible  <bruno@clisp.org>
76626
76627         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
76628         * lib/sigprocmask.h: Include <sys/types.h>.
76629         (sigset_t): Use the system's definition if present.
76630
76631 2006-10-17  Eric Blake  <ebb9@byu.net>
76632
76633         * lib/xvasprintf.c (includes): Assume config.h.
76634         * lib/xasprintf.c (includes): Likewise.
76635
76636 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
76637
76638         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
76639         at least as wide as intmax_t.
76640
76641 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
76642
76643         (Imported from Automake.)
76644         * build-aux/gnupload: Update to version 1.1 of directive file.
76645
76646 2006-10-16  Eric Blake  <ebb9@byu.net>
76647
76648         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
76649         match Automake 1.10a.
76650
76651 2006-10-14  Bruno Haible  <bruno@clisp.org>
76652
76653         * modules/sigprocmask: New file.
76654         * lib/sigprocmask.h: New file.
76655         * lib/sigprocmask.c: New file.
76656         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
76657         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
76658         request sigprocmask.o.
76659         (gl_PREREQ_SIGPROCMASK): New macro.
76660         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
76661         (Depends-on): Add sigprocmask.
76662         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
76663         gt_SIGNALBLOCKING. Test for 'raise' only once.
76664         * lib/fatal-signal.c: Include sigprocmask.h.
76665         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
76666         unblock_fatal_signals): Define always.
76667         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76668         sigprocmask.
76669
76670 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76671
76672         Sync from Automake.
76673         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
76674         which incorrectly sets the mode of an existing destination
76675         directory.  In some cases the unpatched install-sh could do the
76676         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
76677         system.  We hope this is rare in practice, but it's clearly worth
76678         fixing.  Problem reported by Alex Unleashed in
76679         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
76680         Also, don't bother to check for -m bugs unless we're using -m;
76681         suggested by Stepan Kasal.
76682
76683 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76684
76685         Sync from Automake.
76686         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
76687         `-c' flag, so they appear at the same position as in %FASTDEP%
76688         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
76689         which ignores unknown options only after the first non-option.
76690         Bug report against M4 by Nelson H. F. Beebe.
76691
76692 2006-10-13  Jim Meyering  <jim@meyering.net>
76693
76694         Fix a bug in yesterday's change.
76695         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
76696         p->fts_statp->st_dev would be used uninitialized.
76697         Ensures that we always call fts_stat on the very first entry.
76698         Miklos Szeredi reported that find -xdev stopped working.
76699
76700 2006-10-12  Bruno Haible  <bruno@clisp.org>
76701
76702         * gnulib-tool (func_get_automake_snippet): Append an automatically
76703         computed EXTRA_DIST augmentation.
76704         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
76705         * modules/alloca-opt (Makefile.am): Likewise.
76706         * modules/allocsa (Makefile.am): Likewise.
76707         * modules/arcfour (Makefile.am): Likewise.
76708         * modules/arctwo (Makefile.am): Likewise.
76709         * modules/argmatch (Makefile.am): Likewise.
76710         * modules/argz (Makefile.am): Likewise.
76711         * modules/atexit (Makefile.am): Likewise.
76712         * modules/backupfile (Makefile.am): Likewise.
76713         * modules/byteswap (Makefile.am): Likewise.
76714         * modules/c-strtod (Makefile.am): Likewise.
76715         * modules/c-strtold (Makefile.am): Likewise.
76716         * modules/calloc (Makefile.am): Likewise.
76717         * modules/canon-host (Makefile.am): Likewise.
76718         * modules/canonicalize (Makefile.am): Likewise.
76719         * modules/chdir-long (Makefile.am): Likewise.
76720         * modules/chdir-safer (Makefile.am): Likewise.
76721         * modules/check-version (Makefile.am): Likewise.
76722         * modules/chown (Makefile.am): Likewise.
76723         * modules/cloexec (Makefile.am): Likewise.
76724         * modules/close-stream (Makefile.am): Likewise.
76725         * modules/closeout (Makefile.am): Likewise.
76726         * modules/crc (Makefile.am): Likewise.
76727         * modules/csharpexec (Makefile.am): Likewise.
76728         * modules/cycle-check (Makefile.am): Likewise.
76729         * modules/des (Makefile.am): Likewise.
76730         * modules/dev-ino (Makefile.am): Likewise.
76731         * modules/dirfd (Makefile.am): Likewise.
76732         * modules/dirname (Makefile.am): Likewise.
76733         * modules/dup2 (Makefile.am): Likewise.
76734         * modules/eealloc (Makefile.am): Likewise.
76735         * modules/error (Makefile.am): Likewise.
76736         * modules/euidaccess (Makefile.am): Likewise.
76737         * modules/exclude (Makefile.am): Likewise.
76738         * modules/exitfail (Makefile.am): Likewise.
76739         * modules/fcntl-safer (Makefile.am): Likewise.
76740         * modules/fcntl (Makefile.am): Likewise.
76741         * modules/file-type (Makefile.am): Likewise.
76742         * modules/fileblocks (Makefile.am): Likewise.
76743         * modules/filemode (Makefile.am): Likewise.
76744         * modules/filenamecat (Makefile.am): Likewise.
76745         * modules/fnmatch (Makefile.am): Likewise.
76746         * modules/fopen-safer (Makefile.am): Likewise.
76747         * modules/fpending (Makefile.am): Likewise.
76748         * modules/fprintftime (Makefile.am): Likewise.
76749         * modules/free (Makefile.am): Likewise.
76750         * modules/fsusage (Makefile.am): Likewise.
76751         * modules/ftruncate (Makefile.am): Likewise.
76752         * modules/fts (Makefile.am): Likewise.
76753         * modules/gc-arcfour (Makefile.am): Likewise.
76754         * modules/gc-des (Makefile.am): Likewise.
76755         * modules/gc-hmac-md5 (Makefile.am): Likewise.
76756         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
76757         * modules/gc-md4 (Makefile.am): Likewise.
76758         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76759         * modules/gc-sha1 (Makefile.am): Likewise.
76760         * modules/gc (Makefile.am): Likewise.
76761         * modules/getaddrinfo (Makefile.am): Likewise.
76762         * modules/getcwd (Makefile.am): Likewise.
76763         * modules/getdelim (Makefile.am): Likewise.
76764         * modules/getdomainname (Makefile.am): Likewise.
76765         * modules/getgroups (Makefile.am): Likewise.
76766         * modules/gethostname (Makefile.am): Likewise.
76767         * modules/gethrxtime (Makefile.am): Likewise.
76768         * modules/getline (Makefile.am): Likewise.
76769         * modules/getloadavg (Makefile.am): Likewise.
76770         * modules/getlogin_r (Makefile.am): Likewise.
76771         * modules/getndelim2 (Makefile.am): Likewise.
76772         * modules/getopt (Makefile.am): Likewise.
76773         * modules/getpagesize (Makefile.am): Likewise.
76774         * modules/getpass-gnu (Makefile.am): Likewise.
76775         * modules/getpass (Makefile.am): Likewise.
76776         * modules/getsubopt (Makefile.am): Likewise.
76777         * modules/gettime (Makefile.am): Likewise.
76778         * modules/gettimeofday (Makefile.am): Likewise.
76779         * modules/getugroups (Makefile.am): Likewise.
76780         * modules/getusershell (Makefile.am): Likewise.
76781         * modules/glob (Makefile.am): Likewise.
76782         * modules/group-member (Makefile.am): Likewise.
76783         * modules/hard-locale (Makefile.am): Likewise.
76784         * modules/hash (Makefile.am): Likewise.
76785         * modules/hmac-md5 (Makefile.am): Likewise.
76786         * modules/hmac-sha1 (Makefile.am): Likewise.
76787         * modules/human (Makefile.am): Likewise.
76788         * modules/idcache (Makefile.am): Likewise.
76789         * modules/imaxabs (Makefile.am): Likewise.
76790         * modules/imaxdiv (Makefile.am): Likewise.
76791         * modules/inet_ntop (Makefile.am): Likewise.
76792         * modules/inet_pton (Makefile.am): Likewise.
76793         * modules/intprops (Makefile.am): Likewise.
76794         * modules/inttostr (Makefile.am): Likewise.
76795         * modules/inttypes (Makefile.am): Likewise.
76796         * modules/isapipe (Makefile.am): Likewise.
76797         * modules/javaversion (Makefile.am): Likewise.
76798         * modules/lchmod (Makefile.am): Likewise.
76799         * modules/lchown (Makefile.am): Likewise.
76800         * modules/localcharset (Makefile.am): Likewise.
76801         * modules/long-options (Makefile.am): Likewise.
76802         * modules/lstat (Makefile.am): Likewise.
76803         * modules/malloc (Makefile.am): Likewise.
76804         * modules/mathl (Makefile.am): Likewise.
76805         * modules/mbchar (Makefile.am): Likewise.
76806         * modules/md2 (Makefile.am): Likewise.
76807         * modules/md4 (Makefile.am): Likewise.
76808         * modules/md5 (Makefile.am): Likewise.
76809         * modules/memcasecmp (Makefile.am): Likewise.
76810         * modules/memchr (Makefile.am): Likewise.
76811         * modules/memcmp (Makefile.am): Likewise.
76812         * modules/memcoll (Makefile.am): Likewise.
76813         * modules/memcpy (Makefile.am): Likewise.
76814         * modules/memmem (Makefile.am): Likewise.
76815         * modules/memmove (Makefile.am): Likewise.
76816         * modules/mempcpy (Makefile.am): Likewise.
76817         * modules/memrchr (Makefile.am): Likewise.
76818         * modules/memset (Makefile.am): Likewise.
76819         * modules/memxor (Makefile.am): Likewise.
76820         * modules/mkancesdirs (Makefile.am): Likewise.
76821         * modules/mkdir-p (Makefile.am): Likewise.
76822         * modules/mkdir (Makefile.am): Likewise.
76823         * modules/mkdtemp (Makefile.am): Likewise.
76824         * modules/mkstemp (Makefile.am): Likewise.
76825         * modules/mktime (Makefile.am): Likewise.
76826         * modules/modechange (Makefile.am): Likewise.
76827         * modules/mountlist (Makefile.am): Likewise.
76828         * modules/nanosleep (Makefile.am): Likewise.
76829         * modules/obstack (Makefile.am): Likewise.
76830         * modules/openat (Makefile.am): Likewise.
76831         * modules/pagealign_alloc (Makefile.am): Likewise.
76832         * modules/pathmax (Makefile.am): Likewise.
76833         * modules/physmem (Makefile.am): Likewise.
76834         * modules/poll (Makefile.am): Likewise.
76835         * modules/posixtm (Makefile.am): Likewise.
76836         * modules/posixver (Makefile.am): Likewise.
76837         * modules/putenv (Makefile.am): Likewise.
76838         * modules/quote (Makefile.am): Likewise.
76839         * modules/quotearg (Makefile.am): Likewise.
76840         * modules/raise (Makefile.am): Likewise.
76841         * modules/read-file (Makefile.am): Likewise.
76842         * modules/readline (Makefile.am): Likewise.
76843         * modules/readlink (Makefile.am): Likewise.
76844         * modules/readtokens (Makefile.am): Likewise.
76845         * modules/readutmp (Makefile.am): Likewise.
76846         * modules/realloc (Makefile.am): Likewise.
76847         * modules/regex (Makefile.am): Likewise.
76848         * modules/rename-dest-slash (Makefile.am): Likewise.
76849         * modules/rename (Makefile.am): Likewise.
76850         * modules/rijndael (Makefile.am): Likewise.
76851         * modules/rmdir (Makefile.am): Likewise.
76852         * modules/rpmatch (Makefile.am): Likewise.
76853         * modules/safe-read (Makefile.am): Likewise.
76854         * modules/safe-write (Makefile.am): Likewise.
76855         * modules/same-inode (Makefile.am): Likewise.
76856         * modules/same (Makefile.am): Likewise.
76857         * modules/save-cwd (Makefile.am): Likewise.
76858         * modules/savedir (Makefile.am): Likewise.
76859         * modules/setenv (Makefile.am): Likewise.
76860         * modules/settime (Makefile.am): Likewise.
76861         * modules/sha1 (Makefile.am): Likewise.
76862         * modules/sig2str (Makefile.am): Likewise.
76863         * modules/snprintf (Makefile.am): Likewise.
76864         * modules/stat-macros (Makefile.am): Likewise.
76865         * modules/stat-time (Makefile.am): Likewise.
76866         * modules/stdbool (Makefile.am): Likewise.
76867         * modules/stdint (Makefile.am): Likewise.
76868         * modules/stdlib-safer (Makefile.am): Likewise.
76869         * modules/stpcpy (Makefile.am): Likewise.
76870         * modules/stpncpy (Makefile.am): Likewise.
76871         * modules/strcase (Makefile.am): Likewise.
76872         * modules/strcasestr (Makefile.am): Likewise.
76873         * modules/strchrnul (Makefile.am): Likewise.
76874         * modules/strcspn (Makefile.am): Likewise.
76875         * modules/strdup (Makefile.am): Likewise.
76876         * modules/strerror (Makefile.am): Likewise.
76877         * modules/strftime (Makefile.am): Likewise.
76878         * modules/strndup (Makefile.am): Likewise.
76879         * modules/strnlen (Makefile.am): Likewise.
76880         * modules/strpbrk (Makefile.am): Likewise.
76881         * modules/strsep (Makefile.am): Likewise.
76882         * modules/strstr (Makefile.am): Likewise.
76883         * modules/strtod (Makefile.am): Likewise.
76884         * modules/strtoimax (Makefile.am): Likewise.
76885         * modules/strtok_r (Makefile.am): Likewise.
76886         * modules/strtol (Makefile.am): Likewise.
76887         * modules/strtoll (Makefile.am): Likewise.
76888         * modules/strtoul (Makefile.am): Likewise.
76889         * modules/strtoull (Makefile.am): Likewise.
76890         * modules/strtoumax (Makefile.am): Likewise.
76891         * modules/strverscmp (Makefile.am): Likewise.
76892         * modules/sys_socket (Makefile.am): Likewise.
76893         * modules/sys_stat (Makefile.am): Likewise.
76894         * modules/sysexits (Makefile.am): Likewise.
76895         * modules/time_r (Makefile.am): Likewise.
76896         * modules/timegm (Makefile.am): Likewise.
76897         * modules/timespec (Makefile.am): Likewise.
76898         * modules/tmpfile-safer (Makefile.am): Likewise.
76899         * modules/trim (Makefile.am): Likewise.
76900         * modules/unistd-safer (Makefile.am): Likewise.
76901         * modules/unlinkdir (Makefile.am): Likewise.
76902         * modules/unlocked-io (Makefile.am): Likewise.
76903         * modules/userspec (Makefile.am): Likewise.
76904         * modules/utime (Makefile.am): Likewise.
76905         * modules/utimecmp (Makefile.am): Likewise.
76906         * modules/utimens (Makefile.am): Likewise.
76907         * modules/vasnprintf (Makefile.am): Likewise.
76908         * modules/vasprintf (Makefile.am): Likewise.
76909         * modules/vsnprintf (Makefile.am): Likewise.
76910         * modules/xalloc (Makefile.am): Likewise.
76911         * modules/xgetcwd (Makefile.am): Likewise.
76912         * modules/xnanosleep (Makefile.am): Likewise.
76913         * modules/xreadlink (Makefile.am): Likewise.
76914         * modules/xstrtod (Makefile.am): Likewise.
76915         * modules/xstrtol (Makefile.am): Likewise.
76916         * modules/xstrtold (Makefile.am): Likewise.
76917         * modules/yesno (Makefile.am): Likewise.
76918         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
76919
76920 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76921
76922         * modules/error (Makefile.am): Distribute files through
76923         EXTRA_DIST, not lib_SOURCES.
76924
76925 2006-10-12  Eric Blake  <ebb9@byu.net>
76926
76927         * modules/error (Makefile.am): Distribute files in /lib.
76928         * modules/obstack (Makefile.am): Likewise.
76929
76930 2006-10-12  Bruno Haible  <bruno@clisp.org>
76931
76932         * modules/acl (Makefile.am): Distribute all files in lib/ through
76933         EXTRA_DIST.
76934         * modules/arcfour (Makefile.am): Likewise.
76935         * modules/arctwo (Makefile.am): Likewise.
76936         * modules/argmatch (Makefile.am): Likewise.
76937         * modules/argz (Makefile.am): Likewise.
76938         * modules/atexit (Makefile.am): Likewise.
76939         * modules/backupfile (Makefile.am): Likewise.
76940         * modules/c-strtod (Makefile.am): Likewise.
76941         * modules/c-strtold (Makefile.am): Likewise.
76942         * modules/calloc (Makefile.am): Likewise.
76943         * modules/canon-host (Makefile.am): Likewise.
76944         * modules/canonicalize (Makefile.am): Likewise.
76945         * modules/chdir-long (Makefile.am): Likewise.
76946         * modules/chdir-safer (Makefile.am): Likewise.
76947         * modules/check-version (Makefile.am): Likewise.
76948         * modules/chown (Makefile.am): Likewise.
76949         * modules/cloexec (Makefile.am): Likewise.
76950         * modules/close-stream (Makefile.am): Likewise.
76951         * modules/closeout (Makefile.am): Likewise.
76952         * modules/crc (Makefile.am): Likewise.
76953         * modules/cycle-check (Makefile.am): Likewise.
76954         * modules/des (Makefile.am): Likewise.
76955         * modules/dirfd (Makefile.am): Likewise.
76956         * modules/dirname (Makefile.am): Likewise.
76957         * modules/dup2 (Makefile.am): Likewise.
76958         * modules/euidaccess (Makefile.am): Likewise.
76959         * modules/exclude (Makefile.am): Likewise.
76960         * modules/exitfail (Makefile.am): Likewise.
76961         * modules/fcntl-safer (Makefile.am): Likewise.
76962         * modules/file-type (Makefile.am): Likewise.
76963         * modules/fileblocks (Makefile.am): Likewise.
76964         * modules/filemode (Makefile.am): Likewise.
76965         * modules/filenamecat (Makefile.am): Likewise.
76966         * modules/fnmatch (Makefile.am): Likewise.
76967         * modules/fopen-safer (Makefile.am): Likewise.
76968         * modules/fpending (Makefile.am): Likewise.
76969         * modules/fprintftime (Makefile.am): Likewise.
76970         * modules/free (Makefile.am): Likewise.
76971         * modules/fsusage (Makefile.am): Likewise.
76972         * modules/ftruncate (Makefile.am): Likewise.
76973         * modules/fts (Makefile.am): Likewise.
76974         * modules/gc (Makefile.am): Likewise.
76975         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76976         * modules/getaddrinfo (Makefile.am): Likewise.
76977         * modules/getcwd (Makefile.am): Likewise.
76978         * modules/getdelim (Makefile.am): Likewise.
76979         * modules/getdomainname (Makefile.am): Likewise.
76980         * modules/getgroups (Makefile.am): Likewise.
76981         * modules/gethostname (Makefile.am): Likewise.
76982         * modules/gethrxtime (Makefile.am): Likewise.
76983         * modules/getline (Makefile.am): Likewise.
76984         * modules/getloadavg (Makefile.am): Likewise.
76985         * modules/getlogin_r (Makefile.am): Likewise.
76986         * modules/getopt (Makefile.am): Likewise.
76987         * modules/getpass (Makefile.am): Likewise.
76988         * modules/getpass-gnu (Makefile.am): Likewise.
76989         * modules/getsubopt (Makefile.am): Likewise.
76990         * modules/gettime (Makefile.am): Likewise.
76991         * modules/gettimeofday (Makefile.am): Likewise.
76992         * modules/getugroups (Makefile.am): Likewise.
76993         * modules/getusershell (Makefile.am): Likewise.
76994         * modules/glob (Makefile.am): Likewise.
76995         * modules/group-member (Makefile.am): Likewise.
76996         * modules/hard-locale (Makefile.am): Likewise.
76997         * modules/hash (Makefile.am): Likewise.
76998         * modules/hmac-md5 (Makefile.am): Likewise.
76999         * modules/hmac-sha1 (Makefile.am): Likewise.
77000         * modules/human (Makefile.am): Likewise.
77001         * modules/idcache (Makefile.am): Likewise.
77002         * modules/imaxabs (Makefile.am): Likewise.
77003         * modules/imaxdiv (Makefile.am): Likewise.
77004         * modules/inet_ntop (Makefile.am): Likewise.
77005         * modules/inet_pton (Makefile.am): Likewise.
77006         * modules/inttostr (Makefile.am): Likewise.
77007         * modules/isapipe (Makefile.am): Likewise.
77008         * modules/lchown (Makefile.am): Likewise.
77009         * modules/long-options (Makefile.am): Likewise.
77010         * modules/lstat (Makefile.am): Likewise.
77011         * modules/malloc (Makefile.am): Likewise.
77012         * modules/mathl (Makefile.am): Likewise.
77013         * modules/mbchar (Makefile.am): Likewise.
77014         * modules/md2 (Makefile.am): Likewise.
77015         * modules/md4 (Makefile.am): Likewise.
77016         * modules/md5 (Makefile.am): Likewise.
77017         * modules/memcasecmp (Makefile.am): Likewise.
77018         * modules/memchr (Makefile.am): Likewise.
77019         * modules/memcmp (Makefile.am): Likewise.
77020         * modules/memcoll (Makefile.am): Likewise.
77021         * modules/memcpy (Makefile.am): Likewise.
77022         * modules/memmem (Makefile.am): Likewise.
77023         * modules/memmove (Makefile.am): Likewise.
77024         * modules/mempcpy (Makefile.am): Likewise.
77025         * modules/memrchr (Makefile.am): Likewise.
77026         * modules/memset (Makefile.am): Likewise.
77027         * modules/memxor (Makefile.am): Likewise.
77028         * modules/mkancesdirs (Makefile.am): Likewise.
77029         * modules/mkdir (Makefile.am): Likewise.
77030         * modules/mkdir-p (Makefile.am): Likewise.
77031         * modules/mkdtemp (Makefile.am): Likewise.
77032         * modules/mkstemp (Makefile.am): Likewise.
77033         * modules/mktime (Makefile.am): Likewise.
77034         * modules/modechange (Makefile.am): Likewise.
77035         * modules/mountlist (Makefile.am): Likewise.
77036         * modules/nanosleep (Makefile.am): Likewise.
77037         * modules/openat (Makefile.am): Likewise.
77038         * modules/pagealign_alloc (Makefile.am): Likewise.
77039         * modules/physmem (Makefile.am): Likewise.
77040         * modules/poll (Makefile.am): Likewise.
77041         * modules/posixtm (Makefile.am): Likewise.
77042         * modules/posixver (Makefile.am): Likewise.
77043         * modules/putenv (Makefile.am): Likewise.
77044         * modules/quote (Makefile.am): Likewise.
77045         * modules/quotearg (Makefile.am): Likewise.
77046         * modules/raise (Makefile.am): Likewise.
77047         * modules/read-file (Makefile.am): Likewise.
77048         * modules/readline (Makefile.am): Likewise.
77049         * modules/readlink (Makefile.am): Likewise.
77050         * modules/readtokens (Makefile.am): Likewise.
77051         * modules/readutmp (Makefile.am): Likewise.
77052         * modules/realloc (Makefile.am): Likewise.
77053         * modules/regex (Makefile.am): Likewise.
77054         * modules/rename (Makefile.am): Likewise.
77055         * modules/rename-dest-slash (Makefile.am): Likewise.
77056         * modules/rijndael (Makefile.am): Likewise.
77057         * modules/rmdir (Makefile.am): Likewise.
77058         * modules/rpmatch (Makefile.am): Likewise.
77059         * modules/safe-read (Makefile.am): Likewise.
77060         * modules/safe-write (Makefile.am): Likewise.
77061         * modules/same (Makefile.am): Likewise.
77062         * modules/save-cwd (Makefile.am): Likewise.
77063         * modules/savedir (Makefile.am): Likewise.
77064         * modules/setenv (Makefile.am): Likewise.
77065         * modules/settime (Makefile.am): Likewise.
77066         * modules/sha1 (Makefile.am): Likewise.
77067         * modules/sig2str (Makefile.am): Likewise.
77068         * modules/snprintf (Makefile.am): Likewise.
77069         * modules/stdlib-safer (Makefile.am): Likewise.
77070         * modules/stpcpy (Makefile.am): Likewise.
77071         * modules/stpncpy (Makefile.am): Likewise.
77072         * modules/strcase (Makefile.am): Likewise.
77073         * modules/strcasestr (Makefile.am): Likewise.
77074         * modules/strchrnul (Makefile.am): Likewise.
77075         * modules/strcspn (Makefile.am): Likewise.
77076         * modules/strdup (Makefile.am): Likewise.
77077         * modules/strerror (Makefile.am): Likewise.
77078         * modules/strftime (Makefile.am): Likewise.
77079         * modules/strndup (Makefile.am): Likewise.
77080         * modules/strnlen (Makefile.am): Likewise.
77081         * modules/strpbrk (Makefile.am): Likewise.
77082         * modules/strsep (Makefile.am): Likewise.
77083         * modules/strstr (Makefile.am): Likewise.
77084         * modules/strtod (Makefile.am): Likewise.
77085         * modules/strtoimax (Makefile.am): Likewise.
77086         * modules/strtok_r (Makefile.am): Likewise.
77087         * modules/strtol (Makefile.am): Likewise.
77088         * modules/strtoll (Makefile.am): Likewise.
77089         * modules/strtoul (Makefile.am): Likewise.
77090         * modules/strtoull (Makefile.am): Likewise.
77091         * modules/strtoumax (Makefile.am): Likewise.
77092         * modules/strverscmp (Makefile.am): Likewise.
77093         * modules/time_r (Makefile.am): Likewise.
77094         * modules/timegm (Makefile.am): Likewise.
77095         * modules/tmpfile-safer (Makefile.am): Likewise.
77096         * modules/unistd-safer (Makefile.am): Likewise.
77097         * modules/unlinkdir (Makefile.am): Likewise.
77098         * modules/userspec (Makefile.am): Likewise.
77099         * modules/utime (Makefile.am): Likewise.
77100         * modules/utimecmp (Makefile.am): Likewise.
77101         * modules/utimens (Makefile.am): Likewise.
77102         * modules/vasnprintf (Makefile.am): Likewise.
77103         * modules/vasprintf (Makefile.am): Likewise.
77104         * modules/vsnprintf (Makefile.am): Likewise.
77105         * modules/xalloc (Makefile.am): Likewise.
77106         * modules/xgetcwd (Makefile.am): Likewise.
77107         * modules/xnanosleep (Makefile.am): Likewise.
77108         * modules/xreadlink (Makefile.am): Likewise.
77109         * modules/xstrtod (Makefile.am): Likewise.
77110         * modules/xstrtol (Makefile.am): Likewise.
77111         * modules/xstrtold (Makefile.am): Likewise.
77112         * modules/yesno (Makefile.am): Likewise.
77113
77114 2006-10-12  Jim Meyering  <jim@meyering.net>
77115
77116         * m4/getloadavg.m4: Revert the change below.
77117
77118         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
77119         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
77120         fail with a symlink, which is what coreutils' ./bootstrap now
77121         creates by default.
77122
77123 2006-10-12  Bruno Haible  <bruno@clisp.org>
77124
77125         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
77126         mingw.
77127         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
77128         MSVC and mingw explicitly.
77129
77130 2006-10-11  Simon Josefsson  <jas@extundo.com>
77131             Bruno Haible  <bruno@clisp.org>
77132
77133         Add support for multiple gnulib-tool invocations in the scope of a
77134         single configure.ac file.
77135         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
77136         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
77137         with the same contents as the _LIBADD variable.
77138         (func_emit_initmacro_start, func_emit_initmacro_end,
77139         func_emit_initmacro_done): New functions.
77140         (func_import, func_create_testdir): Invoke them. Allow the identifiers
77141         gl_LIBOBJS and gl_LTLIBOBJS.
77142
77143 2006-10-11  Bruno Haible  <bruno@clisp.org>
77144
77145         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
77146         (func_create_testdir): Don't create po/Makefile.am, don't invoke
77147         autoreconf. Instead, invoke autopoint explicitly but move back the
77148         *.m4 files from gnulib.
77149
77150 2006-10-11  Bruno Haible  <bruno@clisp.org>
77151
77152         * gnulib-tool (func_usage): Make module names after --create-testdir
77153         optional.
77154         (func_create_testdir): If no module was specified, use nearly all
77155         modules.
77156
77157 2006-10-12  Jim Meyering  <jim@meyering.net>
77158
77159         Big performance improvement for fts-based tools that use FTS_NOSTAT.
77160         Avoid spurious inode-mismatch problems on non-POSIX file systems.
77161         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
77162         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
77163         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
77164         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
77165         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
77166         (fts_set_stat_required): New function.
77167         (fts_open): Defer the calls to fts_stat, if possible or requested.
77168         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
77169         into fts_stat itself.
77170         (fts_read): Perform any required (deferred) fts_stat call.
77171         (fts_build): Likewise, for the directory we're about to open and read.
77172         In the readdir loop, carefully decide whether each entry will require
77173         an eventual call to fts_stat, using dirent.d_type info if available.
77174         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
77175         a command line argument into this function.  Update all callers.
77176         Map a return value of FTS_DOT to FTS_D for a command line argument.
77177         * modules/fts (Depends-on): Add d-type.  Alphabetize.
77178         Thanks to Miklos Szeredi for his tenacity and for the initial
77179         bug report about "find" failing on a FUSE-based file system.
77180
77181         * lib/fts.c (fts_open): Use consistent indentation.
77182
77183 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77184
77185         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
77186         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
77187         reported by Jim Meyering.  All uses of cache variables renamed
77188         to match Autoconf's.
77189         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
77190         the other one.
77191
77192         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
77193         Fix misspelling in diagnostic.
77194
77195 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77196
77197         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
77198         defined.  Problem reported by Matthew Woehlke.
77199
77200         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
77201         Add support for Tandem NonStop R series.
77202         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
77203         Use new macro.
77204
77205         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
77206         (has_trailing_slash): Omit size arg; all callers changed.
77207         Omit 'inline', since it doesn't help performance and we'd
77208         need to configure it.
77209         Don't count //, ///, etc. as having a trailing slash.
77210         As a side effect, this removes a C99ism reported by Matthew Woehlke.
77211         (rpl_rename_dest_slash): On failure, use rename's errno rather
77212         than (in some cases) an incorrect or junk errno.
77213         Simplify code by removing need to compute length; this does
77214         cause it to make two passes instead of one over the file name,
77215         but it's worth it.
77216
77217         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
77218         change, since Autoconf's version may no longer be appropriate now
77219         that we are using CVS Autoconf's version.  Add support for Tandem.
77220
77221 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77222             Bruno Haible  <bruno@clisp.org>
77223
77224         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
77225         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
77226         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
77227         gl_AC_TYPE_LONG_LONG.
77228
77229         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
77230         instead of HAVE_LONG_LONG.
77231         * lib/printf-args.c (printf_fetchargs): Likewise.
77232         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
77233         * lib/vasnprintf.c (VASNPRINTF): Likewise.
77234         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
77235         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
77236         gl_AC_TYPE_LONG_LONG.
77237
77238 2006-10-11  Bruno Haible  <bruno@clisp.org>
77239
77240         * m4/longlong.m4: Add comments.
77241         * m4/ulonglong.m4: Likewise.
77242
77243 2006-10-10  Bruno Haible  <bruno@clisp.org>
77244
77245         Make it possible to #define stpcpy, strdup to aliases.
77246         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
77247         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
77248
77249 2006-10-10  Bruno Haible  <bruno@clisp.org>
77250
77251         Make it possible to #define gcd to an alias.
77252         * lib/gcd.c: Include config.h.
77253
77254 2006-10-10  Bruno Haible  <bruno@clisp.org>
77255
77256         Make it possible to #define c_isascii to an alias.
77257         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
77258         defined. Undefine the macros before defining them, to avoid gcc
77259         warnings.
77260         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
77261         define NO_C_CTYPE_MACROS early.
77262
77263 2006-10-10  Bruno Haible  <bruno@clisp.org>
77264
77265         Make it possible to #define set_program_name to an alias.
77266         * lib/progname.c: Don't undefine set_program_name; instead, undefine
77267         ENABLE_RELOCATABLE early.
77268
77269 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77270
77271         Port to Tandem NSK OSS, which has 64-bit signed int but at most
77272         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
77273         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
77274         More generally, don't assume that 64-bit signed int is available
77275         if unsigned int is, and vice versa.
77276         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
77277         unsigned symbols, not on their signed counterparts.
77278         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
77279         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
77280         (UINT64_C, UINTMAX_C):
77281         Likewise.
77282         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
77283         unsigned counterparts.
77284         (Have_long_long, Unsigned): New macros.
77285         (Int): Renamed from INT.
77286         (strtoimax): Use the new macros.
77287         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
77288         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
77289         * modules/inttypes (inttypes.h): Substitute
77290         HAVE_UNSIGNED_LONG_LONG_INT.
77291         * modules/stdint (stdint.h): Likewise.
77292         (Files): Add m4/ulonglong.m4.
77293
77294 2006-10-10  Bruno Haible  <bruno@clisp.org>
77295
77296         Fix a gcc -Wshadow warning.
77297         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
77298         to 'bucket'.
77299         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
77300         gl_linked_indexof_from_to): Likewise.
77301         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
77302         Likewise.
77303         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
77304         Likewise.
77305         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
77306         Reported by Eric Blake.
77307
77308 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
77309
77310         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
77311         for NetBSD.  Problem reported by Bruno Haible.
77312
77313 2006-10-09  Jim Meyering  <jim@meyering.net>
77314
77315         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
77316         Patch from Bruno Haible.
77317
77318 2006-10-09  Jim Meyering  <jim@meyering.net>
77319
77320         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
77321         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
77322         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
77323
77324 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
77325
77326         Don't include <config.h> twice; this doesn't work in some cases,
77327         e.g., when config.h has "#define intmax_t long long int" and
77328         we include <config.h>, <inttypes.h>, <config.h> in that order.
77329         Problem reported by Matthew Woehlke in:
77330         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
77331         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
77332         * lib/fts-cycle.c: Don't include config.h.
77333         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
77334         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
77335         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
77336         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
77337         inttypes.h.
77338         * lib/xstrtoumax.c: Likewise.
77339         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
77340         __strtol and the like, so that this module is more like its siblings.
77341         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
77342         Remove; no longer needed now that we assume gnulib inttypes.h.
77343
77344 2006-10-08  Bruno Haible  <bruno@clisp.org>
77345
77346         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
77347         option.
77348
77349 2006-10-07  Jim Meyering  <jim@meyering.net>
77350
77351         * modules/inttypes (inttypes.h): Revert what seems to have been
77352         an inadvertent part of today's change: use "|", not "/" in the
77353         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
77354
77355 2006-10-07  Bruno Haible  <bruno@clisp.org>
77356
77357         * modules/sublist: New file.
77358
77359 2006-10-07  Bruno Haible  <bruno@clisp.org>
77360
77361         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
77362         * modules/argz (argz.h): Likewise.
77363         * modules/arpa_inet (arpa/inet.h): Likewise.
77364         * modules/byteswap (byteswap.h): Likewise.
77365         * modules/configmake (configmake.h): Likewise.
77366         * modules/fcntl (fcntl.h): Likewise.
77367         * modules/fnmatch (fnmatch.h): Likewise.
77368         * modules/getopt (getopt.h): Likewise.
77369         * modules/glob (glob.h): Likewise.
77370         * modules/inttypes (inttypes.h): Likewise.
77371         * modules/netinet_in (netinet/in.h): Likewise.
77372         * modules/poll (poll.h): Likewise.
77373         * modules/stdbool (stdbool.h): Likewise.
77374         * modules/stdint (stdint.h): Likewise.
77375         * modules/sys_select (sys/select.h): Likewise.
77376         * modules/sys_socket (sys/socket.h): Likewise.
77377         * modules/sys_stat (sys/stat.h): Likewise.
77378         * modules/sysexits (sysexits.h): Likewise.
77379         * modules/unistd (unistd.h): Likewise.
77380         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77381         Add a "DO NOT EDIT" comment to the generated file.
77382         (func_import): Likewise for gnulib-comp.m4.
77383
77384 2006-10-07  Bruno Haible  <bruno@clisp.org>
77385
77386         * lib/gl_sublist.h: New file.
77387         * lib/gl_sublist.c: New file.
77388
77389 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77390
77391         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
77392         name (relative to the original working directory) and the file
77393         name component (relative to the temporary working directory).  All
77394         callers changed.
77395         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
77396         * lib/mkdir-p.c (make_dir_parents): Likewise.
77397         * lib/mkdir-p.h (make_dir_parents): Likewise.
77398
77399 2006-10-06  Eric Blake  <ebb9@byu.net>
77400
77401         Define several macros for use by the clean-temp module.
77402         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
77403         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
77404         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
77405
77406         * lib/clean-temp.h (close_stream_temp): New declaration.
77407         * lib/clean-temp.c (includes): Pull in headers according to what
77408         other modules are in use.
77409         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
77410
77411 2006-10-06  Bruno Haible  <bruno@clisp.org>
77412
77413         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
77414         instead of fopen, fwriteerror.
77415
77416 2006-10-06  Bruno Haible  <bruno@clisp.org>
77417
77418         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
77419         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
77420         int.
77421         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
77422         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
77423         Return an error indicator.
77424         Suggested by Eric Blake.
77425
77426 2006-10-06  Bruno Haible  <bruno@clisp.org>
77427
77428         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
77429         Reported by Eric Blake.
77430
77431 2006-10-06  Bruno Haible  <bruno@clisp.org>
77432
77433         * modules/closeout (Description): Mention stderr too.
77434
77435 2006-10-06  Bruno Haible  <bruno@clisp.org>
77436         and Paul Eggert  <eggert@cs.ucla.edu>
77437
77438         * lib/closeout.c (close_stdout): Also close stderr.
77439         * lib/closeout.h: Update comment.
77440
77441 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77442
77443         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
77444         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
77445         * lib/dirchownmod.c: Include lchown.h.
77446         * lib/lchown.c: Don't include files that lchown.h now includes.
77447         Don't declare chown, since lchown.h now does that.
77448         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
77449         (lchown): Define to rpl_chown if lchown is declared but
77450         does not exist.  Declare using a prototype if lchown is not
77451         declared.  Add a copyright notice.
77452         * lib/mkstemp.h: Include <unistd.h>.
77453         * lib/openat.c: Include lchown.h.
77454
77455         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
77456         we now test for that separately.
77457         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
77458         rather than O_NOFOLLOW, when testing whether it's possible to
77459         avoid a race condition reliably.
77460         * lib/savewd.c (savewd_chdir): Likewise.
77461
77462         Remove macros that are no longer needed now that stdint.h is
77463         reliable.
77464         * lib/fsusage.c (UINTMAX_MAX): Remove.
77465         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
77466         * lib/utimecmp.c (SIZE_MAX): Remove.
77467
77468         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
77469
77470         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
77471         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
77472         O_NOATIME works.
77473
77474 2006-10-05  Bruno Haible  <bruno@clisp.org>
77475
77476         * lib/gl_list.h (gl_sortedlist_search_from_to,
77477         gl_sortedlist_indexof_from_to): New declarations.
77478         (gl_list_implementation): New fields sortedlist_search_from_to,
77479         sortedlist_indexof_from_to.
77480         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
77481         inline functions.
77482         * lib/gl_list.c (gl_sortedlist_search_from_to,
77483         gl_sortedlist_indexof_from_to): New functions.
77484         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
77485         function.
77486         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
77487         (gl_array_sortedlist_search_from_to): New function.
77488         (gl_array_list_implementation): Update.
77489         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
77490         function.
77491         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
77492         (gl_carray_sortedlist_search_from_to): New function.
77493         (gl_carray_list_implementation): Update.
77494         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
77495         gl_linked_sortedlist_indexof_from_to): New functions.
77496         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77497         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77498         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
77499         gl_tree_sortedlist_indexof_from_to): New functions.
77500         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77501         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77502         Update.
77503         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77504         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
77505         Update.
77506
77507 2006-10-05  Bruno Haible  <bruno@clisp.org>
77508
77509         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
77510         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
77511         (struct gl_list_implementation): Add fields search_from_to,
77512         indexof_from_to. Remove fields search, indexof.
77513         (gl_list_search): Use the search_from_to method.
77514         (gl_list_search_from, gl_list_search_from_to): New functions.
77515         (gl_list_indexof): Use the indexof_from_to method.
77516         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77517         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
77518         (gl_list_search_from, gl_list_search_from_to): New functions.
77519         (gl_list_indexof): Use the indexof_from_to method.
77520         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77521         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
77522         gl_array_indexof. Add start_index, end_index arguments.
77523         (gl_array_search_from_to): Renamed from gl_array_search. Add
77524         start_index, end_index arguments.
77525         (gl_array_remove, gl_array_list_implementation): Update.
77526         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
77527         gl_carray_indexof. Add start_index, end_index arguments.
77528         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
77529         start_index, end_index arguments.
77530         (gl_carray_remove, gl_carray_list_implementation): Update.
77531         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
77532         gl_linked_search. Add start_index, end_index arguments.
77533         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
77534         start_index, end_index arguments.
77535         (gl_linked_remove): Update.
77536         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77537         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77538         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
77539         field to 'size_t'.
77540         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
77541         gl_tree_search. Add start_index, end_index arguments.
77542         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77543         start_index, end_index arguments.
77544         (gl_tree_remove): Update.
77545         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77546         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77547         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
77548         function.
77549         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
77550         gl_tree_search. Add start_index, end_index arguments.
77551         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77552         start_index, end_index arguments.
77553         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77554         Update.
77555         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
77556
77557 2006-10-05  Bruno Haible  <bruno@clisp.org>
77558
77559         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
77560
77561         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
77562         fwriteerror_temp): New declarations.
77563         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
77564         (descriptors): New variable.
77565         (cleanup): First, close the descriptors.
77566         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
77567         fclose_temp, fwriteerror_temp): New functions.
77568
77569 2006-10-04  Jim Meyering  <jim@meyering.net>
77570
77571         * lib/fts.c (fts_open): Tiny comment change.
77572
77573 2006-10-04  Bruno Haible  <bruno@clisp.org>
77574
77575         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
77576         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
77577         gl_LOCK_BODY.
77578         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
77579         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
77580         gl_LOCK_EARLY_BODY.
77581         (gl_LOCK): Require gl_LOCK_BODY.
77582
77583 2006-10-04  Bruno Haible  <bruno@clisp.org>
77584
77585         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
77586         (gl_oset_search_atleast): New declaration.
77587         (struct gl_oset_implementation): Add field 'search_atleast'.
77588         (gl_oset_search_atleast): New inline function.
77589         * lib/gl_oset.c (gl_oset_search_atleast): New function.
77590         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
77591         (gl_array_oset_implementation): Update.
77592         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
77593         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
77594         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
77595
77596 2006-10-04  Bruno Haible  <bruno@clisp.org>
77597
77598         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
77599
77600 2006-10-03  Bruno Haible  <bruno@clisp.org>
77601
77602         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
77603         from gl_avltreehash_list_implementation.
77604
77605 2006-10-03  Bruno Haible  <bruno@clisp.org>
77606
77607         * lib/gl_oset.c (gl_oset_add): Fix return type.
77608
77609 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
77610
77611         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
77612
77613 2006-10-02  Eric Blake  <ebb9@byu.net>
77614
77615         * modules/strnlen (Depends-on): Add extensions.
77616
77617 2006-10-02  Eric Blake  <ebb9@byu.net>
77618
77619         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
77620         definition in 2.60+.
77621
77622 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
77623
77624         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
77625         checks.
77626
77627 2006-10-02  Bruno Haible  <bruno@clisp.org>
77628
77629         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
77630         to the AUTOMAKE_OPTIONS.
77631         Reported by Jim Meyering.
77632
77633 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77634
77635         Work around bug in Solaris 10 /proc file system:
77636         /proc/self/fd/NNN/.. isn't the parent directory of
77637         the directory whose file descriptor is NNN.  This needs to
77638         be worked around at run time, not compile time, since a
77639         program might be built on Solaris 8, where things work, and
77640         run on Solaris 10.
77641         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
77642         to use the following interface instead:
77643         (OPENAT_BUFFER_SIZE): New macro.
77644         (openat_proc_name): New function.
77645         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
77646         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
77647         Likewise.
77648         * lib/openat-proc.c: New file.
77649         * modules/openat (Files): Add lib/openat-proc.c.
77650         (Depends-on): Add same-inode, stdbool.
77651         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
77652
77653 2006-09-29  Bruno Haible  <bruno@clisp.org>
77654
77655         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
77656         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
77657         argument. Set stdout_closed before testing for ferror, not after.
77658         (fwriteerror, fwriteerror_no_ebadf): New functions.
77659
77660 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77661
77662         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
77663
77664 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
77665
77666         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
77667         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
77668
77669 2006-09-28  Jim Meyering  <jim@meyering.net>
77670
77671         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
77672         Include <unistd.h>.
77673
77674 2006-09-28  Bruno Haible  <bruno@clisp.org>
77675
77676         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
77677         * modules/linkedhash-list (Depends-on): Likewise.
77678         * modules/rbtreehash-list (Depends-on): Likewise.
77679
77680 2006-09-28  Bruno Haible  <bruno@clisp.org>
77681
77682         * lib/strndup.h: Simplify the redefinition of strndup.
77683         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
77684         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
77685
77686 2006-09-28  Bruno Haible  <bruno@clisp.org>
77687
77688         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
77689         * lib/gl_linkedhash_list.c: Likewise.
77690         * lib/gl_rbtreehash_list.c: Likewise.
77691
77692 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77693
77694         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
77695         getaddrinfo.
77696
77697         * lib/__fpending.h: Don't include <stdio_ext.h> unless
77698         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
77699         it causes <stdio_ext.h> to cause a compile-time error.
77700         Problem reported by Nelson H. F. Beebe.
77701         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
77702         of HAVE_DECL___PENDING.
77703
77704         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
77705         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
77706         declaration.
77707
77708 2006-09-27  Jim Meyering  <jim@meyering.net>
77709
77710         This file could end up with a definition for a function
77711         named __strndup, rather than rpl_strndup on a system with
77712         incomplete weak_alias support.
77713         * lib/strndup.c (strndup): Rename from __strndup.
77714         Remove #defines that used to map __strndup to strndup.
77715         Don't use K&R prototypes.
77716         Remove LIBC-related code, since this file is not sync'd with glibc.
77717         * lib/strndup.h: Revamp, accordingly.
77718         * m4/strndup.m4: Modernize.
77719
77720 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77721
77722         * modules/savewd (Depends-on): Add 'raise'.
77723         * lib/savewd.c: Include <signal.h>, for 'raise'.
77724
77725 2006-09-26  Jim Meyering  <jim@meyering.net>
77726
77727         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
77728         when we detect Darwin 8.7.0's acl_get_file bug.
77729         Rearrange to perform the new (below) run-test while $LIBS
77730         contains any acl-related library.  Set USE_ACL at the end.
77731         (gl_ACL_GET_FILE): New function.
77732
77733 2006-09-26  Eric Blake  <ebb9@byu.net>
77734
77735         * lib/verror.c: Include <config.h> unconditionally.
77736
77737 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
77738
77739         * modules/clock-time (Maintainer): Add self.
77740         * modules/getlogin_r (Depends-on): Add extensions.
77741
77742 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77743
77744         * modules/clock-time: New module.
77745         * modules/nanosleep (Depends-on): Add clock-time.
77746         * modules/gethrxtime (Depends-on): Likewise.
77747         * modules/gettime (Depends-on): Likewise.
77748         * modules/settime (Depends-on): Likewise.
77749
77750         * modules/fts-lgpl: Depend on openat.
77751         * modules/mkancesdirs: Depend on savewd.
77752         * modules/mkdir-p: Likewise.
77753
77754 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77755
77756         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
77757
77758         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
77759         `gl_have_arbitrary_file_name_length_limit' to
77760         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
77761         actually works between configure runs.
77762
77763 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77764             Bruno Haible  <bruno@clisp.org>
77765
77766         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
77767
77768 2006-09-25  Jim Meyering  <jim@meyering.net>
77769
77770         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
77771         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
77772
77773 2006-09-25  Eric Blake  <ebb9@byu.net>
77774
77775         * gnulib-tool (func_import, func_create_testdir): Fix typos in
77776         exec's in 2006-09-18 patch when shuffling fds.
77777
77778 2006-09-25  Bruno Haible  <bruno@clisp.org>
77779
77780         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
77781         Reported by Jim Meyering.
77782
77783 2006-09-24  Jim Meyering  <jim@meyering.net>
77784
77785         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
77786         compare a pointer against a literal "0".  That caused failures with
77787         at least HP-UX's hpcc.
77788
77789 2006-09-22  Simon Josefsson  <jas@extundo.com>
77790
77791         * modules/gc-sha1:
77792         * modules/gc-md4:
77793         * modules/gc-hmac-sha1:
77794         * modules/gc-hmac-md5:
77795         * modules/gc-des:
77796         * modules/gc-arcfour: Distribute more files.
77797
77798 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77799
77800         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
77801         (gl_linked_iterator_from_to): Initialize struct completely.
77802         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
77803         (gl_tree_iterator_from_to): Likewise
77804         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
77805         * lib/gl_array_list.c [lint] (gl_array_iterator)
77806         (gl_array_iterator_from_to): Likewise.
77807         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
77808         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
77809         (gl_carray_iterator_from_to): Likewise.
77810
77811         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
77812         * lib/md4.c (md4_process_block): Remove unused variable.
77813         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
77814         parentheses for clarity.
77815
77816 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77817
77818         * modules/bison-i18n (Depends-on): Add gettext.
77819
77820 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77821
77822         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
77823         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
77824         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
77825         also add missing comma that caused broken test.
77826         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
77827         stdlib.h, for `abort'.
77828         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
77829         variables.
77830         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
77831         include unistd.h if present, for `rmdir'.
77832         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
77833         variables.
77834         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
77835         in the process include standard headers for prototypes.
77836         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
77837         gets declared on GNU/Linux.
77838         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
77839         unistd.h, for `rmdir'.
77840         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
77841
77842         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
77843         always true.
77844         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
77845
77846         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
77847
77848 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77849
77850         * gnulib-tool (func_version): Create output all at once.  This
77851         may help avoid triggering unnecessary SIGPIPEs, and at any
77852         rate it doesn't hurt.
77853
77854 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77855             Bruno Haible  <bruno@clisp.org>
77856
77857         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
77858         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
77859         * m4/signed.m4 (bh_C_SIGNED): Likewise.
77860
77861         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
77862         (gl_FUNC_VASPRINTF): Invoke it.
77863
77864 2006-09-22  Bruno Haible  <bruno@clisp.org>
77865
77866         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
77867         getloadavg.c as first argument.
77868
77869 2006-09-22  Bruno Haible  <bruno@clisp.org>
77870
77871         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
77872         at the beginning of the gl_INIT macro.
77873         * modules/getloadavg (configure.ac): Pass $gl_source_base to
77874         gl_GETLOADAVG.
77875
77876 2006-09-22  Bruno Haible  <bruno@clisp.org>
77877
77878         * gnulib-tool (func_create_megatestdir): Don't include the config-h
77879         module.
77880         Suggested by Ralf Wildenhues.
77881
77882 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
77883
77884         Import this patch from libc:
77885
77886         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
77887
77888         * lib/regex_internal.c (re_string_reconstruct): Handle
77889         offset < pstr->valid_raw_len && pstr->offsets_needed case.
77890         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
77891         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
77892         re_string_context_at.
77893
77894         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
77895         now requires it.
77896         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
77897         gl_REGEX now does it for us.
77898         (gl_REGEX): Add test taken from
77899         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
77900
77901         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
77902         Check that large offsets work.  Modernize Autoconf usages.
77903         Prefer "yes" to mean a good thing rather than a bad.
77904         Don't put "#define mkstemp" in config.h, as this might interfere
77905         with standard system headers that "#define mkstemp mkstemp64".
77906
77907         * modules/mkstemp (Depends-on): Add extensions, so that
77908         mkstemp is visible on some platforms.
77909         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
77910         (Include): Change to "mkstemp.h" from <stdlib.h>.
77911         (Files): Add mkstemp.h.
77912
77913         * lib/mkstemp.h: New file, since some standard headers
77914         #define mkstemp.
77915         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
77916         Include "mkstemp.h".
77917         Make the _LIBC code resemble glibc original more,
77918         e.g., use K&R style.
77919         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
77920         (mkstemp): Remove, since mkstemp.h does this for us.
77921         * lib/stdlib--.h: Include mkstemp.h.
77922
77923         Import this patch from libc:
77924
77925         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77926
77927         * lib/tempname.c (__gen_tempname): Change attempts_min
77928         into a macro.  Use preprocessor to decide how to initialize
77929         attempts [Coverity CID 67].
77930
77931 2006-09-20  Bruno Haible  <bruno@clisp.org>
77932
77933         * lib/mkdtemp.c: Import from libc.
77934         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77935                 * sysdeps/posix/tempname.c (__gen_tempname): Change
77936                 attempts_min into a macro.  Use preprocessor to decide how to
77937                 initialize attempts [Coverity CID 67].
77938         2001-11-27  Paul Eggert  <eggert@twinsun.com>
77939                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
77940                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
77941
77942 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77943
77944         * gnulib-tool (func_exit): New function, to allow to pass the
77945         exit status portably through the trap.  Use everywhere.
77946         (--help, --version): Signal a write error.
77947         (trap): catch SIGPIPE, for write errors.
77948         Exit at the end of the trap, with the correct exit status.
77949
77950 2006-09-19  Karl Berry  <karl@gnu.org>
77951
77952         * doc/gnulib.texi: note about the license texinfo files.
77953
77954 2006-09-19  Eric Blake  <ebb9@byu.net>
77955
77956         * gnulib-tool: Avoid space-tab.
77957
77958 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77959
77960         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
77961         that prevented coreutils 6.1 from building.  Problem reported
77962         by Petter Reinholdtsen.
77963
77964 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77965
77966         * gnulib-tool (avoidlist): Fix typo that broke options like
77967         --avoid=lock that are used by coreutils bootstrap.
77968
77969 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
77970
77971         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
77972         more systematically.
77973
77974 2006-09-18  Jim Meyering  <jim@meyering.net>
77975
77976         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
77977
77978 2006-09-18  Bruno Haible  <bruno@clisp.org>
77979
77980         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
77981
77982 2006-09-18  Bruno Haible  <bruno@clisp.org>
77983
77984         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
77985         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
77986         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
77987         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
77988         * m4/gettext.m4: Require autoconf >= 2.52.
77989         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
77990         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
77991         of gl_cv_header_inttypes_h.
77992
77993 2006-09-18  Bruno Haible  <bruno@clisp.org>
77994
77995         * lib/javaversion.c: Include configmake.h.
77996
77997 2006-09-18  Bruno Haible  <bruno@clisp.org>
77998
77999         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
78000         avoid that the while loops be executed in a subshell.
78001
78002 2006-09-18  Bruno Haible  <bruno@clisp.org>
78003
78004         * MODULES.html.sh (func_module): Break long lines.
78005         Suggested by Bruce Korb <bkorb@gnu.org>.
78006
78007 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78008
78009         Speed up by a factor of 1.12.
78010         * gnulib-tool (nl): New variable.
78011         (func_import): Rewrite include directive extraction to only read each
78012         directive once.
78013
78014 2006-09-17  Bruno Haible  <bruno@clisp.org>
78015
78016         * modules/javaversion (Makefile.am): Remove DEFS setting.
78017         (Depends-on): Add configmake, for PKGDATADIR definition.
78018
78019 2006-09-17  Bruno Haible  <bruno@clisp.org>
78020
78021         * gnulib-tool (func_create_testdir): Rewrite all files at once.
78022
78023 2006-09-17  Bruno Haible  <bruno@clisp.org>
78024
78025         * gnulib-tool (func_append): New function, stolen from libtool.m4.
78026         (func_modules_transitive_closure, func_modules_add_dummy,
78027         func_modules_to_filelist, func_import, func_create_testdir,
78028         func_create_megatestdir, ...): Use it wherever possible.
78029         Suggested by Ralf Wildenhues.
78030
78031 2006-09-16  Karl Berry  <karl@gnu.org>
78032
78033         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
78034         to avoid sectioning errors.
78035         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
78036         [ifinfo]: blank line after @center-ed titles.
78037         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
78038         Spell FSF address consistently with others.
78039         (These changes approved by rms.)
78040
78041 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78042
78043         Speed up by a factor of 1.61.
78044         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
78045         already checked module names again.
78046
78047 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78048
78049         Speed up by a factor of 1.13.
78050         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
78051         for new_files, and the input to func_add_or_update.
78052
78053 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78054
78055         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
78056         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
78057
78058 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78059
78060         * modules/mkancesdirs (Depends-on): Add fcntl.
78061         * modules/savewd: New file.
78062         * MODULES.html.sh (File system functions): Add savewd.
78063
78064         * modules/configmake (Makefile.am): Add support for the
78065         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
78066
78067 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78068
78069         * m4/savewd.m4: New file.
78070
78071 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78072
78073         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
78074         (dirchownmod): New arg FD.  All callers changed.
78075         Use FD rather than opening the directory ourself, as opening is
78076         now the caller's responsibility.
78077         * lib/dirchownmod.h: Likewise.
78078         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
78079         hosts that require <sys/types.h> before <sys/stat.h>.  Include
78080         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
78081         (test_dir): Remove.
78082         (mkancesdirs): Return length of prefix of FILE that has already
78083         been made, or -2 if there is a child doing the work.  Redo
78084         algorithm so that it is O(N) rather than O(N**2).  Optimize away
78085         ".", and treat ".." specially since it might stray back into
78086         already-created areas.  Use a subprocess if necessary.  New arg
78087         WD; all users changed.  MAKE_DIR function should now return 1
78088         if it creates a directory that is not readable.  Return -2 if
78089         a child process is spun off.
78090         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
78091         Adjust signature to match code.
78092         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
78093         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
78094         all users changed.
78095         * lib/savewd.c, lib/savewd.h: New files.
78096
78097 2006-09-15  Jim Meyering  <jim@meyering.net>
78098
78099         * modules/rename-dest-slash: New module.
78100         * MODULES.html.sh (posix_compat): Add it here.
78101
78102         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
78103
78104 2006-09-15  Jim Meyering  <jim@meyering.net>
78105
78106         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
78107         file.
78108
78109         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
78110
78111 2006-09-15  Jim Meyering  <jim@meyering.net>
78112
78113         * lib/rename-dest-slash.c (has_trailing_slash): Use
78114         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
78115         (rpl_rename_dest_slash): Perform the cheaper trailing slash
78116         test before testing whether SRC is a directory.
78117         Suggestions from Bruno Haible.
78118
78119         Avoid a warning about an unused variable.
78120         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
78121         into the #ifdef block where it's used.
78122
78123         * lib/rename-dest-slash.c: New file.
78124
78125 2006-09-14  Bruno Haible  <bruno@clisp.org>
78126
78127         * lib/allocsa.c: Include <config.h> unconditionally.
78128         * lib/asnprintf.c: Likewise.
78129         * lib/asprintf.c: Likewise.
78130         * lib/c-strcasecmp.c: Likewise.
78131         * lib/c-strcasestr.c: Likewise.
78132         * lib/c-strncasecmp.c: Likewise.
78133         * lib/c-strstr.c: Likewise.
78134         * lib/classpath.c: Likewise.
78135         * lib/clean-temp.c: Likewise.
78136         * lib/concatpath.c: Likewise.
78137         * lib/copy-file.c: Likewise.
78138         * lib/csharpcomp.c: Likewise.
78139         * lib/csharpexec.c: Likewise.
78140         * lib/execute.c: Likewise.
78141         * lib/fatal-signal.c: Likewise.
78142         * lib/findprog.c: Likewise.
78143         * lib/fwriteerror.c: Likewise.
78144         * lib/gl_array_list.c: Likewise.
78145         * lib/gl_array_oset.c: Likewise.
78146         * lib/gl_avltree_list.c: Likewise.
78147         * lib/gl_avltree_oset.c: Likewise.
78148         * lib/gl_avltreehash_list.c: Likewise.
78149         * lib/gl_carray_list.c: Likewise.
78150         * lib/gl_linked_list.c: Likewise.
78151         * lib/gl_linkedhash_list.c: Likewise.
78152         * lib/gl_list.c: Likewise.
78153         * lib/gl_oset.c: Likewise.
78154         * lib/gl_rbtree_list.c: Likewise.
78155         * lib/gl_rbtree_oset.c: Likewise.
78156         * lib/gl_rbtreehash_list.c: Likewise.
78157         * lib/imaxabs.c: Likewise.
78158         * lib/imaxdiv.c: Likewise.
78159         * lib/javacomp.c: Likewise.
78160         * lib/javaexec.c: Likewise.
78161         * lib/javaversion.c: Likewise.
78162         * lib/linebreak.c: Likewise.
78163         * lib/localcharset.c: Likewise.
78164         * lib/lock.c: Likewise.
78165         * lib/mbchar.c: Likewise.
78166         * lib/mbswidth.c: Likewise.
78167         * lib/mkdtemp.c: Likewise.
78168         * lib/pipe.c: Likewise.
78169         * lib/printf-args.c: Likewise.
78170         * lib/printf-parse.c: Likewise.
78171         * lib/progname.c: Likewise.
78172         * lib/progreloc.c: Likewise.
78173         * lib/readlink.c: Likewise.
78174         * lib/sh-quote.c: Likewise.
78175         * lib/stpcpy.c: Likewise.
78176         * lib/stpncpy.c: Likewise.
78177         * lib/strcasecmp.c: Likewise.
78178         * lib/strcasestr.c: Likewise.
78179         * lib/strcspn.c: Likewise.
78180         * lib/striconv.c: Likewise.
78181         * lib/strncasecmp.c: Likewise.
78182         * lib/strnlen1.c: Likewise.
78183         * lib/strstr.c: Likewise.
78184         * lib/strtok_r.c: Likewise.
78185         * lib/tls.c: Likewise.
78186         * lib/tmpdir.c: Likewise.
78187         * lib/unicodeio.c: Likewise.
78188         * lib/unsetenv.c: Likewise.
78189         * lib/vasnprintf.c: Likewise.
78190         * lib/vasprintf.c: Likewise.
78191         * lib/wait-process.c: Likewise.
78192         * lib/xallocsa.c: Likewise.
78193         * lib/xsetenv.c: Likewise.
78194         * lib/xstriconv.c: Likewise.
78195
78196 2006-09-13  Simon Josefsson  <jas@extundo.com>
78197
78198         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
78199         that internally, suggested by Ralf Wildenhues
78200         <Ralf.Wildenhues@gmx.de>.
78201
78202 2006-09-13  Simon Josefsson  <jas@extundo.com>
78203
78204         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
78205         @LIBOBJS@.
78206         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78207
78208 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78209
78210         * lib/_fpending.c: Include <config.h> unconditionally, since we no
78211         longer worry about uses that don't define HAVE_CONFIG_H.
78212         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
78213         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
78214         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
78215         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
78216         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
78217         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
78218         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
78219         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
78220         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
78221         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
78222         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
78223         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
78224         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
78225         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
78226         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
78227         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
78228         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
78229         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
78230         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
78231         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
78232         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
78233         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
78234         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
78235         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
78236         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
78237         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
78238         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
78239         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
78240         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
78241         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
78242         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
78243         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
78244         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
78245         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
78246         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
78247         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
78248         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
78249         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
78250         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
78251         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
78252         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
78253         Likewise.
78254
78255 2006-09-13  Eric Blake  <ebb9@byu.net>
78256
78257         * lib/getopt.c: Fix typo in last commit.
78258
78259 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78260
78261         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
78262         dgettext.
78263
78264 2006-09-12  Jim Meyering  <jim@meyering.net>
78265
78266         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
78267         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
78268         Reported by Nelson H. F. Beebe.
78269
78270 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78271
78272         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
78273         program_invocation_name and program_invocation_short_name are
78274         initialized.
78275         * lib/argp-namefrob.h: Move declarations of program_invocation_name
78276         and program_invocation_short_name to argp.h, so they are visible
78277         to user programs.
78278         * lib/argp.h: Likewise
78279
78280 2006-09-10  Bruno Haible  <bruno@clisp.org>
78281
78282         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78283         m4/inttypes_h.m4, m4/uintmax_t.m4.
78284
78285 2006-09-10  Bruno Haible  <bruno@clisp.org>
78286
78287         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
78288         gl_AC_TYPE_UINTMAX_T.
78289
78290 2006-09-10  Bruno Haible  <bruno@clisp.org>
78291
78292         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
78293
78294 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78295
78296         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
78297         convention.  Text proposed by Bruno Haible.
78298         (struct argp_option): Document the use of N_() wrappers.
78299
78300         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
78301         '\v', and translate the two parts separately, instead of feeding
78302         the whole string to gettext.  This allows to exclude
78303         '\v' from the strings visible to the translator by writing doc
78304         strings as N_("..") "\v" N_("..").
78305
78306 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
78307
78308         * config/srclist.txt: Undo latest change; the bug was fixed.
78309
78310 2006-09-09  Bruno Haible  <bruno@clisp.org>
78311
78312         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
78313         assignments if building a library without libtool.
78314         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
78315         in func_emit_lib_Makefile_am.
78316         (func_import): When building a static library libfoo.a, arrange to
78317         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
78318         (func_create_testdir): Likewise.
78319         * modules/gc (configure.ac, Makefile.am): If building statically,
78320         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
78321         * modules/iconvme (configure.ac, Makefile.am): Likewise.
78322         * modules/striconv (configure.ac, Makefile.am): Likewise.
78323         Based on a suggestion by Ralf Wildenhues.
78324
78325 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78326
78327         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
78328         Check for unistd.h too, since Autoconf doesn't assume POSIX.
78329         Also:
78330
78331         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78332         Add year_2050_test to catch glibc bug 2821
78333         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78334
78335         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78336         Prefer #ifdef to #if.
78337
78338         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
78339         Return from 'main' instead of calling 'exit'.
78340
78341 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78342
78343         * lib/mktime.c (guess_time_tm): Fix bug where mktime
78344         returned the maximum time_t value rather than (time_t) -1.
78345         Problem originally reported by William Bardwell
78346         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78347
78348         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78349         Moved to here ...
78350         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78351         ... from here.
78352
78353 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78354
78355         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
78356         2821 is fixed.
78357
78358 2006-09-08  Jim Meyering  <jim@meyering.net>
78359
78360         Don't make generated files read-only.  That would bother too many
78361         people.  However, do retain the ability to work when targets are
78362         read-only: remove the destination and temporary files before writing
78363         them (when generated via sed or echo), or by using the -f option for
78364         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
78365         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78366         * modules/byteswap, modules/configmake, modules/fcntl:
78367         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78368         * modules/localcharset, modules/netinet_in, modules/poll:
78369         * modules/stdbool, modules/stdint, modules/sys_select:
78370         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78371
78372 2006-09-08  Jim Meyering  <jim@meyering.net>
78373
78374         Avoid new build failure on FreeBSD 6.0.
78375         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
78376         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
78377         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
78378
78379 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78380
78381         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
78382
78383 2006-09-07  Jim Meyering  <jim@meyering.net>
78384
78385         Fix global typo in last change: use chmod u-w, not chmod u-x.
78386         Spotted by Paul Eggert and Bruce Korb.
78387         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78388         * modules/byteswap, modules/configmake, modules/fcntl:
78389         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78390         * modules/localcharset, modules/netinet_in, modules/poll:
78391         * modules/stdbool, modules/stdint, modules/sys_select:
78392         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78393
78394 2006-09-06  Jim Meyering  <jim@meyering.net>
78395
78396         Make generated files be read-only.
78397         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
78398         Ensure that each generated file is now read-only.
78399         * modules/argz: Likewise.
78400         * modules/arpa_inet: Likewise.
78401         * modules/byteswap: Likewise.
78402         * modules/configmake: Likewise.
78403         * modules/fcntl: Likewise.
78404         * modules/fnmatch: Likewise.
78405         * modules/getopt: Likewise.
78406         * modules/glob: Likewise.
78407         * modules/inttypes: Likewise.
78408         * modules/netinet_in: Likewise.
78409         * modules/poll: Likewise.
78410         * modules/stdbool: Likewise.
78411         * modules/stdint: Likewise.
78412         * modules/sys_select: Likewise.
78413         * modules/sys_socket: Likewise.
78414         * modules/sys_stat: Likewise.
78415         * modules/sysexits: Likewise.
78416         * modules/localcharset: Same as above, but continue using temporary
78417         file named "t-$@" (why different?) rather than the "$@-t" used
78418         everywhere else.
78419
78420         * modules/sysexits (Makefile.am): Replace literal occurrences
78421         of "sysexit.h" more readable, and more consistent, "$@".
78422
78423 2006-09-06  Bruno Haible  <bruno@clisp.org>
78424
78425         * modules/striconv: New file.
78426         * modules/xstriconv: New file.
78427         * MODULES.html.sh (Internationalization functions): Add striconv,
78428         xstriconv.
78429
78430 2006-09-06  Bruno Haible  <bruno@clisp.org>
78431
78432         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
78433         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
78434         not using libtool correctly.
78435
78436 2006-09-06  Bruno Haible  <bruno@clisp.org>
78437
78438         * lib/striconv.h: New file.
78439         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
78440         iconvstring.c.
78441         * lib/xstriconv.h: New file.
78442         * lib/xstriconv.c: New file.
78443
78444 2006-09-06  Bruno Haible  <bruno@clisp.org>
78445
78446         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
78447         lib_..._LDFLAGS.
78448
78449 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78450
78451         * lib/argz_.h: Sync from Libtool.
78452
78453         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
78454                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78455
78456         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
78457
78458 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78459
78460         * modules/trim: New file.
78461
78462 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78463
78464         * lib/trim.h: New file.
78465         * lib/trim.c: New file.
78466
78467 2006-09-05  Bruno Haible  <bruno@clisp.org>
78468
78469         * MODULES.html.sh (String handling): Add trim.
78470
78471 2006-09-04  Karl Berry  <karl@gnu.org>
78472
78473         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
78474         until next release.
78475
78476 2006-09-03  Bruno Haible  <bruno@clisp.org>
78477
78478         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
78479         correctly.
78480
78481 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78482
78483         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
78484         not gl_GETLOADAVG.  Omit unneeded semicolons.
78485         Problems reported by Ralf Wildenhues in
78486         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78487         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
78488         at the end, which is the usual gnulib style.
78489
78490         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
78491         of doing all the work ourselves.
78492         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
78493         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
78494
78495 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78496
78497         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
78498         Problem reported by Ralf Wildenhues in
78499         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78500
78501         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
78502         HAVE_STRUCT_STATFS_F_FSTYPENAME.
78503
78504 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78505
78506         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
78507         yesterday's patch by changing test -n to test -z.
78508
78509 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78510
78511         * modules/getloadavg (Files): Add m4/getloadavg.m4.
78512         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
78513         the former is now obsolescent.
78514
78515         * modules/chdir-long (Depends-on): Add fcntl.
78516
78517 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78518
78519         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
78520         obsolescent, and programs should use gnulib instead.
78521         * m4/getloadavg.m4: New file, with contents taken from Autoconf
78522         but with prefixes changed.
78523
78524 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78525
78526         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
78527         or stdbool.h, because they might not exist while configuring.
78528
78529         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
78530         Don't include unistd.h or limits.h; not needed, since chdir-long.h
78531         does that for us.
78532         (O_DIRECTORY): Remove.
78533
78534 2006-08-31  Eric Blake  <ebb9@byu.net>
78535
78536         * gnulib-tool: Don't let emacs change spaces to TAB.
78537
78538 2006-08-31  Bruno Haible  <bruno@clisp.org>
78539
78540         * gnulib-tool: When calling func_import more than once, do it in a
78541         subshell.
78542         Reported by Eric Blake <ebb9@byu.net>.
78543
78544 2006-08-31  Bruno Haible  <bruno@clisp.org>
78545
78546         * gnulib-tool (nl): Remove variable.
78547         (sed_transform_lib_file): Use more robust test for config-h module.
78548         (func_import): Fix typo in 2006-08-25 patch.
78549
78550 2006-08-31  Bruno Haible  <bruno@clisp.org>
78551
78552         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
78553         specified, augment Makefile.am variables instead of assigning them.
78554
78555 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78556
78557         Work around a bug in both the Linux and SunOS 64-bit kernels:
78558         nanosleep mishandles sleeps for longer than 2**31 seconds.
78559         Problem reported by Frank v Waveren in
78560         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78561         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
78562         Check for nanosleep bug.
78563         (LIB_NANOSLEEP): Append clock_gettime library if needed.
78564
78565 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78566
78567         Work around a bug in both the Linux and SunOS 64-bit kernels:
78568         nanosleep mishandles sleeps for longer than 2**31 seconds.
78569         Problem reported by Frank v Waveren in
78570         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78571         * lib/nanosleep.c (BILLION): New constant.
78572         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
78573         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
78574         implementation.
78575
78576 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78577
78578         * modules/nanosleep (Depends-on): Add gettime.
78579
78580 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78581         and Simon Josefsson  <jas@extundo.com>
78582         and Oskar Liljeblad  <oskar@osk.mine.nu>
78583
78584         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
78585         * gnulib-tool (func_import): New license type 'unmodifiable license
78586         text'.
78587         * modules/fdl: Use it.  Longer description.
78588         * module/gpl, module/lgpl: New files.
78589
78590 2006-08-30  Jim Meyering  <jim@meyering.net>
78591
78592         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
78593         shadowing the parameter.
78594
78595 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78596
78597         Sync from Libtool:
78598
78599         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78600
78601         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
78602         sharing with gnulib.  Report by Eric Blake.
78603
78604 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78605
78606         * modules/isapipe: New file.
78607         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
78608
78609 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78610
78611         * modules/configmake (Makefile.am): Add a comment, and omit
78612         the CONFIGMAKE_ prefix from generated macro names.  Suggested
78613         by Bruno Haible.
78614
78615 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78616
78617         * m4/isapipe.m4: New file.
78618
78619 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78620
78621         * lib/isapipe.c, lib/isapipe.h: New files.
78622
78623 2006-08-29  Jim Meyering  <jim@meyering.net>
78624
78625         * modules/configmake (Makefile.am): Make configmake.h depend on
78626         Makefile.  Otherwise, a stale configmake.h could hang around.
78627
78628 2006-08-29  Eric Blake  <ebb9@byu.net>
78629
78630         * lib/error.c (error_at_line, print_errno_message): Match libc, after
78631         resolution of upstream bug 3044.
78632
78633 2006-08-29  Bruno Haible  <bruno@clisp.org>
78634
78635         * modules/localcharset (Depends-on): Add configmake.
78636         (Makefile.am): Remove setting of LIBDIR through DEFS.
78637
78638 2006-08-29  Bruno Haible  <bruno@clisp.org>
78639
78640         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
78641         defined.
78642
78643 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78644
78645         * modules/fcntl: New file.
78646         * modules/chdir-safer (Depends-on): Add fcntl.
78647         * modules/fts: Likewise.
78648         * modules/mkdir-p: Likewise.
78649
78650         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
78651         This undoes the most recent change, since we're now addressing the
78652         problem in a different way.
78653
78654         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
78655         into output, since the output might be called Makefile.am even
78656         if $makefile_name is something different.
78657         (func_import): Use $makefile_am rather than
78658         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
78659         empty.
78660
78661         * modules/inttypes (Files): Add m4/inttypes-h.m4.
78662
78663 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78664
78665         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
78666         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
78667         recent change to stdint.m4, since we're now addressing the problem in a
78668         different way.
78669
78670 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78671
78672         * m4/fcntl_h.m4: New file.
78673
78674 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78675
78676         * lib/fcntl_.h: New file.
78677         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
78678         the fcntl module.
78679         * lib/dirchownmod.c: Likewise.
78680         * lib/fts.c: Likewise.
78681
78682         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
78683         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
78684         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
78685         just before including <inttypes.h>, to avoid circular inclusion.
78686
78687 2006-08-28  Jim Meyering  <jim@meyering.net>
78688
78689         * doc/visibility.texi: Actually read and correct the grammar of the
78690         sentence affected by yesterday's change.
78691
78692 2006-08-28  Eric Blake  <ebb9@byu.net>
78693
78694         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
78695         needs wrapper.
78696
78697 2006-08-28  Eric Blake  <ebb9@byu.net>
78698
78699         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
78700
78701 2006-08-28  Eric Blake  <ebb9@byu.net>
78702
78703         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
78704
78705 2006-08-28  Bruno Haible  <bruno@clisp.org>
78706
78707         * modules/c-strstr: New file, from GNU gettext.
78708         * MODULES.html.sh (String handling): Add c-strstr.
78709
78710 2006-08-28  Bruno Haible  <bruno@clisp.org>
78711
78712         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
78713         macros.
78714         Reported by Eric Blake.
78715
78716 2006-08-28  Bruno Haible  <bruno@clisp.org>
78717
78718         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
78719         (VASNPRINTF): Return a string of length > INT_MAX without failing.
78720         * lib/vasprintf.c: Include errno.h, limits.h.
78721         (EOVERFLOW): New fallback definition.
78722         (vasprintf): Test here whether the string length is > INT_MAX.
78723         * lib/vsnprintf.c: Include errno.h, limits.h.
78724         (EOVERFLOW): New fallback definition.
78725         (vsnprintf): Fix bug when generated string was too long for the buffer.
78726         Test here whether the string length is > INT_MAX.
78727
78728 2006-08-28  Bruno Haible  <bruno@clisp.org>
78729
78730         * lib/inttypes_.h (SCNX*): Remove definitions.
78731         Reported by Eric Blake.
78732
78733 2006-08-28  Bruno Haible  <bruno@clisp.org>
78734
78735         * lib/c-strstr.h: New file, from GNU gettext.
78736         * lib/c-strstr.c: New file, from GNU gettext.
78737
78738 2006-08-28  Bruno Haible  <bruno@clisp.org>
78739
78740         * gnulib-tool: Reorder some statements.
78741
78742 2006-08-28  Bruno Haible  <bruno@clisp.org>
78743
78744         * gnulib-tool: New option --makefile-name.
78745         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
78746         $makefile_name.
78747         (func_import): Write $makefile_name to the cache file, and read it from
78748         there unless explicitly specified. Use $makefile_name as file name
78749         instead of Makefile.am. Adjust the recommendations accordingly.
78750
78751 2006-08-28  Bruno Haible  <bruno@clisp.org>
78752
78753         * gnulib-tool (func_verify_module): Check against misapplying patch.
78754
78755 2006-08-28  Bruno Haible  <bruno@clisp.org>
78756
78757         * gnulib-tool (func_relativize, func_relconcat): New functions.
78758         Give an error if --local-dir is given with --update.
78759         Remove trailing slashes from $local_gnulib_dir.
78760         (func_import): Store the relativized $local_gnulib_dir in
78761         gnulib-cache.m4, and read it from there if not specified explicitly.
78762
78763 2006-08-28  Bruno Haible  <bruno@clisp.org>
78764
78765         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
78766         is the current directory. Respect also $local_gnulib_dir.
78767
78768 2006-08-28  Bruno Haible  <bruno@clisp.org>
78769             Simon Josefsson  <jas@extundo.com>
78770
78771         BeOS portability.
78772         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
78773
78774 2006-08-27  Jim Meyering  <jim@meyering.net>
78775
78776         * doc/visibility.texi: Remove duplicate word: "pointer".
78777
78778 2006-08-26  Bruno Haible  <bruno@clisp.org>
78779
78780         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
78781         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
78782         (Makefile.am): Create inttypes.h from inttypes_.h.
78783         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
78784
78785         * modules/imaxabs: New file.
78786
78787         * modules/imaxdiv: New file.
78788
78789 2006-08-26  Bruno Haible  <bruno@clisp.org>
78790
78791         * m4/inttypes.m4: New file.
78792         * m4/_inttypes_h.m4: Remove file.
78793         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
78794         PRI_MACROS_BROKEN.
78795         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
78796
78797         * m4/imaxabs.m4: New file.
78798
78799         * m4/imaxdiv.m4: New file.
78800
78801 2006-08-26  Bruno Haible  <bruno@clisp.org>
78802
78803         * lib/inttypes_.h: New file.
78804         * lib/inttypes.h: Remove file.
78805         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
78806
78807         * lib/imaxabs.c: New file.
78808
78809         * lib/imaxdiv.c: New file.
78810
78811 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78812
78813         New config-h module, so that "make" output needn't be cluttered
78814         by -DHAVE_CONFIG_H.
78815         * MODULES.html.sh (Support for building libraries and executables):
78816         Add config-h.
78817         * modules/config-h: New file.
78818         * gnulib-tool (nl, sed_transform_lib_file): New vars.
78819         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
78820         the config-h module is used.
78821
78822         New configmake module, so that "make" output needn't be cluttered
78823         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
78824         * MODULES.html.sh (Support for building libraries and executables):
78825         Add configmake.
78826         * modules/configmake: New file.
78827
78828 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78829
78830         * m4/config-h.m4: New file.
78831
78832 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78833
78834         * config/srclist.txt: Add elisp-comp.
78835
78836 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78837
78838         * MODULES.html.sh (Support for building libraries and executables):
78839         Add elisp-comp.
78840         * build-aux/elisp-comp: New file.
78841         * modules/elisp-comp: New file.
78842
78843 2006-08-24  Bruno Haible  <bruno@clisp.org>
78844
78845         * gnulib-tool (func_create_testdir): Use non-default values of
78846         sourcebase and m4base.
78847
78848 2006-08-24  Bruno Haible  <bruno@clisp.org>
78849
78850         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
78851         HTML structure.
78852
78853 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78854
78855         * modules/openat (Depends-on): Add lchown.
78856
78857 2006-08-23  Bruno Haible  <bruno@clisp.org>
78858
78859         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
78860         of gl_LOCK_EARLY instead of gl_LOCK.
78861
78862 2006-08-23  Bruno Haible  <bruno@clisp.org>
78863
78864         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
78865         on OSF/1 to no.
78866         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
78867
78868 2006-08-23  Bruno Haible  <bruno@clisp.org>
78869
78870         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
78871         as unusable.
78872
78873         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
78874         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
78875         (gl_LOCK): New macro.
78876
78877 2006-08-22  Simon Josefsson  <jas@extundo.com>
78878
78879         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
78880         to md5 module.
78881
78882 2006-08-22  Simon Josefsson  <jas@extundo.com>
78883
78884         * MODULES.html.sh: Add "Support for maintaining and release
78885         projects".
78886
78887         * build-aux/gnupload: New file, from coreutils.
78888
78889 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78890
78891         Avoid the need for AC_LIBSOURCES in m4 macros.
78892         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
78893         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
78894         * modules/check-version (EXTRA_DIST): Add check-version.h.
78895         * modules/crc (EXTRA_DIST): Add crc.h.
78896         * modules/des (EXTRA_DIST): Add des.h.
78897         * modules/gc (EXTRA_DIST): Add gc.h.
78898         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
78899         * modules/getline (EXTRA_DIST): Add getline.h.
78900         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
78901         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
78902         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
78903         * modules/md2 (EXTRA_DIST): Add md2.h.
78904         * modules/md4 (EXTRA_DIST): Add md4.h.
78905         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
78906         * modules/read-file (EXTRA_DIST): Add read-file.h.
78907         * modules/readline (EXTRA_DIST): Add readline.h.
78908         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
78909         rijndael-api-fst.h.
78910
78911 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78912
78913         * m4/rijndael.m4 (gl_ARCFOUR):
78914         * m4/arctwo.m4 (gl_ARCTWO):
78915         * m4/check-version.m4 (gl_CHECK_VERSION):
78916         * m4/crc.m4 (gl_CRC):
78917         * m4/des.m4 (gl_DES):
78918         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
78919         * m4/gc.m4 (gl_GC):
78920         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
78921         * m4/getline.m4 (gl_FUNC_GETLINE):
78922         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
78923         * m4/hmac-md5.m4 (gl_HMAC_MD5):
78924         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
78925         * m4/md2.m4 (gl_MD2):
78926         * m4/md4.m4 (gl_MD4):
78927         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
78928         * m4/read-file.m4 (gl_FUNC_READ_FILE):
78929         * m4/readline.m4 (gl_FUNC_READLINE):
78930         * m4/rijndael.m4 (gl_RIJNDAEL):
78931         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78932         to get the necessary .h files and whatnot.
78933
78934 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78935
78936         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
78937         gnulib rather than the other way around.
78938         * config/srclistvars.sh (COREUTILS): Remove.
78939
78940 2006-08-22  Jim Meyering  <jim@meyering.net>
78941
78942         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
78943
78944         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
78945
78946 2006-08-22  Eric Blake  <ebb9@byu.net>
78947
78948         * modules/regexprops-generic: New file.
78949         * MODULES.html.sh (Support for building documentation): List it.
78950
78951 2006-08-22  Eric Blake  <ebb9@byu.net>
78952
78953         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
78954         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
78955         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
78956         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
78957
78958 2006-08-22  Bruno Haible  <bruno@clisp.org>
78959
78960         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
78961         and lib_LTLIBRARIES like the other lib_* variables.
78962
78963 2006-08-22  Bruno Haible  <bruno@clisp.org>
78964
78965         * build-aux/x-to-1.in: New file, from GNU gettext.
78966
78967 2006-08-22  Bruno Haible  <bruno@clisp.org>
78968
78969         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
78970         <utmpx.h> exists.
78971
78972 2006-08-22  Bruno Haible  <bruno@clisp.org>
78973
78974         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
78975         <utmpx.h> exists.
78976
78977 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78978
78979         BeOS portability.
78980         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
78981         exist.
78982         Problem reported by Bruno Haible.
78983
78984 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78985
78986         Avoid the need for AC_LIBSOURCES in m4 macros.
78987         * modules/acl (EXTRA_DIST): Add acl.h.
78988         * modules/argmatch (Files): Add m4/argmatch.m4.
78989         (configure.ac): Add gl_ARGMATCH.
78990         (EXTRA_DIST): Renamed from lib_SOURCES, for
78991         consistency with the other modules.  Remove argmatch.c.
78992         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
78993         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
78994         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
78995         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
78996         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
78997         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
78998         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
78999         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
79000         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
79001         * modules/closeout (EXTRA_DIST): Add closeout.h.
79002         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
79003         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
79004         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
79005         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
79006         dirname.h; remove basename.c and stripslash.c.
79007         * modules/exclude (EXTRA_DIST): Add exclude.h.
79008         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
79009         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
79010         * modules/file-type (EXTRA_DIST): Add file-type.h.
79011         * modules/filemode (EXTRA_DIST): Add filemode.h.
79012         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
79013         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79014         * modules/fpending (EXTRA_DIST): Add __fpending.h.
79015         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
79016         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
79017         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
79018         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
79019         * modules/getdate (EXTRA_DIST): Add getdate.c.
79020         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
79021         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
79022         * modules/getpass (EXTRA_DIST): Add getpass.h.
79023         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
79024         * modules/group-member (EXTRA_DIST): Add group-member.h.
79025         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
79026         * modules/hash (EXTRA_DIST): Add hash.h.
79027         * modules/human (EXTRA_DIST): Add human.h.
79028         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
79029         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
79030         * modules/lchown (EXTRA_DIST): Add lchown.h.
79031         * modules/long-options (EXTRA_DIST): Add long-options.h.
79032         * modules/lstat (EXTRA_DIST): Add lstat.h.
79033         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
79034         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
79035         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
79036         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
79037         * modules/memxor (EXTRA_DIST): Add memxor.h.
79038         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
79039         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
79040         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
79041         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
79042         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
79043         * modules/physmem (EXTRA_DIST): Add physmem.h.
79044         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
79045         * modules/posixver (EXTRA_DIST): Add posixver.h.
79046         * modules/quote (EXTRA_DIST): Add quote.h.
79047         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
79048         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
79049         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
79050         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
79051         regex_internal.h regexec.c.
79052         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
79053         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
79054         * modules/same (EXTRA_DIST): Add same.h.
79055         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
79056         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
79057         * modules/savedir (EXTRA_DIST): Add savedir.h.
79058         * modules/sha1 (EXTRA_DIST): Add sha1.h.
79059         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
79060         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
79061         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
79062         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
79063         * modules/strdup (EXTRA_DIST): Add strdup.h.
79064         * modules/strftime (EXTRA_DIST): Add strftime.h.
79065         * modules/strndup (EXTRA_DIST): Add strndup.h.
79066         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
79067         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
79068         * modules/time_r (EXTRA_DIST): Add time_r.h.
79069         * modules/timespec (EXTRA_DIST): Add timespec.h.
79070         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79071         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
79072         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
79073         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
79074         * modules/userspec (EXTRA_DIST): Add userspec.h.
79075         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
79076         * modules/utimens (EXTRA_DIST): Add utimens.h.
79077         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
79078         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
79079         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
79080         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
79081         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
79082         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
79083         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
79084         * modules/yesno (EXTRA_DIST): Add yesno.h.
79085
79086 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79087
79088         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
79089
79090         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
79091         * m4/dev-ino.m4, same-inode.m4: Remove.
79092
79093         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
79094         * m4/acl.m4 (AC_FUNC_ACL):
79095         * m4/backupfile.m4 (gl_BACKUPFILE):
79096         * m4/c-strtod.m4 (gl_C99_STRTOLD):
79097         * m4/canon-host.m4 (gl_CANON_HOST):
79098         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
79099         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
79100         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
79101         * m4/cloexec.m4 (gl_CLOEXEC):
79102         * m4/close-stream.m4 (gl_CLOSE_STREAM):
79103         * m4/closeout.m4 (gl_CLOSEOUT):
79104         * m4/dirfd.m4 (gl_FUNC_DIRFD):
79105         * m4/dirname.m4 (gl_DIRNAME):
79106         * m4/exclude.m4 (gl_EXCLUDE):
79107         * m4/exitfail.m4 (gl_EXITFAIL):
79108         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
79109         * m4/file-type.m4 (gl_FILE_TYPE):
79110         * m4/filemode.m4 (gl_FILEMODE):
79111         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
79112         * m4/fpending.m4 (gl_FUNC_FPENDING):
79113         * m4/fprintftime.m4 (gl_FPRINTFTIME):
79114         * m4/fts.m4 (gl_FUNC_FTS):
79115         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
79116         * m4/getdate.m4 (gl_GETDATE):
79117         * m4/gethrxtime.m4 (gl_GETHRXTIME):
79118         * m4/getpagesize.m4 (gl_GETPAGESIZE):
79119         * m4/getpass.m4 (gl_FUNC_GETPASS):
79120         * m4/gettime.m4 (gl_GETTIME):
79121         * m4/getugroups.m4 (gl_GETUGROUPS):
79122         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
79123         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
79124         * m4/hard-locale.m4 (gl_HARD_LOCALE):
79125         * m4/hash.m4 (gl_HASH):
79126         * m4/idcache.m4 (gl_IDCACHE):
79127         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
79128         * m4/lchown.m4 (gl_FUNC_LCHOWN):
79129         * m4/long-options.m4 (gl_LONG_OPTIONS):
79130         * m4/lstat.m4 (gl_FUNC_LSTAT):
79131         * m4/md5.m4 (gl_MD5):
79132         * m4/memcasecmp.m4 (gl_MEMCASECMP):
79133         * m4/memcoll.m4 (gl_MEMCOLL):
79134         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
79135         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
79136         * m4/memxor.m4 (gl_MEMXOR):
79137         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
79138         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
79139         * m4/modechange.m4 (gl_MODECHANGE):
79140         * m4/mountlist.m4 (gl_MOUNTLIST):
79141         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
79142         * m4/openat.m4 (gl_FUNC_OPENAT):
79143         * m4/pathmax.m4 (gl_PATHMAX):
79144         * m4/physmem.m4 (gl_PHYSMEM):
79145         * m4/posixtm.m4 (gl_POSIXTM):
79146         * m4/posixver.m4 (gl_POSIXVER):
79147         * m4/quote.m4 (gl_QUOTE):
79148         * m4/quotearg.m4 (gl_QUOTEARG):
79149         * m4/readtokens.m4 (gl_READTOKENS):
79150         * m4/readutmp.m4 (gl_READUTMP):
79151         * m4/regex.m4 (gl_REGEX):
79152         * m4/safe-read.m4 (gl_SAFE_READ):
79153         * m4/safe-write.m4 (gl_SAFE_WRITE):
79154         * m4/same.m4 (gl_SAME):
79155         * m4/save-cwd.m4 (gl_SAVE_CWD):
79156         * m4/savedir.m4 (gl_SAVEDIR):
79157         * m4/settime.m4 (gl_SETTIME):
79158         * m4/sha1.m4 (gl_SHA1):
79159         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
79160         * m4/stat-macros.m4 (gl_STAT_MACROS):
79161         * m4/stat-time.m4 (gl_STAT_TIME):
79162         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
79163         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
79164         * m4/strdup.m4 (gl_FUNC_STRDUP):
79165         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
79166         * m4/strndup.m4 (gl_FUNC_STRNDUP):
79167         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
79168         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
79169         * m4/time_r.m4 (gl_TIME_R):
79170         * m4/timespec.m4 (gl_TIMESPEC):
79171         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
79172         * m4/unlinkdir.m4 (gl_UNLINKDIR):
79173         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
79174         * m4/userspec.m4 (gl_USERSPEC):
79175         * m4/utimecmp.m4 (gl_UTIMECMP):
79176         * m4/utimens.m4 (gl_UTIMENS):
79177         * m4/xalloc.m4 (gl_XALLOC):
79178         * m4/xgetcwd.m4 (gl_XGETCWD):
79179         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
79180         * m4/xreadlink.m4 (gl_XREADLINK):
79181         * m4/xstrtod.m4 (gl_XSTRTOD):
79182         * m4/yesno.m4 (gl_YESNO):
79183         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79184         to get the necessary .h files and whatnot.
79185
79186 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
79187             Bruno Haible  <bruno@clisp.org>
79188
79189         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
79190         /bin/sh understanding of '!' conditional negation.
79191
79192 2006-08-21  Jim Meyering  <jim@meyering.net>
79193
79194         * modules/openat (Depends-on): Really alphabetize.
79195
79196         * modules/acl (Depends-on): Add error and quote.
79197
79198         * check-module (find_included_lib_files): Add at-func.c to the
79199         ok-to-include-more-than-once white list.
79200
79201         * modules/openat (Depends-on): Add lstat.  Alphabetize.
79202
79203 2006-08-21  Bruno Haible  <bruno@clisp.org>
79204
79205         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79206         Emit a pkgdata_DATA variable only if some snippets add contents to it.
79207         Reported by Martin Lambers <marlam@marlam.de>.
79208
79209 2006-08-21  Bruno Haible  <bruno@clisp.org>
79210
79211         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
79212         specify an installation location, don't emit a noinst_LIBRARIES or
79213         noinst_LTLIBRARIES assignment.
79214
79215 2006-08-21  Bruno Haible  <bruno@clisp.org>
79216
79217         BeOS portability.
79218         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
79219         BeOS has mbrtowc() but no <wctype.h>.
79220
79221 2006-08-21  Bruno Haible  <bruno@clisp.org>
79222
79223         BeOS portability.
79224         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
79225         exist.
79226
79227 2006-08-21  Bruno Haible  <bruno@clisp.org>
79228
79229         BeOS portability.
79230         * lib/mbchar.h: Include <wctype.h> only if it exists.
79231
79232 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79233
79234         Remove files that are no longer needed by their respective modules.
79235         * m4/obstack.m4: Remove.
79236         * m4/strerror_r.m4: Remove.
79237         * m4/uint32_t.m4: Remove.
79238         * m4/uintptr_t.m4: Remove.
79239         * m4/ullong_max.m4: Remove.
79240         * m4/xstrtoimax.m4: Remove.
79241         * m4/xstrtoumax.m4: Remove.
79242
79243         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
79244         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
79245         dependencies now capture this.
79246
79247         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
79248         Do not use AC_LIBSOURCES, since gnulib modules now do this.
79249         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
79250         * m4/human.m4 (gl_HUMAN): Likewise.
79251         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
79252         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
79253
79254         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
79255
79256         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
79257         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
79258         stdint.
79259         * m4/human.m4 (gl_HUMAN): Likewise.
79260         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
79261         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
79262         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79263         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79264         * m4/xstrtol (gl_XSTRTOL): Likewise.
79265
79266         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
79267         AC_TYPE_LONG_LONG_INT.
79268         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79269         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
79270         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
79271         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79272
79273         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
79274         on stdbool.
79275
79276         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
79277         (gl_PREREQ_XSTRTOUL): Remove.
79278
79279         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
79280
79281         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
79282         mode.
79283
79284 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79285
79286         Add and change modules to make it easier for coreutils to use
79287         gnulib-tool.
79288         * modules/backupfile (Files): Remove m4/d-ino.m4.
79289         (Depends-on): Add d-ino.
79290         * modules/cycle-check (Depends-on): Add stdint.
79291         (lib_SOURCES): Add cycle-check.h.
79292         * modules/d-ino: New module.
79293         * modules/d-type: New module.
79294         * modules/error (Files): Remove m4/strerror_r.m4.
79295         * modules/filemode (Files): Add m4/st_dm_mode.m4.
79296         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
79297         m4/inttypes_h.m4, m4/uintmax_t.m4.
79298         (Depends-on): Add stdint.
79299         (lib_SOURCES): Add fsusage.h.
79300         * modules/getcwd (Files): Remove d-ino.m4.
79301         (Depends-on): Add d-ino.
79302         * modules/getndelim2 (Depends-on): Add stdint.
79303         * modules/glob (Files): Remove m4/d-type.m4.
79304         (Depends-on): Add d-type.
79305         * modules/host-os: New module.
79306         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
79307         m4/inttypes_h.m4, m4/uintmax_t.m4.
79308         * Depends-on: Add stdint.
79309         (lib_SOURCES): Add human.h.
79310         * modules/inttostr (Files): Remove m4/intmax_t.m4,
79311         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
79312         m4/uintmax_t.m4, m4/ulonglong.m4.
79313         (Depends-on): Add stdint.
79314         (EXTRA_DIST): Add inttostr.h.
79315         * modules/lchmod: New module.
79316         * modules/link-follow: New module.
79317         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
79318         (Depends-on): Add lchmod.
79319         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
79320         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
79321         (Depends-on): Add stdint.
79322         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
79323         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
79324         (Depends-on): Add stdint.
79325         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
79326         * modules/perl: New module.
79327         * modules/regex (Depends-on): Add stdint.
79328         * modules/rmdir-errno: New module.
79329         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79330         m4/intmax_t.m4.
79331         (Depends-on): Add stdint.
79332         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79333         m4/uintmax_t.m4.
79334         (Depends-on): Add stdint.
79335         * modules/unlink-busy: New module.
79336         * modules/utimecmp (Depends-on): Add stdint.
79337         * modules/uptime: New module.
79338         * modules/winsz-ioctl: New module.
79339         * modules/winsz-termios: New module.
79340         * modules/xnanosleep (Depends-on): Add nanosleep.
79341         * modules/ullong_max: Remove.
79342         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
79343         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
79344         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
79345         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
79346         (Depends-on): Add inttypes.
79347         (lib_SOURCES): Add xstrtol.h.
79348         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
79349         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
79350         * MODULES.html.sh: Move 'assert' into the assert section.
79351         Move 'dummy' into the linking section.
79352         Remove ullong_max.
79353         Add section for compatibility checks for POSIX:2001 functions,
79354         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
79355         winsz-ioctl, and winsz-termios into it.
79356         Add lchmod.
79357         Add top-level Misc section and put host-os, perl, and uptime
79358         into it.
79359
79360 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79361
79362         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
79363         now assume the stdint module.  Do not include inttypes.h.
79364         * lib/fsusage.h: Likewise.
79365         * lib/getndelim2.c: Likewise.
79366         * lib/human.h: Likewise.
79367         * lib/inttostr.h: Likewise.
79368         * lib/obstack.c: Likewise.
79369         * lib/regex_internal.h: Likewise.
79370         * lib/tempname.c: Likewise.
79371         * lib/utimecmp.c: Likewise.
79372         * lib/xstrtol.h: Likewise.
79373
79374         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
79375
79376         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
79377         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
79378         * lib/xtime.h: Likewise.
79379
79380 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79381
79382         * modules/openat (Files): Add lib/fchmodat.c.
79383         Fixes problem reported by Jay Youngman.
79384
79385 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79386
79387         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
79388         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
79389
79390 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
79391             Bruno Haible  <bruno@clisp.org>
79392
79393         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
79394         and is a script that invokes bison. Tighten the code. Add comments.
79395
79396 2006-08-18  Jim Meyering  <jim@meyering.net>
79397
79398         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
79399         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
79400         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
79401         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
79402
79403 2006-08-18  Bruno Haible  <bruno@clisp.org>
79404
79405         * modules/bison-i18n: New file.
79406         * MODULES.html.sh (Internationalization functions): Add it.
79407
79408 2006-08-18  Bruno Haible  <bruno@clisp.org>
79409
79410         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
79411         sys/statvfs.h. When getmntinfo was found, check its declaration and
79412         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
79413
79414 2006-08-18  Bruno Haible  <bruno@clisp.org>
79415
79416         * m4/bison-i18n.m4: New file, from bison.
79417
79418 2006-08-18  Bruno Haible  <bruno@clisp.org>
79419
79420         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
79421         (ME_DUMMY): Treat "kernfs" as a dummy.
79422         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
79423
79424 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79425
79426         Update from coreutils.
79427
79428         2006-08-15  Jim Meyering  <jim@meyering.net>
79429
79430         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
79431
79432         2006-01-17  Jim Meyering  <jim@meyering.net>
79433
79434         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
79435
79436         2006-01-11  Jim Meyering  <jim@meyering.net>
79437
79438         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
79439         Check for the lchmod function.
79440
79441 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79442
79443         Update from coreutils.
79444
79445         * lib/__fpending.h: Add copyright notice.
79446         * lib/fprintftime.h: Likewise.
79447         * lib/savedir.c: Use (C) in copyright notice.
79448         * lib/savedir.h: Likewise.
79449
79450         2006-08-15  Jim Meyering  <jim@meyering.net>
79451
79452         * lib/at-func.c: New file, with the logic of all emulated at-functions.
79453         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
79454         in support of the EXPECTED_ERRNO macro.
79455         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
79456         definitions.  Instead, define the appropriate symbols and include
79457         "at-func.c".
79458         * lib/mkdirat.c (mkdirat): Likewise.
79459         * lib/fchmodat.c (fchmodat): Likewise.
79460         (ENOSYS): Remove definition.
79461         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
79462         it.  Don't include "unistd--.h" -- it wasn't ever used.
79463
79464         2006-01-17  Jim Meyering  <jim@meyering.net>
79465
79466         Rewrite fts.c not to change the current working directory,
79467         by using openat, fstatat, fdopendir, etc..
79468
79469         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
79470         (HAVE_OPENAT_SUPPORT): Define.
79471         [_LIBC] (fchdir): Don't undef or define; no longer used.
79472         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
79473         Now, this `function' always succeeds, and consumes its file descriptor
79474         parameter -- so callers must not close such FDs.  Update callers.
79475         (diropen_fd, opendirat, cwd_advance_fd): New functions.
79476         (diropen): Add parameter, SP.  Adjust all callers.
79477         Implement using diropen_fd, rather than open.
79478         (fts_open): Initialize new member, fts_cwd_fd.
79479         Remove fts_rft-setting code.
79480         (fts_close): Close fts_cwd_fd, if necessary.
79481         (__opendir2): Define in terms of opendir or opendirat,
79482         depending on whether the FST_NOCHDIR flag is set.
79483         (fts_build): Since fts_safe_changedir consumes its FD, and since
79484         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
79485         and close the dup'd file descriptor upon failure.
79486         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
79487         (fts_safe_changedir): Tweak semantics to reflect that this function
79488         now calls cwd_advance_fd and hence consumes its FD argument.
79489         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
79490         [struct FTS] (fts_rft): Remove now-unused member.
79491         [struct FTS] (fts_cycle.state): Improve comment.
79492
79493         * lib/openat.c (openat_needs_fchdir): New function.
79494         * lib/openat.h (openat_needs_fchdir): Declare it.
79495
79496 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79497
79498         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
79499         Problem and fix reported by Pádraig Brady in
79500         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
79501
79502 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79503
79504         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
79505
79506 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79507
79508         * lib/memcoll.c (memcoll): Optimize for the common case where the
79509         arguments are bytewise equal.
79510
79511 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79512
79513         * doc/regexprops-generic.texi: Add a copyright notice.
79514
79515 2006-08-15  Bruno Haible  <bruno@clisp.org>
79516
79517         * modules/tmpdir (License): Change to LGPL.
79518
79519 2006-08-15  Bruno Haible  <bruno@clisp.org>
79520
79521         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
79522         module.
79523
79524 2006-08-14  Simon Josefsson  <jas@extundo.com>
79525
79526         * config/srclist.txt: Add gnupload.
79527
79528 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79529
79530         Change copyright notice from LGPL 2 to GPL 2, since that's the
79531         standard form used in the gnulib repository.
79532         * tests/test-lock.c: Likewise.
79533         * tests/test-stdint.c: Likewise.
79534         * tests/test-tls.c: Likewise.
79535
79536         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
79537         prelude-manager.  User shorter URLs for GNU projects, without '?'.
79538         Add copyright notice.
79539
79540         * check-module: Add copyright notice.  Output a copyright
79541         notice if "--version" is specified.
79542         * modules/COPYING: New file.
79543         * tests/test-getaddrinfo.c: Add copyright notice.
79544         * tests/test-verify.c: Likewise.
79545
79546 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79547
79548         Change copyright notice from LGPL 2 to GPL 2, since that's the
79549         standard form used in the gnulib repository.
79550         * lib/lock.c: LGPL -> GPL.
79551         * lib/lock.h: Likewise.
79552         * lib/strnlen1.c: Likewise.
79553         * lib/strnlen1.h: Likewise.
79554         * lib/tls.c: Likewise.
79555         * lib/tls.h: Likewise.
79556         * lib/tmpdir.c: Likewise.
79557
79558         * lib/TODO: Remove; this belongs only in coreutils.
79559
79560 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79561
79562         Add copyright notices to long-enough files that lack them, since
79563         otherwise the files aren't clearly free.  Use the same notice that
79564         getdate.texi already uses.
79565         * doc/alloca-opt.texi: Add copyright notice.
79566         * doc/alloca.texi: Likewise.
79567         * doc/ctime.texi: Likewise.
79568         * doc/functions.texi: Likewise.
79569         * doc/gcd.texi: Likewise.
79570         * doc/gnulib-tool.texi: Likewise.
79571         * doc/inet_ntoa.texi: Likewise.
79572         * doc/visibility.texi: Likewise.
79573
79574         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
79575         * doc/quote.texi: Add copyright notice.
79576
79577         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
79578         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
79579         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
79580         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
79581         is now obsolete, and give a pointer to the Sun list.
79582         Add copyright notice.
79583
79584 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79585
79586         * config/srclistvars.sh: Add copyright notice.
79587
79588 2006-08-14  Eric Blake  <ebb9@byu.net>
79589
79590         Import the following change from libc:
79591
79592         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
79593
79594         Upstream bug 2997.
79595         * lib/misc/error.c: Add space between program name and message if file
79596         name is missing.
79597
79598 2006-08-12  Karl Berry  <karl@gnu.org>
79599
79600         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
79601         remove, these originate in gnulib now.
79602
79603 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79604
79605         * doc/Makefile (standards.info standards.html standards.dvi):
79606         Also depend on make-stds.texi.
79607
79608 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79609
79610         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
79611         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
79612
79613         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
79614         in wchar_t.  Problem reported by Eric Blake.
79615
79616         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
79617         LEN is smaller than SIZE.  Suggested by Bruno Haible.
79618         Also, help the compiler to keep LEN in a register.
79619
79620 2006-08-11  Eric Blake  <ebb9@byu.net>
79621
79622         * users.txt: Sort.  Add tar.
79623
79624 2006-08-11  Bruno Haible  <bruno@clisp.org>
79625
79626         * users.txt: New file.
79627
79628 2006-08-11  Bruno Haible  <bruno@clisp.org>
79629
79630         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
79631         before <wchar.h>. Needed for OSF/1 and BSD/OS.
79632
79633 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79634
79635         * modules/snprintf (Depends-on): Remove minmax.
79636         (Maintainer): Add self and Bruno.
79637
79638 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79639
79640         * lib/.cppi-disable: Add snprintf.h, socket_.h.
79641         * lib/snprintf.c: Include <errno.h> and <limits.h>.
79642         (EOVERFLOW): Define if the system does not.
79643         Do not include "minmax.h"; it wasn't used.
79644         (snprintf): Don't assume size_t promotes to an unsigned type.
79645         Fix bug when generated string was too long for the buffer: the
79646         buffer's contents are supposed to be the initial prefix of the
79647         output.  Don't assume vasnprintf returns EOVERFLOW if the size
79648         exceeds INT_MAX; do the check ourselves.
79649
79650         Import the following changes from libc:
79651
79652         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
79653
79654         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
79655         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
79656         set wc to the byte which couldn't be converted.
79657         (re_string_reconstruct): Don't clear valid_raw_len before calling
79658         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
79659         tip_context using re_string_context_at.
79660
79661         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
79662
79663         * lib/posix/regex.h: g++ still cannot handled [restrict].
79664
79665         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
79666
79667         * lib/posix/regex.h: Remove special handling for VMS.
79668
79669 2006-08-10  Jim Meyering  <jim@meyering.net>
79670
79671         * modules/same-inode: New module.
79672         * modules/dev-ino: New module.
79673         * modules/cycle-check: Depend on these modules, rather than simply
79674         including their .h files.
79675         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
79676         required via m4/cycle-check.m4.
79677         * modules/same: Depend on new same-inode module, rather than
79678         including same-inode.h.
79679         * modules/chdir-safer: New file.
79680
79681         * modules/chown (Depends-on): Add stat-macros.
79682
79683 2006-08-10  Jim Meyering  <jim@meyering.net>
79684
79685         * m4/cycle-check.m4: New file.
79686         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
79687         * m4/dev-ino.m4, m4/same-inode.m4: New files.
79688
79689 2006-08-10  Eric Blake  <ebb9@byu.net>
79690
79691         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
79692         in from original proposal.
79693
79694 2006-08-10  Eric Blake  <ebb9@byu.net>
79695         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
79696
79697         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
79698         namespace.
79699
79700 2006-08-10  Bruno Haible  <bruno@clisp.org>
79701
79702         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
79703         as well.
79704
79705 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79706
79707         Sync from coreutils.
79708
79709         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
79710
79711         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
79712         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
79713
79714 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79715
79716         * modules/restrict: Remove; no longer needed now that we assume
79717         Autoconf 2.59 or later.
79718         * MODULES.html.sh: Remove 'restrict'.
79719         * modules/argp (Depends-on): Remove 'restrict'.
79720         * modules/base64 (Depends-on): Likewise.
79721         * modules/gc (Depends-on): Likewise.
79722         * modules/getaddrinfo (Depends-on): Likewise.
79723         * modules/glob (Depends-on): Likewise.
79724         * modules/inet_ntop (Depends-on): Likewise.
79725         * modules/inet_pton (Depends-on): Likewise.
79726         * modules/memxor (Depends-on): Likewise.
79727         * modules/regex (Depends-on): Likewise.
79728         * modules/strtok_r (Depends-on): Likewise.
79729         * modules/time_r (Depends-on): Likewise.
79730
79731 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79732
79733         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
79734         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
79735         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
79736         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
79737         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
79738         * m4/memxor.m4 (gl_MEMXOR): Likewise.
79739         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
79740         gl_C_RESTRICT replaced by AC_C_RESTRICT.
79741
79742         Merge from coreutils.
79743         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
79744         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
79745         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
79746         * m4/time_r.m4 (gl_TIME_R): Likewise.
79747
79748 2006-08-09  Karl Berry  <karl@gnu.org>
79749
79750         * config/srclist.txt: no more gettext-tools, per Bruno.
79751
79752 2006-08-08  Eric Blake  <ebb9@byu.net>
79753
79754         * modules/verror: New module.
79755         * MODULES.html.sh: Document it.
79756
79757 2006-08-08  Eric Blake  <ebb9@byu.net>
79758
79759         * lib/verror.h, lib/verror.c: New files.
79760
79761 2006-08-08  Eric Blake  <ebb9@byu.net>
79762
79763         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
79764         verror_at_line output complies with GNU Coding Standards even when
79765         file is NULL.
79766
79767 2006-08-07  Bruno Haible  <bruno@clisp.org>
79768
79769         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
79770         versions of AIX.
79771         Reported by Ralf Wildenhues.
79772
79773 2006-08-07  Bruno Haible  <bruno@clisp.org>
79774
79775         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
79776         in an AC_DEFUN. Needed so that the autoconf snippets can use
79777         AC_REQUIRE.
79778
79779 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79780
79781         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79782         Initialize pkgdata_DATA.
79783         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
79784         overriding it.
79785
79786 2006-08-06  Eric Blake  <ebb9@byu.net>
79787
79788         * lib/error.h: Fold in some upstream changes from glibc.
79789         * lib/error.c: Likewise.
79790
79791 2006-08-04  Bruno Haible  <bruno@clisp.org>
79792
79793         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79794         Make the mostlyclean-local rule depend on mostlyclean-generic.
79795         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
79796
79797 2006-07-31  Bruno Haible  <bruno@clisp.org>
79798
79799         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
79800         <stdlib.h>, <string.h>.
79801
79802 2006-07-30  Bruno Haible  <bruno@clisp.org>
79803
79804         * modules/readlink (License): Change to LGPL.
79805
79806 2006-07-30  Bruno Haible  <bruno@clisp.org>
79807
79808         * modules/javaversion (Makefile.am): Distribute javaversion.java and
79809         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
79810         set PKGDATADIR to point to it.
79811
79812 2006-07-30  Bruno Haible  <bruno@clisp.org>
79813
79814         * modules/csharpexec (configure.ac): Comment out macro invocation.
79815         * modules/javaexec (configure.ac): Likewise.
79816         * modules/javacomp-script (configure.ac): Likewise.
79817
79818         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
79819
79820 2006-07-30  Bruno Haible  <bruno@clisp.org>
79821
79822         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
79823         linked-list.
79824
79825 2006-07-30  Bruno Haible  <bruno@clisp.org>
79826
79827         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
79828
79829 2006-07-30  Bruno Haible  <bruno@clisp.org>
79830
79831         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79832         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
79833         get removed.
79834
79835 2006-07-29  Bruno Haible  <bruno@clisp.org>
79836
79837         Make it possible for gnulib-tool to work with locally modified or
79838         augmented gnulib repositories.
79839         * gnulib-tool (func_usage): Document --local-dir option.
79840         (local_gnulib_dir): New variable.
79841         Handle --local-dir option.
79842         (func_lookup_file): New function.
79843         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
79844         (func_get_description, func_get_filelist, func_get_description,
79845         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
79846         func_get_automake_snippet, func_get_include_directive,
79847         func_get_license, func_get_maintainer): Use func_lookup_file.
79848         (func_import, func_create_testdir): Use func_lookup_file.
79849
79850 2006-07-29  Bruno Haible  <bruno@clisp.org>
79851
79852         * modules/setenv (Depends-on): Add unistd.
79853
79854 2006-07-29  Bruno Haible  <bruno@clisp.org>
79855
79856         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
79857
79858 2006-07-29  Bruno Haible  <bruno@clisp.org>
79859
79860         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
79861
79862 2006-07-29  Bruno Haible  <bruno@clisp.org>
79863
79864         * gnulib-tool (import, update): If there is no Makefile.am, look at
79865         aclocal.m4, instead of bailing out.
79866
79867 2006-07-29  Bruno Haible  <bruno@clisp.org>
79868
79869         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
79870         Categorize the options by when they are useful.
79871
79872 2006-07-29  Bruno Haible  <bruno@clisp.org>
79873
79874         * gnulib-tool (func_usage): Document option --no-libtool.
79875         Handle option --no-libtool.
79876         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
79877         for changed semantics of $libtool variable.
79878         (func_import): Likewise. If libtool is not used, show this through
79879         an option --no-libtool.
79880         (func_create_testdir): Update.
79881
79882 2006-07-29  Bruno Haible  <bruno@clisp.org>
79883
79884         * gnulib-tool (func_import): Extend error message about missing
79885         --doc-base.
79886
79887 2006-07-29  Bruno Haible  <bruno@clisp.org>
79888
79889         * gnulib-tool (func_import): Don't create the $docbase directory if
79890         there is no file to store there.
79891
79892 2006-07-29  Bruno Haible  <bruno@clisp.org>
79893
79894         * gnulib-tool (autoconf_minversion): If a --dir option is given and
79895         relevant, look for configure.ac there, not in the current directory.
79896         Also use a simple search for AC_PREREQ, not "autoconf --trace".
79897
79898 2006-07-29  Bruno Haible  <bruno@clisp.org>
79899
79900         * gnulib-tool (SORT): New variable.
79901         (func_usage): Undocument --assume-autoconf option.
79902         Remove --assume-autoconf option handling.
79903         (autoconf_minversion): Determine from the contents of configure.ac.
79904         (func_import): Remove autoconf_minversion handling.
79905         Suggested by Eric Blake.
79906
79907 2006-07-29  Bruno Haible  <bruno@clisp.org>
79908
79909         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
79910
79911 2006-07-29  Bruno Haible  <bruno@clisp.org>
79912
79913         * config/srclist.txt (*setenv.[ch]): Remove rules.
79914
79915 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79916
79917         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
79918
79919 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79920
79921         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
79922         arpa/inet.h.
79923
79924 2006-07-28  Simon Josefsson  <jas@extundo.com>
79925
79926         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
79927         * modules/inet_pton (Depends-on): Likewise.
79928
79929 2006-07-28  Simon Josefsson  <jas@extundo.com>
79930
79931         * m4/netinet_in_h.m4: New file.
79932
79933 2006-07-28  Simon Josefsson  <jas@extundo.com>
79934
79935         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
79936         #include's.
79937
79938 2006-07-28  Simon Josefsson  <jas@extundo.com>
79939
79940         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
79941         #include's.
79942
79943 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
79944
79945         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
79946         setgid on directories only if they set these bits.
79947         * lib/modechange.h: Remove obsolete comment about masks.
79948
79949 2006-07-28  Eric Blake  <ebb9@byu.net>
79950
79951         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
79952         macro expansion.
79953
79954 2006-07-28  Bruno Haible  <bruno@clisp.org>
79955
79956         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
79957
79958 2006-07-28  Bruno Haible  <bruno@clisp.org>
79959
79960         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
79961
79962 2006-07-28  Bruno Haible  <bruno@clisp.org>
79963
79964         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
79965         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
79966         Define fallbacks.
79967         Avoids link error on FreeBSD 4.x.
79968         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79969
79970         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
79971         encoding.
79972         * lib/mbswidth.c (iswcntrl): Likewise.
79973
79974 2006-07-27  Bruno Haible  <bruno@clisp.org>
79975
79976         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
79977         test.
79978
79979 2006-07-27  Bruno Haible  <bruno@clisp.org>
79980
79981         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
79982         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
79983         defined.
79984
79985 2006-07-26  Eric Blake  <ebb9@byu.net>
79986
79987         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
79988
79989 2006-07-26  Eric Blake  <ebb9@byu.net>
79990
79991         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
79992         like mingw that lack mkstemp.
79993         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
79994         avoid compilation warning on mingw.
79995
79996 2006-07-26  Bruno Haible  <bruno@clisp.org>
79997
79998         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
79999         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
80000         INT_FAST*_MIN, INTPTR_MIN.
80001
80002 2006-07-25  Bruno Haible  <bruno@clisp.org>
80003
80004         * modules/version-etc (Depends-on): Add stdarg.
80005
80006 2006-07-25  Bruno Haible  <bruno@clisp.org>
80007
80008         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
80009         complex commands.
80010
80011 2006-07-25  Bruno Haible  <bruno@clisp.org>
80012
80013         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
80014         defined in <stdarg.h> or config.h.
80015
80016 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80017
80018         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
80019         (gl_STDIO_SAFER): Remove.
80020
80021 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80022
80023         * MODULES.html.sh (File stream based Input/Output):
80024         Add fopen-safer, tmpfile-safer; remove stdio-safer.
80025         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
80026         * modules/fopen-safer, modules/tmpfile-safer: New files.
80027         * modules/stdio-safer: Remove.
80028
80029 2006-07-24  Bruno Haible  <bruno@clisp.org>
80030
80031         * modules/tmpdir: New file.
80032         * MODULES.html.sh (File system functions): Add it.
80033
80034 2006-07-24  Bruno Haible  <bruno@clisp.org>
80035
80036         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
80037         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
80038
80039 2006-07-24  Bruno Haible  <bruno@clisp.org>
80040
80041         * modules/clean-temp: New file.
80042
80043 2006-07-24  Bruno Haible  <bruno@clisp.org>
80044
80045         * m4/tmpdir.m4: New file, from GNU gettext.
80046
80047 2006-07-24  Bruno Haible  <bruno@clisp.org>
80048
80049         * lib/tmpdir.h: New file, from GNU gettext.
80050         * lib/tmpdir.c: New file, from GNU gettext.
80051
80052 2006-07-24  Bruno Haible  <bruno@clisp.org>
80053
80054         * lib/clean-temp.h: New file, from GNU gettext.
80055         * lib/clean-temp.c: New file, from GNU gettext.
80056
80057 2006-07-23  Eric Blake  <ebb9@byu.net>
80058
80059         * modules/stdio-safer (Files): Add tmpfile-safer.c.
80060         (Depends-on): Add binary-io.
80061
80062 2006-07-23  Eric Blake  <ebb9@byu.net>
80063
80064         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
80065
80066 2006-07-23  Eric Blake  <ebb9@byu.net>
80067
80068         * lib/tmpfile-safer.c: New file.
80069         * lib/stdio-safer.h (fopen_safer): Add prototype.
80070         * lib/stdio--.h (tmpfile): Make safer.
80071
80072 2006-07-23  Bruno Haible  <bruno@clisp.org>
80073
80074         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
80075         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
80076         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
80077         gl_linked_remove_at): Use it.
80078
80079 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80080         and Simon Josefsson <jas@extundo.com>
80081
80082         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
80083
80084         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
80085
80086 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80087
80088         * modules/close-stream: New file.
80089         * modules/closeout (Description): Make it clear that it exits
80090         with a diagnostic on error.
80091         (Depends-on): Add close-stream.  Remove fpending, stdbool.
80092         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
80093
80094 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80095
80096         * m4/close-stream.m4: New file.
80097
80098 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80099
80100         * lib/close-stream.c, lib/close-stream.h: New files.
80101
80102 2006-07-22  Bruno Haible  <bruno@clisp.org>
80103
80104         Merge from GNU gettext 0.15.
80105
80106         2006-05-01  Bruno Haible  <bruno@clisp.org>
80107
80108                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
80109
80110         2006-07-22  Bruno Haible  <bruno@clisp.org>
80111
80112                 * modules/javaversion: New file.
80113                 * MODULES.html.sh (Java): Add javaversion.
80114
80115         2006-03-12  Bruno Haible  <bruno@clisp.org>
80116
80117                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
80118
80119         2005-12-04  Bruno Haible  <bruno@clisp.org>
80120
80121                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
80122                 (untested).
80123
80124         2006-06-21  Bruno Haible  <bruno@clisp.org>
80125
80126                 Avoid warnings from recent versions of mcs.
80127                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
80128                 -o, -L, -r any more. Use options documented since mcs-1.0
80129                 instead. Similarly for -g.
80130
80131         2005-12-04  Bruno Haible  <bruno@clisp.org>
80132
80133                 * build-aux/csharpcomp.sh.in: Suffix for resources is
80134                 .resources, not .resource.
80135
80136         2005-07-09  Bruno Haible  <bruno@clisp.org>
80137
80138                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
80139                 add a .dll suffix.
80140                 Reported by Mark Junker <mjscod@gmx.de>.
80141
80142         2006-07-22  Bruno Haible  <bruno@clisp.org>
80143
80144                 * modules/gettext: Upgrade to gettext-0.15.
80145                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
80146                 m4/visibility.m4.
80147                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
80148
80149 2006-07-22  Bruno Haible  <bruno@clisp.org>
80150
80151         Merge from GNU gettext 0.15.
80152
80153         2006-03-25  Bruno Haible  <bruno@clisp.org>
80154
80155                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
80156
80157         2006-07-21  Bruno Haible  <bruno@clisp.org>
80158
80159                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
80160                 "1.1".
80161
80162         2006-05-09  Bruno Haible  <bruno@clisp.org>
80163
80164                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
80165                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
80166                 for the conftestver execution.
80167
80168         2006-05-01  Bruno Haible  <bruno@clisp.org>
80169
80170                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
80171                 optional target-version argument. Verify that the compiler
80172                 groks source of the specified source-version, or add -source
80173                 option as necessary. Verify that the compiler produces
80174                 bytecode in the specified target-version, or add -target and
80175                 -source options as necessary. Make the result of the test
80176                 available as variable CONF_JAVAC. Also log error output in
80177                 config.log.
80178
80179         2006-03-11  Bruno Haible  <bruno@clisp.org>
80180
80181                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
80182
80183         2006-05-09  Bruno Haible  <bruno@clisp.org>
80184
80185                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
80186                 CLASSPATH_SEPARATOR to a semicolon.
80187
80188         2006-03-12  Bruno Haible  <bruno@clisp.org>
80189
80190                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
80191                 available as variable CONF_JAVA, for subsequent autoconf
80192                 tests. Also log error output in config.log.
80193
80194         2006-07-19  Bruno Haible  <bruno@clisp.org>
80195
80196                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
80197                 that getline works on glibc2 systems. Needed to avoid trouble
80198                 in relocatable.c.
80199                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
80200
80201         2005-12-04  Bruno Haible  <bruno@clisp.org>
80202
80203                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
80204                 launcher (untested).
80205
80206         2005-12-04  Bruno Haible  <bruno@clisp.org>
80207
80208                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
80209
80210         2006-07-22  Bruno Haible  <bruno@clisp.org>
80211
80212                 * gettext.m4: Update from GNU gettext-0.15.
80213                 * nls.m4: Likewise.
80214                 * po.m4: Likewise.
80215                 * inttypes-pri.m4: Likewise.
80216                 * inttypes-h.m4: Renamed from inttypes.m4.
80217                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
80218
80219 2006-07-22  Bruno Haible  <bruno@clisp.org>
80220
80221         Merge from GNU gettext 0.15.
80222
80223         2005-07-05  Bruno Haible  <bruno@clisp.org>
80224
80225                 * printf-args.c (printf_fetchargs): Work around broken
80226                 definition of wint_t on mingw.
80227
80228         2005-02-12  Bruno Haible  <bruno@clisp.org>
80229
80230                 * xallocsa.h: Add extern "C" for C++.
80231
80232         2006-05-17  Bruno Haible  <bruno@clisp.org>
80233
80234                 Cygwin portability.
80235                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
80236
80237         2006-04-30  Bruno Haible  <bruno@clisp.org>
80238
80239                 * progreloc.c: Include <mach-o/dyld.h> if available.
80240                 (find_executable): Use _NSGetExecutablePath when possible.
80241
80242         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
80243
80244                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
80245                 function.
80246
80247         2005-12-29  Bruno Haible  <bruno@clisp.org>
80248
80249                 * progreloc.c (set_program_name_and_installdir): Fix
80250                 compilation error.
80251
80252         2005-12-04  Bruno Haible  <bruno@clisp.org>
80253
80254                 Cygwin portability.
80255                 * progreloc.c: Include <windows.h> also on Cygwin.
80256                 (find_executable): Add support for Cygwin.
80257                 (set_program_name_and_installdir): Handle also platforms with
80258                 nonempty EXEEXT.
80259
80260         2006-07-11  Bruno Haible  <bruno@clisp.org>
80261
80262                 * javacomp.c: Fix a comment.
80263                 Reported by Jim Meyering.
80264
80265         2006-04-30  Bruno Haible  <bruno@clisp.org>
80266
80267                 * javacomp.h (compile_java_class): Add source_version,
80268                 target_version arguments.
80269                 * javacomp.c: Rewritten to choose only a compiler that
80270                 respects the specified source_version and target_version.
80271
80272         2006-06-27  Bruno Haible  <bruno@clisp.org>
80273
80274                 Assume correct S_ISDIR macro.
80275                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
80276
80277         2006-07-22  Bruno Haible  <bruno@clisp.org>
80278
80279                 * javaversion.h: New file, from GNU gettext.
80280                 * javaversion.c: New file, from GNU gettext.
80281                 * javaversion.java: New file, from GNU gettext.
80282                 * javaversion.class: New file, from GNU gettext.
80283
80284         2006-05-17  Bruno Haible  <bruno@clisp.org>
80285
80286                 Cygwin portability.
80287                 * javaexec.c (execute_java_class): Test for jview program
80288                 also on Cygwin.
80289
80290         2006-04-09  Bruno Haible  <bruno@clisp.org>
80291
80292                 * fatal-signal.c: Don't include string.h.
80293                 (at_fatal_signal): Use a copying loop instead of memcpy.
80294
80295         2005-12-04  Bruno Haible  <bruno@clisp.org>
80296
80297                 * csharpexec.c: Add support for 'clix' launcher (untested).
80298                 (execute_csharp_using_sscli): New function.
80299                 (execute_csharp_program): Call it.
80300
80301         2006-06-21  Bruno Haible  <bruno@clisp.org>
80302
80303                 Avoid warnings from recent versions of mcs.
80304                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
80305                 -o, -L, -r any more. Use options documented since mcs-1.0
80306                 instead. Similarly for -g.
80307
80308         2005-07-09  Bruno Haible  <bruno@clisp.org>
80309
80310                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
80311                 add a .dll suffix.
80312                 Reported by Mark Junker <mjscod@gmx.de>.
80313
80314         2006-06-17  Bruno Haible  <bruno@clisp.org>
80315
80316                 * config.charset: Update for NetBSD 3.0.
80317
80318         2006-05-17  Bruno Haible  <bruno@clisp.org>
80319
80320                 Cygwin portability.
80321                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
80322
80323         2006-05-16  Bruno Haible  <bruno@clisp.org>
80324
80325                 * localcharset.c [CYGWIN]: Include <windows.h>.
80326                 (get_charset_aliases): For Cygwin, return the same CPxxx
80327                 aliases list as under WIN32.
80328                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
80329                 the environment variables. Fall back to GetACP().
80330
80331         2006-04-05  Bruno Haible  <bruno@clisp.org>
80332
80333                 * config.charset: Update Juan Manuel Guerrero's address.
80334
80335         2005-02-12  Bruno Haible  <bruno@clisp.org>
80336
80337                 * allocsa.h: Add extern "C" for C++.
80338
80339         2005-02-10  Bruno Haible  <bruno@clisp.org>
80340
80341                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
80342                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
80343
80344         2006-07-22  Bruno Haible  <bruno@clisp.org>
80345
80346                 * gettext.h: Update to GNU gettext-0.15.
80347
80348 2006-07-22  Bruno Haible  <bruno@clisp.org>
80349
80350         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
80351         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
80352         lib-prefix.m4, longdouble.m4, ssize_t.m4.
80353
80354 2006-07-21  Eric Blake  <ebb9@byu.net>
80355
80356         * modules/stdlib-safer: New file.
80357         * MODULES.html.sh (File stream based Input/Output): Add
80358         stdlib-safer.
80359
80360 2006-07-21  Eric Blake  <ebb9@byu.net>
80361
80362         * lib/stdlib-safer.h: New file from coreutils, required by
80363         stdlib--.h.
80364
80365 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
80366
80367         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
80368
80369 2006-07-20  Bruno Haible  <bruno@clisp.org>
80370
80371         * gnulib-tool: Recognize new option --assume-autoconf.
80372         (autoconf_minversion): New variable.
80373         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
80374
80375 2006-07-20  Bruno Haible  <bruno@clisp.org>
80376
80377         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
80378
80379 2006-07-19  Derek R. Price  <derek@ximbiot.com>
80380
80381         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
80382         Reindent and repaginate.
80383
80384 2006-07-19  Derek Price  <derek@ximbiot.com>
80385
80386         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
80387         Correct grammar.
80388
80389 2006-07-17  Bruno Haible  <bruno@clisp.org>
80390
80391         * modules/list: New file.
80392         * modules/array-list: New file.
80393         * modules/carray-list, modules/carray-list-tests: New files.
80394         * modules/linked-list, modules/linked-list-tests: New files.
80395         * modules/avltree-list, modules/avltree-list-tests: New files.
80396         * modules/rbtree-list, modules/rbtree-list-tests: New files.
80397         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
80398         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
80399         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
80400         * modules/oset: New file.
80401         * modules/array-oset: New file.
80402         * modules/avltree-oset, modules/avltree-oset-tests: New files.
80403         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
80404         * tests/test-carray_list.c: New file.
80405         * tests/test-linked_list.c: New file.
80406         * tests/test-avltree_list.c: New file.
80407         * tests/test-rbtree_list.c: New file.
80408         * tests/test-linkedhash_list.c: New file.
80409         * tests/test-avltreehash_list.c: New file.
80410         * tests/test-rbtreehash_list.c: New file.
80411         * tests/test-avltree_oset.c: New file.
80412         * tests/test-rbtree_oset.c: New file.
80413         * MODULES.html.sh (Container data structures): New section.
80414
80415 2006-07-17  Bruno Haible  <bruno@clisp.org>
80416
80417         * m4/gl_list.m4: New file.
80418
80419 2006-07-17  Bruno Haible  <bruno@clisp.org>
80420
80421         * lib/gl_list.h: New file.
80422         * lib/gl_list.c: New file.
80423         * lib/gl_array_list.h: New file.
80424         * lib/gl_array_list.c: New file.
80425         * lib/gl_carray_list.h: New file.
80426         * lib/gl_carray_list.c: New file.
80427         * lib/gl_linked_list.h: New file.
80428         * lib/gl_linked_list.c: New file.
80429         * lib/gl_anylinked_list1.h: New file.
80430         * lib/gl_anylinked_list2.h: New file.
80431         * lib/gl_avltree_list.h: New file.
80432         * lib/gl_avltree_list.c: New file.
80433         * lib/gl_anyavltree_list1.h: New file.
80434         * lib/gl_anyavltree_list2.h: New file.
80435         * lib/gl_rbtree_list.h: New file.
80436         * lib/gl_rbtree_list.c: New file.
80437         * lib/gl_anyrbtree_list1.h: New file.
80438         * lib/gl_anyrbtree_list2.h: New file.
80439         * lib/gl_anytree_list1.h: New file.
80440         * lib/gl_anytree_list2.h: New file.
80441         * lib/gl_linkedhash_list.h: New file.
80442         * lib/gl_linkedhash_list.c: New file.
80443         * lib/gl_anyhash_list1.h: New file.
80444         * lib/gl_anyhash_list2.h: New file.
80445         * lib/gl_avltreehash_list.h: New file.
80446         * lib/gl_avltreehash_list.c: New file.
80447         * lib/gl_rbtreehash_list.h: New file.
80448         * lib/gl_rbtreehash_list.c: New file.
80449         * lib/gl_anytreehash_list1.h: New file.
80450         * lib/gl_anytreehash_list2.h: New file.
80451
80452         * lib/gl_oset.h: New file.
80453         * lib/gl_oset.c: New file.
80454         * lib/gl_array_oset.h: New file.
80455         * lib/gl_array_oset.c: New file.
80456         * lib/gl_avltree_oset.h: New file.
80457         * lib/gl_avltree_oset.c: New file.
80458         * lib/gl_rbtree_oset.h: New file.
80459         * lib/gl_rbtree_oset.c: New file.
80460         * lib/gl_anytree_oset.h: New file.
80461
80462 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80463
80464         * m4/mkancesdirs.m4: New file.
80465         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
80466         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
80467         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
80468         it.
80469
80470 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80471
80472         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
80473         * lib/mkancesdirs.h: New files.
80474         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
80475         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
80476         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
80477         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
80478         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
80479         callers changed.  Revamp internals significantly, by not
80480         attempting to create directories that are temporarily more
80481         permissive than the final results.  Do not attempt to use
80482         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
80483         This removes some race conditions, fixes some bugs, and simplifies
80484         things.  Use new dirchownmod function to do owner and mode changes.
80485         * lib/mkdir-p.h: Likewise.
80486         * lib/modechange.c (octal_to_mode): New function.
80487         (struct mode_change): New member mentioned.
80488         (make_node_op_equals): New arg mentioned.  All callers changed.
80489         (mode_compile): Keep track of which mode bits the user has explicitly
80490         mentioned.
80491         (mode_adjust): New arg DIR, so that we implement the X op correctly.
80492         New arg PMODE_BITS, to keep track of which mode bits the user
80493         mentioned; it treats S_ISUID and S_ISGID speciall.
80494         All callers changed.
80495         * lib/modechange.h: Likewise.
80496
80497 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80498
80499         * MODULES.html.sh: Add mkancestors.
80500         * modules/mkancesdirs: New module.
80501         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
80502         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
80503         The chdir-safer and afs files are now orphans; I'll remove them
80504         unless someone speaks up.
80505         Add lib/dirchownmod.c, lib/dirchownmod.h.
80506         (Depends-on): Remove alloca, chown, save-cwd, dirname.
80507         Add lchown, mkancesdirs.
80508         (Maintainer): Add self.
80509
80510 2006-07-15  Karl Berry  <karl@gnu.org>
80511
80512         * gnulib-tool: help message wording/arrangement.
80513
80514 2006-07-14  Simon Josefsson  <jas@extundo.com>
80515
80516         * doc/gnulib.texi (Libtool and Windows): New section.
80517
80518 2006-07-12  Simon Josefsson  <jas@extundo.com>
80519
80520         * modules/gendocs (License): Fix license, approved by Karl.
80521
80522 2006-07-12  Eric Blake  <ebb9@byu.net>
80523
80524         * MODULES.html.sh: Add gendocs.
80525
80526 2006-07-11  Eric Blake  <ebb9@byu.net>
80527
80528         * modules/fdl: New module, to install doc/fdl.texi.
80529         * MODULES.html.sh: Add new section for documentation modules.
80530         * gnulib-tool: Avoid space-tab.
80531         (--doc-base): New option, to manage files from doc.
80532
80533 2006-07-11  Eric Blake  <ebb9@byu.net>
80534
80535         * m4/absolute-header.m4: Fix comments to match recent change.
80536
80537 2006-07-11  Eric Blake  <ebb9@byu.net>
80538
80539         * gnulib-tool: List --doc-base before --tests-base.
80540
80541 2006-07-11  Derek R. Price  <derek@ximbiot.com>
80542
80543         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
80544
80545 2006-07-11  Bruno Haible  <bruno@clisp.org>
80546
80547         * README: Mention where to put documentation.
80548
80549 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80550
80551         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
80552
80553 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80554
80555         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
80556         to stdint.m4.
80557
80558 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80559
80560         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
80561         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
80562         "no/such/file/stdint.h" when there is no such file, so that
80563         the resulting C code can be parsed by dodgy compilers.
80564         Problems reported by Bob Proulx.
80565
80566 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80567
80568         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
80569         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80570         macros into the GNU _D_EXACT_NAMLEN.
80571         * lib/savedir.c:  Likewise.
80572         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
80573
80574 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80575         and Paul Eggert  <eggert@cs.ucla.edu>
80576
80577         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
80578         * m4/savedir.m4:
80579         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80580         macros into the GNU _D_EXACT_NAMLEN.
80581
80582 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80583
80584         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
80585         around the absolute name, to work around a problem with the HP-UX
80586         11.23 native C compiler, reported by Bob Proulx.
80587
80588 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80589
80590         * doc/maintain.texi, make-stds.texi: Sync from
80591         <http://savannah.gnu.org/projects/gnustandards>.
80592
80593 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80594
80595         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
80596
80597 2006-07-09  Jim Meyering  <jim@meyering.net>
80598
80599         * m4/glob.m4: Remove a doubled word in a comment.
80600
80601 2006-07-09  Jim Meyering  <jim@meyering.net>
80602
80603         * lib/argp-pv.c: Remove a doubled word in a comment.
80604         * lib/check-version.c (check_version): Likewise.
80605         * lib/javacomp.c (compile_java_class): Likewise.
80606
80607 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80608
80609         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
80610         for the benefit of people using Autoconf 2.60.  If you want to
80611         support older Autoconf versions you can copy m4/onceonly_2_57.m4
80612         (or m4/onceonly.m4, if pre-2.57) manually.
80613
80614 2006-07-08  Jim Meyering  <jim@meyering.net>
80615
80616         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
80617         comment.
80618         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
80619         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
80620         comment.
80621
80622 2006-07-08  Jim Meyering  <jim@meyering.net>
80623
80624         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
80625
80626 2006-07-07  Simon Josefsson  <jas@extundo.com>
80627
80628         * tests/test-crc.c: Change expected crc value, the test vector
80629         were probably computed using the old broken crc.c?
80630
80631 2006-07-06  Simon Josefsson  <jas@extundo.com>
80632
80633         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
80634         now the canonical place for the M4 file).
80635
80636         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
80637         from the sys_socket dependency now.
80638
80639         * modules/inet_pton (Files): Ditto.
80640
80641         * modules/inet_ntop (Files): Ditto.
80642
80643 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80644
80645         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
80646         not gl_PREREQ_GETUSERSHELL.
80647
80648 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80649
80650         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
80651         with only one argument, for Autoconf 2.60.
80652         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
80653         expand to nothing, so add a shell command to avoid syntax error.
80654         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80655
80656 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80657
80658         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
80659
80660 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80661
80662         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
80663         no longer needed.  Check for isblank decl.
80664         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
80665         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
80666         of existence.
80667
80668 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80669
80670         * lib/getloadavg.c: Use __VMS, not VMS.
80671         * lib/getopt.c: Likewise.
80672         * lib/getpagesize.h: Likewise.
80673         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
80674         and probably does not work.
80675
80676 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80677
80678         * lib/.cppi-disable: Add wcwidth.
80679         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
80680         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
80681         (ISGRAPH): Remove.  All uses changed to isgraph.
80682         (FOLD) [!defined _LIBC]: Remove special case.
80683         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
80684         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
80685         HAVE_ISBLANK.
80686         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
80687         case.
80688
80689 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80690
80691         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
80692         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
80693         brackets.  Other minor changes to suppress some compiler
80694         warnings.
80695
80696 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80697         and Paul Eggert  <eggert@cs.ucla.edu>
80698
80699         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
80700         of invoking obsolescent AC_HEADER_DIRENT macro.
80701         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
80702         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
80703         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80704         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
80705         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
80706         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80707         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
80708         * m4/readdir.m4: Remove; no longer needed.
80709
80710 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80711         and Paul Eggert  <eggert@cs.ucla.edu>
80712
80713         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
80714         Don't worry about this obsolete case any more.
80715         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
80716         directories.
80717         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
80718         worry about this obsolete case any more.
80719         * lib/fts.c: Likewise.
80720         * lib/getcwd.c: Likewise.
80721         * lib/glob.h: Likewise.
80722         * lib/savedir.c: Likewise.
80723
80724 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80725
80726         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
80727         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
80728         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
80729         needed.
80730         All uses removed.
80731         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80732         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80733         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
80734         needed.
80735         * m4/getdate.m4 (gl_GETDATE): Likewise.
80736         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80737         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80738         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80739         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80740         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80741         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80742         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
80743         needed.
80744
80745 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80746
80747         * lib/memcasecmp.c: Include <limits.h>.
80748         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
80749         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
80750         Don't assume isdigit succeeds only on '0' through '9'.
80751
80752 2006-07-05  Eric Blake  <ebb9@byu.net>
80753
80754         * modules/getaddrinfo (Depends-on): Add snprintf.
80755
80756 2006-07-05  Eric Blake  <ebb9@byu.net>
80757
80758         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
80759         to avoid 'header present but could not be compiled' on cygwin.
80760
80761 2006-07-05  Eric Blake  <ebb9@byu.net>
80762
80763         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
80764         missing from netdb.h.
80765         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
80766
80767 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80768
80769         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
80770         no longer needed.
80771         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
80772         * m4/getdate.m4 (gl_GETDATE): Likewise.
80773         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80774         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80775         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80776         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80777         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80778
80779 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80780
80781         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
80782         All uses of is_space replaced by isspace.
80783         * lib/exit.h: Don't talk about STDC_HEADERS.
80784         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
80785         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
80786         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
80787         replaced by isprint etc.
80788         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
80789         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80790         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
80791         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
80792         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
80793         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80794
80795 2006-07-05  Bruno Haible  <bruno@clisp.org>
80796
80797         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
80798         the function exists, before testing against AIX.
80799         Reported by Martin Lambers <marlam@marlam.de>.
80800
80801 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80802
80803         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
80804         From Mark D. Baushke.
80805
80806 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80807
80808         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
80809         to the absolute name, not just one, to bypass Sun C 5.8's
80810         "warning: #include of /usr/include/... may be non-portable".
80811
80812 2006-07-04  Eric Blake  <ebb9@byu.net>
80813
80814         * modules/dirname-tests: New test module.
80815         * tests/test-dirname.c: New file, replacing dirname.c
80816         TEST_DIRNAME section that was recently deleted.
80817
80818 2006-07-04  Bruno Haible  <bruno@clisp.org>
80819
80820         Assume ANSI C header files and <ctype.h> functions.
80821         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
80822         (mbsnwidth): Use isprint, iscntrl instead.
80823
80824 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80825
80826         Merge from coreutils.
80827         * MODULES.html.sh: Add xstrtold.
80828         * modules/xstrtold: New file.
80829         * modules/cycle-check (Files): Add lib/same-inode.h.
80830         * modules/dirname (Files): Add m4/double-slash-root.m4.
80831         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
80832         * modules/mkdir-p (Files): Add lib/same-inode.h.
80833         * modules/same (Files): Add lib/same-inode.h.
80834
80835 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80836
80837         * m4/absolute-header.m4: Renamed from full-header-path.m4.
80838         This is to keep the terminology clean; POSIX talks about
80839         "absolute pathnames", not "full pathnames", but the GNU
80840         Coding Standards say to use "path" for something else;
80841         so use "absolute" to keep both sides happy.
80842         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
80843         Set gl_absolute_header, not gl_full_header_path.
80844         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
80845         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
80846         All uses changed.
80847
80848         Merge from coreutils.
80849
80850         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80851
80852         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
80853         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
80854         want to require the building of c-strtod.o.
80855         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
80856         needs -lm directly.
80857         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
80858
80859         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
80860
80861         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
80862         --as-needed option if available.  Problem reported by Albert Chin in
80863         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
80864         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
80865         cc merely issues a bunch of annoying warnings for --as-needed
80866         (this problem was reported by Bob Proulx).  Also, try linking with
80867         -lm to detect a bug in binutils 2.16 (this problem was reported
80868         by Ralf Wildenhues).
80869
80870         2006-06-18  Jim Meyering  <jim@meyering.net>
80871
80872         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
80873         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
80874         macro.
80875         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
80876         also check for glibc-2.4's abort-inducing bug.
80877
80878         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
80879         Low-probability clean-up should be to use rmdir to get rid of
80880         the just-created directory, not unlink.
80881
80882         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
80883         configure fail, and request a bug report to inform us about it.
80884         Add a comment that, barring reports to the contrary, in 2007 we'll
80885         assume ftruncate is universally available.
80886
80887         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80888
80889         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
80890
80891         2006-03-12  Jim Meyering  <jim@meyering.net>
80892
80893         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
80894         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
80895         * m4/same.m4 (gl_SAME): Likewise.
80896         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
80897
80898         2006-03-11  Eric Blake  <ebb9@byu.net>
80899
80900         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
80901         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
80902         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
80903         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
80904
80905 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80906
80907         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
80908         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
80909         reported by Mark D. Baushke, one in
80910         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
80911
80912         Merge from coreutils.
80913
80914         * lib/.cppi-disable: Add stdint_.h.
80915         * lib/.cvsignore: Add stdint.h.
80916
80917         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80918
80919         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
80920         both double and long double versions.
80921         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
80922         * lib/xstrtold.c: New file.
80923         * lib/xstrtod.h (xstrtold): New decl.
80924
80925         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80926
80927         * lib/filemode.c (setst): Remove.
80928         (strmode): Rewrite to avoid setst.  This makes the code shorter,
80929         (arguably) clearer, and the generated code is a bit smaller on my
80930         Debian GNU/Linux stable x86 host.
80931
80932         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80933
80934         * lib/filemode.c: Include "filemode.h" first, to test the interface.
80935         Assume that filemode.h includes sys/types.h and sys/stat.h.
80936         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
80937         (ftypelet): Reorder to put common cases first, for efficiency.
80938         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
80939         to do 'M'.
80940         (strmode): Renamed from mode_string, and now stores 12 bytes instead
80941         of 10, for compatibility with FreeBSD.  All callers changed.
80942         (filemodestring): Now stores 12 bytes instead of 10, and sets file
80943         types that can't be deduced solely from st_mode.  First arg is now a
80944         const pointer.
80945         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
80946         (strmode): Renamed from mode_string.
80947         (filemodestring): New decl.
80948         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
80949         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
80950         needed.
80951         (S_ISPORT, S_ISWHT): New macros, if not already defined.
80952
80953         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80954
80955         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
80956         fsusage.h now does that.  Include fsusage.h first, to test interface.
80957         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
80958         at most one method (the old code could have generated decls that
80959         didn't conform to C89, not that this was ever exercised).
80960         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
80961
80962         2006-03-19  Jim Meyering  <jim@meyering.net>
80963
80964         Work even in a chroot where d_ino values for entries in "/"
80965         don't match the stat.st_ino values for the same names.
80966         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
80967         number, iterate through all entries again, using lstat instead.
80968         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
80969         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
80970
80971         * lib/getcwd.c (__getcwd): Clarify a comment.
80972         Use memcpy in place of a call to strcpy.
80973
80974         2006-03-12  Jim Meyering  <jim@meyering.net>
80975
80976         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
80977         matches that of the current directory (which we're about to chdir ".."
80978         out of), then save the dev-ino of the parent, instead.
80979
80980         * lib/same-inode.h (SAME_INODE): New file/macro.
80981         * lib/chdir-safer.c (SAME_INODE): Remove definition.
80982         Include "same-inode.h", instead.
80983         * lib/same.c: Likewise.
80984         * lib/cycle-check.h: Include "same-inode.h".
80985         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
80986         * lib/cycle-check.c (SAME_INODE): Remove definition.
80987         * lib/root-dev-ino.h: Include "same-inode.h".
80988
80989         2006-03-11  Eric Blake  <ebb9@byu.net>
80990
80991         * lib/same.c (same_name): s/base_name/last_component/
80992         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
80993         * lib/filenamecat.c (file_name_concat): Likewise.
80994
80995         2006-03-11  Eric Blake  <ebb9@byu.net>,
80996                     Paul Eggert  <eggert@cs.ucla.edu>
80997
80998         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
80999         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
81000         drive prefix.
81001         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
81002         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
81003         (last_component): New method.
81004         * lib/dirname.c (dir_len): Determine when drive letters need a
81005         subsequent slash.  Preserve // when it is special.
81006         (dir_name): Don't append dot when drive letter is absolute.
81007         [TEST_DIRNAME]: Move into a full-blown gnulib test.
81008         * lib/basename.c (base_name): New semantics - malloc the result.
81009         Preserve // when it is special.  Preserve relative files that look
81010         like drive letters.
81011         (base_len): Preserve // when it is special.
81012         (last_component): New method, similar to old base_name semantics.
81013         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
81014         base_name.  Strip redundant slashes from ///.
81015
81016 2006-07-03  Jim Meyering  <jim@meyering.net>
81017
81018         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
81019         macro is used before the first cycle_check call.
81020
81021 2006-07-03  Eric Blake  <ebb9@byu.net>
81022
81023         * modules/dirname (Depends-on): Add xstrndup.
81024
81025 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81026
81027         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
81028         test cases, so that config.log is a bit easier to follow.
81029
81030 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81031
81032         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
81033         both are 64 bits, since this seems to be the tradition, and this
81034         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
81035         we ever run into a host that prefers long long to long in this
81036         case, we'll need another configure-time test.  Problem reported by
81037         Jim Meyering.
81038
81039 2006-07-02  Eric Blake  <ebb9@byu.net>
81040
81041         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
81042
81043 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81044
81045         * modules/inttypes (Depends-on): No longer depends on stdint.
81046         * modules/stdint (Description): Say more about assumptions.
81047         Say that the fast types might differ.  Say macros are used.
81048         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
81049         (Makefile.am): Revise list of substituted symbols to match
81050         new stdint.m4.
81051         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
81052         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
81053         * tests/test-stdint.c (verify_same_types)
81054         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
81055         the code conforms to C99/C89.
81056         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
81057         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
81058
81059 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81060
81061         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
81062         but fix a bug, by requiring at least 64 bits.
81063         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
81064         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
81065         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
81066         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
81067
81068         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
81069         changes.  Make 2.59 a prerequisite.  Check and substitute for
81070         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
81071         inttypes.h.  Do not use special include files; just use the
81072         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
81073         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
81074         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
81075         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
81076         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
81077         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
81078         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
81079         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
81080         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
81081         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
81082         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
81083         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
81084         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
81085         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
81086         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
81087         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
81088         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
81089         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
81090         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
81091         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
81092         WINT_MAX.  Check for C99 conformance more strictly, by detecting
81093         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
81094         not check for things that C99 does not require, e.g., int8_t.  If
81095         a test isn't needed unless <stdint.h> isn't working, and is
81096         unlikely to be needed for any other reason, then don't do it
81097         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
81098         size_t, since we assume C89 freestanding at least.  Do not check
81099         for sig_atomic_t, wchar_t, or wint_t, since the code now does
81100         the right thing even if the types are not defined.  Instead use:
81101         (gl_STDINT_TYPE_PROPERTIES): New macro.
81102         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
81103         testing whether <sys/types.h> clashes, as Autoconf does this for
81104         us now.  All uses removed.
81105         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
81106         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
81107         (gl_CHECK_TYPE_SAME):
81108         Remove; no longer needed.
81109         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
81110         exists, since we'll return 0 anyway in that case.
81111         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
81112
81113 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81114
81115         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
81116         possible collision with system files.
81117         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
81118         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
81119         WCHAR_MIN and WCHAR_MAX in this case.
81120         (<stddef.h>): Do not include; no longer needed.
81121         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
81122         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
81123         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
81124         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
81125         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
81126         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
81127         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
81128         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
81129         !defined(__c99))]: Include in this case too, since it's harmless
81130         now.
81131         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
81132         dangerous to do so.
81133         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
81134         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
81135         (_STDINT_MIN, _STDINT_MAX): New macros.
81136         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
81137         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
81138         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
81139         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
81140         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
81141         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
81142         macros, not typedefs; this simplifies things quite a bit.
81143         Use long int for all types narrower than int64_t.
81144         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
81145         Define in terms of long long int or int64_t or long int,
81146         not int64_t or int32_t.  This saves some compile-time testing.
81147         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
81148         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
81149         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
81150         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
81151         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
81152         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
81153         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
81154         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
81155         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
81156         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
81157         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81158         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81159         undef any previous version and define our own version, for
81160         simplicity and consistency with the new macros for types.
81161         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81162         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81163         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
81164         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
81165         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
81166         @WINT_T_SUFFIX@ to keep things simple here.
81167         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
81168         Simplify by assuming typical 8/16/32/64 host, since we're
81169         already doing that elsewhere anyway.
81170         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
81171         and assume long long int is 64 bits if available.  This
81172         speeds up 'configure'.
81173
81174 2006-07-01  Eric Blake  <ebb9@byu.net>
81175
81176         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
81177         Reported by Andreas Buening.
81178
81179 2006-07-01  Eric Blake  <ebb9@byu.net>
81180
81181         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
81182
81183 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81184
81185         * lib/getaddrinfo.c: fixed typo
81186
81187 2006-06-29  Jim Meyering  <jim@meyering.net>
81188
81189         * modules/strftime (Maintainer): Add my name, since with the
81190         FPRINTFTIME changes strftime.c has forked from glibc.
81191
81192 2006-06-29  Eric Blake  <ebb9@byu.net>
81193
81194         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
81195
81196 2006-06-29  Eric Blake  <ebb9@byu.net>
81197
81198         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
81199
81200 2006-06-29  Eric Blake  <ebb9@byu.net>
81201
81202         * lib/stat_.h: New file.
81203
81204 2006-06-29  Eric Blake  <ebb9@byu.net>
81205
81206         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
81207         unused static function.
81208
81209 2006-06-29  Eric Blake  <ebb9@byu.net>
81210
81211         * doc/functions.texi (Function Portability): Document missing lstat
81212         on mingw.
81213
81214 2006-06-29  Eric Blake  <ebb9@byu.net>
81215
81216         * MODULES.html.sh: Add sys_stat.
81217         * modules/sys_stat: New module.
81218         * modules/mkstemp (Depends-on): Add sys_stat.
81219
81220 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81221
81222         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
81223
81224 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81225
81226         * m4/c-bs-a.m4: Removed.
81227
81228 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81229
81230         * lib/strftime.c: Assume strftime() exists.
81231
81232 2006-06-29  Derek Price  <derek@ximbiot.com>
81233
81234         * modules/c-bs-a: Removed - \a is C89.
81235         * MODULES.html.sh: Remove c-bs-a.
81236
81237 2006-06-29  Bruno Haible  <bruno@clisp.org>
81238
81239         * modules/wcwidth (License): Change to LGPL.
81240
81241 2006-06-28  Simon Josefsson  <jas@extundo.com>
81242
81243         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
81244         on _WIN32.
81245
81246         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
81247         getnameinfo.
81248
81249 2006-06-28  Simon Josefsson  <jas@extundo.com>
81250
81251         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
81252
81253 2006-06-28  Simon Josefsson  <jas@extundo.com>
81254
81255         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
81256         functions there.  It will succeed on Windows XP, but on Windows
81257         2000 and (presumably) earlier, it will fail, and use the internal
81258         re-implementation.
81259         (use_win32_p): New function.
81260         (getaddrinfo): Use strtoul on servname, to support numeric ports.
81261         Support AI_NUMERICSERV to disable getservbyname.
81262         (getnameinfo): New function, only supports
81263         NI_NUMERICHOST|NI_NUMERICSERV for now.
81264
81265         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
81266         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
81267         getnameinfo.
81268
81269 2006-06-28  Eric Blake  <ebb9@byu.net>
81270
81271         * modules/wcwidth: New file.
81272         * modules/mbchar (Depends-on): Add wcwidth.
81273         * modules/mbswidth (Depends-on): Add wcwidth.
81274         * MODULES.html.sh: Add wcwidth.
81275
81276 2006-06-28  Eric Blake  <ebb9@byu.net>
81277
81278         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
81279         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
81280
81281 2006-06-28  Eric Blake  <ebb9@byu.net>
81282
81283         * lib/xvasprintf.h: Fix comments.
81284
81285 2006-06-28  Eric Blake  <ebb9@byu.net>
81286
81287         * lib/mbchar.h (wcwidth): Include wcwidth.h.
81288         * lib/mbswidth.c (wcwidth): Move from here...
81289         * lib/wcwidth.h: ...to this new file.
81290
81291 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81292
81293         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
81294
81295         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
81296         it's obsolete.
81297         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
81298
81299 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81300
81301         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
81302         Autoconf 2.60 says this stuff was obsolete.
81303
81304 2006-06-28  Bruno Haible  <bruno@clisp.org>
81305
81306         * modules/wcwidth (Files): Add m4/wchar_t.m4.
81307
81308 2006-06-28  Bruno Haible  <bruno@clisp.org>
81309
81310         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
81311         gt_TYPE_WCHAR_T.
81312
81313 2006-06-28  Bruno Haible  <bruno@clisp.org>
81314
81315         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
81316         declaration for wcwidth.
81317         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
81318
81319 2006-06-28  Bruno Haible  <bruno@clisp.org>
81320
81321         * lib/mkdtemp.c [MINGW]: Include <io.h>.
81322         (mkdir): Define using _mkdir.
81323
81324 2006-06-28  Bruno Haible  <bruno@clisp.org>
81325
81326         * lib/getaddrinfo.h: Fix POSIX URL.
81327         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
81328         _WIN32.
81329         (use_win32_p): Make static.
81330         (getaddrinfo): Reject service name if it is empty or does not consist
81331         solely of decimal digits, or if its value is > 65535.
81332         (getnameinfo): Remove useless casts.
81333
81334 2006-06-27  Simon Josefsson  <jas@extundo.com>
81335
81336         * modules/sys_select: New file, suggested by Bruno Haible, Paul
81337         Eggert and Martin Lambers.
81338
81339 2006-06-27  Simon Josefsson  <jas@extundo.com>
81340
81341         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
81342         Eggert and Martin Lambers.
81343
81344 2006-06-27  Bruno Haible  <bruno@clisp.org>
81345
81346         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
81347         result to 0, not to empty.
81348         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
81349
81350 2006-06-27  Bruno Haible  <bruno@clisp.org>
81351
81352         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
81353
81354 2006-06-26  Simon Josefsson  <jas@extundo.com>
81355
81356         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
81357         present.
81358
81359 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
81360
81361         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
81362         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
81363         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
81364
81365 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
81366
81367         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
81368
81369 2006-06-26  Bruno Haible  <bruno@clisp.org>
81370
81371         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
81372
81373 2006-06-26  Bruno Haible  <bruno@clisp.org>
81374
81375         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
81376
81377 2006-06-26  Bruno Haible  <bruno@clisp.org>
81378
81379         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
81380         SGI C compiler in pre-C99 mode.
81381         Suggested by Mark D. Baushke and Larry Jones.
81382
81383 2006-06-26  Bruno Haible  <bruno@clisp.org>
81384
81385         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
81386         WCHAR_MAX.
81387         Reported by Mark D. Baushke and Larry Jones.
81388
81389 2006-06-26  Bruno Haible  <bruno@clisp.org>
81390
81391         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
81392         in pre-C99 mode.
81393         Suggested by Mark D. Baushke and Larry Jones.
81394
81395 2006-06-23  Simon Josefsson  <jas@extundo.com>
81396             Bruno Haible  <bruno@clisp.org>
81397
81398         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
81399         Emit mostlyclean-local rule.
81400         (func_emit_tests_Makefile_am): Likewise.
81401         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
81402
81403 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
81404
81405         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
81406
81407 2006-06-23  Bruno Haible  <bruno@clisp.org>
81408
81409         * tests/test-stdint.c: Update to match ISO C 99 Technical
81410         Corrigendum 1.
81411
81412 2006-06-23  Bruno Haible  <bruno@clisp.org>
81413
81414         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
81415
81416 2006-06-23  Bruno Haible  <bruno@clisp.org>
81417
81418         * lib/stdint_.h: Treat IRIX like OpenBSD.
81419
81420 2006-06-23  Bruno Haible  <bruno@clisp.org>
81421
81422         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
81423         ISO C 99 Technical Corrigendum 1.
81424
81425 2006-06-22  Simon Josefsson  <jas@extundo.com>
81426
81427         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
81428         MinGW.
81429
81430 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81431
81432         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
81433         needed.  Some compiler complained about some of them.  Problem reported
81434         by Larry Jones in
81435         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
81436
81437 2006-06-21  Simon Josefsson  <jas@extundo.com>
81438
81439         * tests/test-getaddrinfo.c: New file.
81440
81441         * modules/getaddrinfo-tests: New file.
81442
81443         * MODULES.html.sh: Add inet_pton.
81444
81445         * modules/inet_pton: New file.
81446
81447 2006-06-21  Simon Josefsson  <jas@extundo.com>
81448
81449         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
81450         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
81451         of using the (limited) gnulib implementation on Windows XP.
81452
81453         * m4/inet_pton.m4: New file.
81454
81455 2006-06-21  Simon Josefsson  <jas@extundo.com>
81456
81457         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
81458         variable.
81459
81460         * lib/socket_.h: Don't define WINVER.
81461
81462         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
81463         slightly modified to work in gnulib.
81464
81465 2006-06-21  Simon Josefsson  <jas@extundo.com>
81466
81467         * doc/gnulib.texi (Windows sockets): Add.
81468
81469 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81470
81471         * lib/read-file.c (fread_file): Start with buffer allocation of
81472         0 bytes rather than 1 byte; this simplifies the code.
81473         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
81474         code to free buffer and save/restore errno.
81475         (internal_read_file): Remove unused local.
81476
81477 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81478
81479         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
81480         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
81481         Problem reported by Denis Excoffier in
81482         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
81483
81484 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81485
81486         * modules/sys_socket, modules/socklen: Include sys/types since
81487         FreeBSD 4.x's sys/socket.h needs it.
81488
81489 2006-06-19  Simon Josefsson  <jas@extundo.com>
81490
81491         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
81492
81493 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81494
81495         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
81496
81497 2006-06-19  Bruno Haible  <bruno@clisp.org>
81498
81499         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
81500         and FULL_PATH_INTTYPES_H in angle brackets.
81501         Reported by Mark D. Baushke <mdb@gnu.org>.
81502
81503 2006-06-17  Eric Blake  <ebb9@byu.net>
81504
81505         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
81506         errno.
81507
81508 2006-06-17  Bruno Haible  <bruno@clisp.org>
81509
81510         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
81511         <sys/inttypes.h>.
81512
81513 2006-06-17  Bruno Haible  <bruno@clisp.org>
81514
81515         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
81516         whether errno is declared. Assume <errno.h> declares errno.
81517
81518 2006-06-17  Bruno Haible  <bruno@clisp.org>
81519
81520         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
81521
81522 2006-06-17  Bruno Haible  <bruno@clisp.org>
81523
81524         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
81525         problem on Solaris 2.5.1.
81526
81527 2006-06-16  Eric Blake  <ebb9@byu.net>
81528
81529         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
81530         * lib/unicodeio.c [!defined errno]: Likewise.
81531         * lib/strtol.c [!defined errno]: Likewise.
81532         * lib/strtod.c [!defined errno]: Likewise.
81533
81534 2006-06-15  Eric Blake  <ebb9@byu.net>
81535
81536         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
81537
81538 2006-06-15  Eric Blake  <ebb9@byu.net>
81539
81540         * config/srclist.txt (ssize_t.m4): Lose sync.
81541
81542 2006-06-15  Bruno Haible  <bruno@clisp.org>
81543
81544         * modules/stdint (Files): Include m4/full-header-path.m4,
81545         m4/size_max.m4, m4/wchar_t.m4.
81546         (Makefile.am): Many more substitutions.
81547         * modules/stdint-tests: New file.
81548         * tests/test-stdint.c: New file.
81549
81550 2006-06-15  Bruno Haible  <bruno@clisp.org>
81551
81552         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
81553         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
81554         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
81555         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
81556         gl_CHECK_TYPE_SAME): New macros.
81557
81558 2006-06-15  Bruno Haible  <bruno@clisp.org>
81559
81560         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
81561
81562 2006-06-15  Bruno Haible  <bruno@clisp.org>
81563
81564         * lib/stdint_.h: Rewritten to be fully auto-configured.
81565         Fixes bug on HP-UX/IA64.
81566
81567 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
81568
81569         * lib/getdate.y (__attribute__): Don't define if already defined.
81570         Problem reported by Larry Jones.
81571         * lib/utimens.c (__attribute__): Likewise.
81572
81573 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
81574
81575         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
81576         reported by Andreas Schwab.
81577
81578 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81579             Bruno Haible  <bruno@clisp.org>
81580
81581         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
81582         check for the declaration of strnlen and a run test that exposes the
81583         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
81584         rpl_strndup.
81585
81586 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81587             Bruno Haible  <bruno@clisp.org>
81588
81589         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
81590
81591 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81592
81593         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
81594         compile test, for Tru64 4.0D.
81595
81596 2006-05-28  Karl Berry  <karl@gnu.org>
81597
81598         * config/srclist.txt (printf-args.c): lose sync.
81599
81600 2006-05-26  Martin Lambers  <marlam@marlam.de>
81601
81602         * lib/getpass.c: Updates the test for the native W32 API, and adds
81603         missing includes, thus fixing compilation warnings.
81604
81605 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81606
81607         * lib/exclude.c (exclude_fnmatch): New function.
81608         (excluded_file_name): Call exclude_fnmatch.
81609         * lib/exclude.h (excluded_file_name): New prototype
81610
81611 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
81612
81613         * lib/tempname.c (small_open, large_open): New macros.
81614         (__open, __open64) [!_LIBC]: Remove.
81615         (__gen_tempname): Use small_open and large_open instead of __open
81616         and __open64.  This fixes a portability bug on HP-UX 11.11i
81617         reported by Simon Wing-Tang in
81618         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
81619
81620 2006-05-24  Bruno Haible  <bruno@clisp.org>
81621
81622         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
81623         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
81624         Reported by Thorsten Maerz <torte@netztorte.de> via
81625         Aaron Stone <aaron@serendipity.cx>.
81626
81627 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81628
81629         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
81630         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
81631         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
81632         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
81633         not really conditional on the cache.
81634         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
81635
81636 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81637
81638         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
81639         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
81640         (my_usleep): Don't mishandle maximum value.
81641
81642 2006-05-19  Jim Meyering  <jim@meyering.net>
81643
81644         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
81645
81646 2006-05-17  Bruno Haible  <bruno@clisp.org>
81647
81648         Cygwin portability.
81649         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
81650
81651 2006-05-17  Bruno Haible  <bruno@clisp.org>
81652
81653         * lib/stdint_.h: Fix recognition of Cygwin.
81654
81655 2006-05-15  Bruno Haible  <bruno@clisp.org>
81656
81657         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
81658         on libtool patch by Ralf Wildenhues.
81659
81660 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81661
81662         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
81663         test for C99 conformance; (bool) 0.5 is an integer constant
81664         expression, but (bool) -0.5 is not.  Problem reported by Fedor
81665         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
81666
81667 2006-05-11  Simon Josefsson  <jas@extundo.com>
81668
81669         * m4/xvasprintf.m4: Fix obvious typo.
81670
81671 2006-05-11  Jim Meyering  <jim@meyering.net>
81672
81673         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
81674         James Lemley.
81675
81676 2006-05-10  Simon Josefsson  <jas@extundo.com>
81677
81678         * lib/md4.c: Typo fix, update copyright years.
81679         (K1, K2): Don't use L because it turn computations into 64-bit on
81680         64-bit platforms.
81681
81682 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
81683
81684         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
81685         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
81686         unwanted sign propagation, e.g., on hosts with 64-bit int.
81687         There still are some problems with reeelly weird theoretical hosts
81688         (e.g., 33-bit int) but it's not worth worrying about now.
81689         * lib/sha1.c (rol): Likewise.
81690         (K1, K2, K3, K4): Remove unnecessary L suffix.
81691
81692 2006-05-10  Bruno Haible  <bruno@clisp.org>
81693
81694         * lib/des.c: Cast to avoid warnings.
81695
81696 2006-05-09  Bruno Haible  <bruno@clisp.org>
81697
81698         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
81699         (Depends-on): Depend also on xsize, stdarg.
81700         (configure.ac): Add gl_XVASPRINTF.
81701
81702 2006-05-09  Bruno Haible  <bruno@clisp.org>
81703
81704         * m4/xvasprintf.m4: New file.
81705
81706 2006-05-09  Bruno Haible  <bruno@clisp.org>
81707
81708         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
81709         (EOVERFLOW): Define fallback value.
81710         (xstrcat): New function.
81711         (xvasprintf): Recognize the special case of a string concatenation.
81712
81713 2006-05-08  Eric Blake  <ebb9@byu.net>
81714
81715         * gnulib-tool (func_version): Base copyright year on CVS date.
81716         (func_emit_copyright_notice): New function.
81717         (func_emit_lib_Makefile_am): Use it.
81718         (func_emit_tests_Makefile_am): Likewise.
81719         (func_import): Likewise.
81720
81721 2006-05-08  Bruno Haible  <bruno@clisp.org>
81722
81723         * modules/stdarg: New file.
81724         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
81725
81726 2006-05-08  Bruno Haible  <bruno@clisp.org>
81727
81728         * m4/stdarg.m4: New file, from GNU gettext.
81729
81730 2006-05-08  Bruno Haible  <bruno@clisp.org>
81731
81732         * config/srclist.txt (build-aux/config.rpath): different from latest
81733         release.
81734
81735 2006-05-08  Bruno Haible  <bruno@clisp.org>
81736
81737         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
81738
81739 2006-05-05  Jim Meyering  <jim@meyering.net>
81740
81741         * m4/warning.m4: New file, derived from bison's file by the same name.
81742
81743 2006-05-03  Bruno Haible  <bruno@clisp.org>
81744
81745         * lib/stdint_.h: Shorter URL.
81746         * lib/inttypes.h: Likewise.
81747
81748 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81749
81750         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
81751
81752 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81753
81754         * lib/verify.h: Document the internals better.  Most of this change
81755         was written by Bruno Haible.
81756
81757 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81758
81759         * doc/verify.texi: New file, partly based on a proposal by
81760         Bruno Haible.
81761
81762 2006-05-02  Bruno Haible  <bruno@clisp.org>
81763
81764         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
81765         test from here...
81766         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
81767
81768 2006-04-29  Bruno Haible  <bruno@clisp.org>
81769
81770         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
81771         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
81772
81773 2006-04-29  Bruno Haible  <bruno@clisp.org>
81774
81775         * gnulib-tool: Make --update option actually work.
81776
81777 2006-04-29  Bruno Haible  <bruno@clisp.org>
81778
81779         * doc/gcd.texi: New file.
81780         * doc/gnulib.texi: Include it.
81781
81782 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
81783
81784         * lib/getdate.y (get_date): When adding relative date, start with the
81785         initial time, not with the result of the first mktime call.
81786
81787 2006-04-25  Bruno Haible  <bruno@clisp.org>
81788
81789         * gnulib-tool (func_import): Output the include directives in three
81790         blocks, sorted separately.
81791         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81792
81793 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81794
81795         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
81796         to define main with arguments, for C++.  Reported by Eric Blake.
81797         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
81798         Prefer 'int main ()' to 'int main (void)', for C++.
81799         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
81800         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
81801         for 'main', for C99 and C++.
81802
81803 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81804
81805         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
81806         Don't assume that exit status -1 is valid.
81807         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
81808         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
81809         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81810         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
81811         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
81812         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
81813         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
81814         functions can be used without declaring them, or that you can
81815         exit with status -1.
81816         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81817
81818 2006-04-24  Karl Berry  <karl@gnu.org>
81819
81820         * config/srclist.txt (longdouble.m4): sync lost.
81821
81822 2006-04-24  Eric Blake  <ebb9@byu.net>
81823
81824         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
81825
81826 2006-04-24  Bruno Haible  <bruno@clisp.org>
81827
81828         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
81829         poll() implementation in AIX.
81830         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81831
81832 2006-04-24  Bruno Haible  <bruno@clisp.org>
81833
81834         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
81835         assigned exactly once.
81836
81837 2006-04-23  Claudio Fontana  <claudio@gnu.org>
81838             Bruno Haible  <bruno@clisp.org>
81839
81840         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
81841         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
81842         for AM_CPPFLAGS.
81843
81844 2006-04-23  Bruno Haible  <bruno@clisp.org>
81845
81846         * modules/copy-file: Depend on unistd.
81847         * modules/execute: Likewise.
81848         * modules/fatal-signal: Likewise.
81849         * modules/findprog: Likewise.
81850         * modules/mkdtemp : Likewise.
81851         * modules/pipe: Likewise.
81852         * modules/wait-process: Likewise.
81853
81854 2006-04-23  Bruno Haible  <bruno@clisp.org>
81855
81856         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
81857         condition was already detected.
81858         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81859
81860 2006-04-23  Bruno Haible  <bruno@clisp.org>
81861
81862         * lib/copy-file.c: Include <unistd.h> unconditionally.
81863         * lib/execute.c: Likewise.
81864         * lib/fatal-signal.c: Likewise.
81865         * lib/findprog.c: Likewise.
81866         * lib/mkdtemp.c: Likewise.
81867         * lib/pipe.h: Likewise.
81868         * lib/pipe.c: Likewise.
81869         * lib/wait-process.h: Likewise.
81870
81871 2006-04-23  Bruno Haible  <bruno@clisp.org>
81872
81873         * gnulib-tool (func_usage): Fix --import description. Document
81874         --update.
81875         (func_import): Create temporary file in a temporary directory, if
81876         --dry-run is specified. Silence errors from 'grep' when there are no
81877         m4 files in $m4dir.
81878         (func_create_testdir): Silence errors from 'grep' when there are no
81879         m4 files in $m4dir.
81880         Reported by Karl Berry <karl@freefriends.org>.
81881
81882 2006-04-20  Bruno Haible  <bruno@clisp.org>
81883
81884         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
81885         one argument, so that the code will be portable to Autoconf 2.60.
81886         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
81887         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81888         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
81889
81890 2006-04-19  Derek Price  <derek@ximbiot.com>
81891             Eric Blake  <ebb9@byu.net>
81892
81893         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
81894         rather than "/full/path.h".  Update comment to match.  Shorten &
81895         generalize m4_translit call via AS_TR_CPP.
81896
81897 2006-04-19  Derek Price  <derek@ximbiot.com>
81898             Eric Blake  <ebb9@byu.net>
81899
81900         * lib/inttypes.h: Correct grammar in comment.
81901
81902 2006-04-18  Derek Price  <derek@ximbiot.com>
81903             Paul Eggert  <eggert@cs.ucla.edu>
81904
81905         * modules/inttypes: New file.
81906         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
81907
81908 2006-04-18  Derek Price  <derek@ximbiot.com>
81909             Paul Eggert  <eggert@cs.ucla.edu>
81910
81911         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
81912         New files.
81913
81914 2006-04-18  Derek Price  <derek@ximbiot.com>
81915             Paul Eggert  <eggert@cs.ucla.edu>
81916
81917         * lib/inttypes.h: New file.
81918         * lib/strtoimax.c: Assume <inttypes.h>.
81919
81920 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
81921
81922         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
81923         isn't mounted.  Problem reported by Kir Kolyshkin.
81924
81925 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81926
81927         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
81928         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
81929         Derek R. Price.
81930         * lib/regex.h (RE_DUP_MAX): Update comment to match current
81931         implementation.
81932
81933 2006-04-12  Eric Blake  <ebb9@byu.net>
81934
81935         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
81936         is now done automatically by the corresponding Autoconf macro.
81937
81938 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
81939
81940         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
81941         time_r.h.
81942
81943 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81944
81945         Merge regex changes from libc, removing some of our
81946         POSIX-conformance changes that were rejected and redoing them in a
81947         less-intrusive way.
81948
81949         * lib/regcomp.c (re_compile_internal, init_dfa):
81950         Length arg is now size_t, not Idx.  All uses changed.
81951         (peek_token): Forward decl now says internal_function.
81952         (__re_error_msgid, __re_error_msgid_idx):
81953         Now static rather than extern with attribute_hidden.
81954         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
81955         For some reason libc prefers K&R style defns for external functions.
81956         (regerror) [!defined _LIBC]: Likewise.
81957         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
81958         (seek_collating_symbol_entry, lookup_collation_sequence_value):
81959         (build_range_exp, build_collating_symbol):
81960         Use K&R-style defn.
81961         (re_compile_fastmap): Use '\0' to memset, not 0.
81962         (utf8_sb_map): Make the calculations more obvious.
81963         (init_dfa, parse_bracket_exp, build_charclass_op):
81964         Call calloc and cast result, as glibc does.
81965         (init_word_char, fetch_token, peek_token, peek_token_bracket):
81966         (build_range_exp, build_collating_symbol):
81967         Now internal functions.
81968
81969         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
81970
81971         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
81972         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
81973         Don't depend on VMS; depend on __VMS instead, for POSIX
81974         namespace cleanness.
81975         (regoff_t): Define to ssize_t, not long int.
81976
81977         Remove the REG_ macros named below.  Instead, make the old names
81978         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
81979         __USE_GNU_REGEX.
81980         (REG_BACKSLASH_ESCAPE_IN_LISTS):
81981         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
81982         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
81983         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
81984         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
81985         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
81986         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
81987         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
81988         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
81989         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
81990         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
81991         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
81992         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
81993         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
81994         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
81995         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
81996         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
81997         (REG_NREGS):
81998         Remove.  All uses replaced by the old RE_* names.
81999         (RE_BACKSLASH_ESCAPE_IN_LISTS):
82000         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
82001         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
82002         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
82003         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
82004         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
82005         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
82006         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
82007         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
82008         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
82009         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
82010         Don't bother having these macros be independent of each others'
82011         values, since they no longer exist in the POSIX name space.
82012
82013         Rename the following member names back to their old names,
82014         unless !__USE_GNU_REGEX.  All uses changed back.
82015         (buffer): Renamed from re_buffer.
82016         (allocated): Renamed from re_allocated.
82017         (used): Renamed from re_used.
82018         (syntax): Renamed from re_syntax.
82019         (fastmap): Renamed from re_fastmap.
82020         (translate): Renamed from re_translate.
82021         (can_be_null): Renamed from re_can_be_null.
82022         (regs_allocated): Renamed from re_regs_allocated.
82023         (fastmap_accurate): Renamed from re_fastmap_accurate.
82024         (no_sub): Renamed from re_no_sub.
82025         (not_bol): Renamed from re_not_bol.
82026         (not_eol): Renamed from re_not_eol.
82027         (newline_anchor): Renamed from re_newline_anchor.
82028         (num_regs): Renamed from rm_num_regs.
82029         (start): Renamed from rm_start.
82030         (end): Renamed from rm_end.
82031
82032         (free_state): Move up a bit.
82033
82034         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
82035         #define to be empty.
82036         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
82037         when that is what is intended.
82038         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
82039         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
82040         (MAX): New macro.
82041         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
82042         All uses changed back to re_malloc, etc.  It's now the caller's
82043         responsibility to check for overflow; all callers changed.
82044         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
82045         (re_x2nrealloc): Remove.
82046         (free_state): Remove decl.
82047
82048         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
82049         (re_set_registers, re_exec):
82050         Use K&R-style defn.
82051
82052         2006-01-31  Roland McGrath  <roland@redhat.com>
82053
82054         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
82055         Reported by Mike Frysinger <vapier@gentoo.org>.
82056
82057         2006-01-15  Andreas Jaeger  <aj@suse.de>
82058
82059         [BZ #1950]
82060         * lib/regex_internal.c (re_string_reconstruct): Adjust for
82061         build_wcs_upper_buffer change.
82062         (build_wcs_upper_buffer): Change return type.
82063
82064         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
82065
82066         * lib/regex_internal.h: Include <stdint.h> if available.
82067
82068         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
82069
82070         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
82071
82072         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
82073
82074         * lib/regcomp.c: Adjust for changed secondary hash function.
82075
82076         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
82077
82078         * lib/regex.h: Pretty printing.
82079         Clean up namespace a bit.
82080
82081         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
82082
82083         * lib/regexec.c (update_cur_sifted_state, check_arrival,
82084         check_arrival_add_next_nodes): Avoid using uninitialized variable.
82085
82086         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82087                     Ulrich Drepper  <drepper@redhat.com>
82088
82089         [BZ #1302]
82090         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
82091         changed.
82092         (bitset_word_t): Renamed from bitset_word.  All uses changed.
82093
82094         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
82095
82096         [BZ #281]
82097         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
82098         * lib/regcomp.c: Remove unnecessary uses of
82099         unsigned RE_TRANSLATE_TYPE.
82100         * lib/regex_internal.h: Likewise.
82101         * lib/regex_internal.c: Likewise.
82102         * lib/regexec.c: Likewise.
82103         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
82104
82105         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
82106
82107         * lib/regexec.c (find_recover_state): Remove unnecessary
82108         initialization.
82109         (transit_state_bkref): Make DFA a const pointer.
82110         (get_subexp): Likewise.
82111         (check_arrival): Likewise.
82112         (update_cur_sifted_state): Likewise.
82113         (re_search_internal): Likewise.
82114         (prune_impossible_nodes): Likewise.
82115         (acquire_init_state_context): Likewise.
82116         (proceed_next_node): Likewise.
82117         (set_regs): Likewise.
82118         (free_fail_stack_return): Likewise.
82119         (check_arrival_expand_ecl): Mark DFA parameter as const.
82120         (check_arrival_expand_ecl_sub): Likewise.
82121         (check_subexp_limits): Likewise.
82122         (sub_epsilon_src_nodes):  Likewise.
82123         (add_epsilon_src_nodes):  Likewise.
82124         (merge_state_array): Likewise.
82125         (update_regs): Likewise.
82126         (build_trtable): Likewise.
82127         (sift_states_backward): Mark MCTX parameter as const.
82128         (build_sifted_states): Likewise.
82129         (update_cur_sifted_state): Likewise.
82130         (sift_states_mkref): Likewise.
82131         (check_arrival_expand_ecl): Mark eclosure as const.
82132         (check_dst_limits_calc_pos_1): Likewise.
82133         * lib/regex_internal.h (re_match_context_t): Make dfa a const
82134         pointer.
82135
82136         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
82137
82138         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
82139         (transit_state_sb): Likewise.
82140         (transit_state_mb): Likewise.
82141         (sift_states_iter_mb): Likewise.
82142         (check_arrival_add_next_nodes): Likewise.
82143         (check_node_accept_bytes): Change first parameter to pointer-to-const.
82144         [_LIBC] (re_search_2_stub): Use mempcpy.
82145
82146         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
82147         mbrtowc for very simple UTF-8 case.
82148
82149         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
82150         a pointer-to-const.
82151         (re_acquire_state_context): Likewise.
82152         * lib/regex_internal.h: Adjust prototypes.
82153
82154         * lib/regex.c: Prevent using C++ compilers.
82155
82156         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
82157         (re_acquire_state_context): Likewise.
82158
82159 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82160
82161         * modules/regex (Depends-on): Add ssize_t.
82162
82163 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82164
82165         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
82166         translation table.
82167
82168 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82169
82170         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
82171
82172 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
82173             Bruno Haible  <bruno@clisp.org>
82174
82175         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
82176         <sys/types.h> and <inttypes.h>.
82177
82178 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82179
82180         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
82181         `__error_t_defined', so argp.h will not typedef the former.
82182
82183 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
82184
82185         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
82186         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
82187         glibc names.  Even if glibc is changed to conform to POSIX, the
82188         traditional names will be available anyway, since regex depends on
82189         the extensions module.  Also, fix a longstanding typo in the
82190         implementation of Spencer ERE test #75 from grep 2.3.  Problems
82191         reported by Emanuele Giaquinta.  Also, change sense of cached
82192         variable, so that the message makes sense.
82193
82194 2006-03-24  Simon Josefsson  <jas@extundo.com>
82195
82196         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
82197         including some doc fixes.
82198         (base64_encode_alloc): Fix +1 bug on allocation failures.
82199
82200 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82201
82202         * lib/base64.c (base64_encode): Do not read past end of array with
82203         unsanitized input on systems with CHAR_BIT > 8.
82204
82205 2006-03-24  Eric Blake  <ebb9@byu.net>
82206
82207         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
82208
82209 2006-03-22  Karl Berry  <karl@gnu.org>
82210
82211         * config/srclist.txt (*setenv.[ch]): get from coreutils.
82212         * config/srclistvars.sh (COREUTILS): new var.
82213
82214 2006-03-17  Jim Meyering  <jim@meyering.net>
82215
82216         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
82217         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
82218
82219 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82220
82221         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
82222         no longer needs it.  Instead, check that regoff_t is as least
82223         as wide as ptrdiff_t.
82224
82225         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
82226         so that our regex.h stays compatible with the installed regex.
82227         This is helpful for installers who configure --without-included-regex.
82228         Problem reported by Emanuele Giaquinta.
82229
82230 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82231
82232         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
82233         Typedef to long int, not to off_, as POSIX will likely change
82234         in that direction.
82235
82236 2006-03-15  Eric Blake  <ebb9@byu.net>
82237
82238         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
82239
82240 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82241
82242         * lib/argp-help.c (validate_uparams): Fix typo
82243         * lib/argp-parse.c (argp_default_options): Consistently begin help
82244         messages with a lowercase letter.
82245
82246 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
82247
82248         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
82249         overrun buffers and shouldn't be used (much as gets shouldn't be
82250         used).
82251         * lib/time_r.c (asctime_r, ctime_r): Likewise.
82252
82253 2006-03-08  Simon Josefsson  <jas@extundo.com>
82254
82255         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
82256         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82257
82258 2006-03-08  Simon Josefsson  <jas@extundo.com>
82259
82260         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
82261         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82262
82263 2006-03-08  Simon Josefsson  <jas@extundo.com>
82264
82265         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
82266         signal that configure disabled the device.
82267
82268 2006-03-08  Simon Josefsson  <jas@extundo.com>
82269
82270         * build-aux/maint.mk: Fix refresh-po, to handle no translated
82271         languages.
82272
82273 2006-03-07  Simon Josefsson  <jas@extundo.com>
82274
82275         * modules/getopt (Depends-on): Add unistd.
82276
82277         * modules/unistd: New file.
82278
82279 2006-03-07  Simon Josefsson  <jas@extundo.com>
82280
82281         * modules/gc-random: New file.
82282
82283 2006-03-07  Simon Josefsson  <jas@extundo.com>
82284
82285         * m4/unistd_h.m4: New file.
82286
82287 2006-03-07  Simon Josefsson  <jas@extundo.com>
82288
82289         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
82290         test to be side-effect free by storing the result in the cache
82291         variable gl_cv_lib_readline, and moving the assignment of
82292         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
82293         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82294
82295 2006-03-07  Simon Josefsson  <jas@extundo.com>
82296
82297         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
82298         error on missing devices (the functions will return an error).
82299
82300         * m4/gc.m4: Move random stuff to gc-random.m4
82301
82302 2006-03-07  Simon Josefsson  <jas@extundo.com>
82303
82304         * lib/unistd_.h: New file.
82305
82306 2006-03-07  Simon Josefsson  <jas@extundo.com>
82307
82308         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
82309
82310 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82311
82312         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
82313         Problem reported by Juan Manuel Guerrero.
82314
82315 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82316
82317         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
82318         the unistd module.
82319         * lib/getlogin_r.c: Likewise.
82320         * lib/getlogin_r.h: Likewise.
82321         * lib/glob.c: Likewise.
82322         * lib/pagealign_alloc.c: Likewise.
82323         * lib/unistd_.h: Remove; no longer needed.
82324
82325 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82326
82327         * MODULES.html.sh (Support for systems lacking POSIX:2001):
82328         Add unistd.
82329         * modules/c-stack (Depends-on): Add unistd.
82330         * modules/getlogin_r: Likewise.
82331         * modules/glob: Likewise.
82332         * modules/pagealign_alloc: Likewise.
82333         * modules/unistd (Files): Remove lib/unistd_.h.
82334         (EXTRA_DIST): Remove.
82335         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
82336         need unistd_.h.
82337         (MOSTLYCLEANFILES): Remove unistd.h-t.
82338
82339 2006-03-03  Simon Josefsson  <jas@extundo.com>
82340
82341         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
82342
82343 2006-03-03  Simon Josefsson  <jas@extundo.com>
82344
82345         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
82346         libidn and bison.
82347
82348 2006-03-03  Simon Josefsson  <jas@extundo.com>
82349
82350         * build-aux/maint.mk: Add indent target.
82351
82352 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
82353
82354         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
82355         our replacement poll.h in any case, to avoid a differing
82356         declaration from a system header.  Seen on AIX.
82357
82358 2006-03-01  Simon Josefsson  <jas@extundo.com>
82359
82360         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
82361         <kasal@ucw.cz>.
82362
82363 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82364
82365         * modules/gettime (Depends-on): Add extensions module.
82366         * modules/nanosleep (Depends-on): Likewise.
82367         * modules/settime (Depends-on): Likewise.
82368
82369 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82370
82371         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
82372         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
82373         pedantically.
82374         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82375         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
82376
82377         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
82378         not "==".  Reported by Ralf Wildenhues.
82379
82380 2006-03-01  Karl Berry  <karl@gnu.org>
82381
82382         * doc/Copyright/request-*: new files, synced from gnuorg.
82383
82384 2006-03-01  Karl Berry  <karl@gnu.org>
82385
82386         * config/srclist.txt (Copyright/*): new entries.
82387
82388 2006-02-28  Simon Josefsson  <jas@extundo.com>
82389
82390         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
82391
82392 2006-02-27  Simon Josefsson  <jas@extundo.com>
82393
82394         * lib/base64.h: Indent #define's.  From Jim Meyering
82395         <jim@meyering.net>.
82396
82397 2006-02-27  Jim Meyering  <jim@meyering.net>
82398
82399         Revert the change of 2006-02-24, so these files can continue
82400         to be sync'd from gettext.
82401         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
82402         of `config.h'.
82403
82404 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82405
82406         * modules/intprops: New file.
82407         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
82408         Add intprops.
82409         * modules/getloadavg (Files): Remove lib/intprops.h.
82410         (Depends-on): Add intprops.
82411         * modules/human: Likewise.
82412         * modules/inttostr: Likewise.
82413         * modules/openat: Likewise.
82414         * modules/sig2str: Likewise.
82415         * modules/userspec: Likewise.
82416         * modules/utimecmp: Likewise.
82417         * modules/xnanosleep: Likewise.
82418         * modules/xstrtol: Likewise.
82419
82420 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
82421
82422         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
82423         * modules/lock-tests (TESTS): Use $(EXEEXT).
82424         * modules/tls-tests: Likewise.
82425         * modules/argp-tests: Likewise.
82426         (check_PROGRAMS): New var, replacing...
82427         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
82428
82429 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82430
82431         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
82432         `config.h'.
82433
82434 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
82435
82436         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
82437
82438 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82439
82440         Sync from coreutils.
82441         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
82442         gl_CHDIR_SAFER.
82443
82444 2006-02-22  Jim Meyering  <jim@meyering.net>
82445
82446         Sync from coreutils.
82447         * m4/chdir-safer.m4: New file.
82448
82449 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
82450
82451         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
82452         AT_FDCWD exceeds INT_MAX.
82453         * lib/openat.h (AT_FDCWD): Likewise.
82454
82455 2006-02-17  Eric Blake  <address@hidden>
82456
82457         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
82458
82459 2006-02-16  Simon Josefsson  <jas@extundo.com>
82460
82461         * modules/getaddrinfo (Depends-on): Add sys_socket.
82462
82463 2006-02-15  Simon Josefsson  <jas@extundo.com>
82464
82465         * build-aux/maint.mk: Add dsyntax-check rule.
82466
82467 2006-02-15  Eric Blake  <ebb9@byu.net>
82468
82469         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
82470         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
82471         'present but cannot compile' warnings on cygwin.
82472         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
82473         use ws2tcpip.h if sys/socket.h works.
82474         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
82475         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
82476
82477 2006-02-14  Simon Josefsson  <jas@extundo.com>
82478
82479         * modules/maintainer-makefile (Files): Rename.
82480
82481         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
82482         and (the local) Makefile.cfg to maint-cfg.mk.
82483
82484         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
82485         to the latter.
82486
82487         * modules/maintainer-makefile: New module.
82488
82489         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
82490         severaly stripped to make it possible to build it up from scratch
82491         with reliable tests.
82492
82493         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
82494         fixes to permit overriding the default actions when configure and
82495         makefile are not available.
82496
82497 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
82498
82499         Sync from coreutils.
82500         * modules/lstat (Depends-on): Don't depend on xalloc.
82501         (License): Change from GPL to LGPL, since this is now simply a
82502         replacement for a libc function.
82503
82504 2006-02-14  Jim Meyering  <jim@meyering.net>
82505
82506         Sync from coreutils.
82507
82508         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
82509         failure on deficient systems, and simplify gnulib lgpl dependencies.
82510         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
82511         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
82512
82513         * lib/xalloc-die.c: Remove unused definition of N_.
82514
82515 2006-02-14  Jim Meyering  <jim@meyering.net>
82516
82517         Sync from coreutils.
82518         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
82519         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
82520         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
82521         double-quote uses of that variable, to accommodate the rare case in
82522         which getmntent is available in none of the libraries checked.  This
82523         happens at least on FreeBSD 5.0.
82524
82525 2006-02-13  Simon Josefsson  <jas@extundo.com>
82526
82527         * gnulib-tool (Usage): Fix --import, from
82528         karl@freefriends.org (Karl Berry).
82529
82530 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82531
82532         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
82533
82534 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
82535
82536         * lib/argp-namefrob.h: Restore changes accidentally lost during the
82537         "autoupdate" on 2005-12-12.
82538
82539 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82540
82541         * modules/closeout (Depends-on): Remove atexit.
82542
82543 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82544
82545         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
82546         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
82547
82548 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
82549
82550         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
82551         __EXTENSIONS__ if this causes compilation to fail.  Problem
82552         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
82553         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
82554
82555 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
82556
82557         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
82558         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
82559         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
82560         All uses changed.
82561
82562 2006-01-26  Simon Josefsson  <jas@extundo.com>
82563
82564         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
82565         prototype is visible on mingw32.
82566
82567         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
82568         for mingw32.
82569
82570         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
82571         mingw32).
82572
82573 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
82574
82575         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
82576         attempt to open for write; this always fails, at least on POSIX
82577         hosts.  This reinstates the 2006-01-09 change, which was
82578         inadvertently removed.
82579
82580 2006-01-26  Bruno Haible  <bruno@clisp.org>
82581
82582         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
82583         Reported by Paul Eggert.
82584
82585 2006-01-26  Bruno Haible  <bruno@clisp.org>
82586             Paul Eggert  <eggert@cs.ucla.edu>
82587
82588         * lib/stdbool_.h (_Bool)
82589         [(! (defined __cplusplus || defined __BEOS__)
82590           && !defined __GNUC__
82591           && !(defined __HP_cc || defined __xlc__
82592                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
82593                || defined __sgi))]:
82594         #define to signed char in these cases too; this simplifies
82595         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
82596         etc., separately) and makes it more conservative.
82597
82598 2006-01-25  Simon Josefsson  <jas@extundo.com>
82599
82600         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
82601         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
82602         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
82603
82604 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82605
82606         * lib/argp-namefrob.h: Bugfix. Remove stray #
82607
82608 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
82609
82610         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
82611         so that we test the test.
82612         Check for yet another HP-UX cc bug involving *bool |= bool.
82613
82614 2006-01-25  Karl Berry  <karl@gnu.org>
82615
82616         * config/srclist.txt (vasnprintf.c): sync lost.
82617
82618 2006-01-25  Jim Meyering  <jim@meyering.net>
82619
82620         Sync from the stable (b5) branch of coreutils:
82621
82622         * lib/fts.c (fts_children): Don't let close() clobber errno from
82623         failed fchdir().
82624
82625         * lib/fts.c (fts_stat): When following a symlink-to-directory,
82626         don't necessarily interpret stat-fails+lstat-succeeds as indicating
82627         a dangling symlink.  That can also happen at least for ELOOP.
82628         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
82629         FYI, this bug predates the inclusion of fts.c in coreutils.
82630
82631         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
82632         in their own block, so pre-c99 compilers don't object.
82633
82634         Avoid the double-free (first in fts_read, second in fts_close) that
82635         would occur when an `active' directory is made inaccessible (e.g.,
82636         via chmod a-x) during a traversal.
82637         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82638         before returning.  Reproduce this failure by
82639         mkdir -p a/b; cd a; chmod a-x . b
82640         Reported by Stavros Passas.
82641
82642 2006-01-25  Jim Meyering  <jim@meyering.net>
82643
82644         * lib/fileblocks.c: Remove more useless parentheses.
82645         * lib/readutmp.h: Likewise.
82646
82647 2006-01-25  Bruno Haible  <bruno@clisp.org>
82648
82649         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
82650         warnings.
82651         Reported by Paul Eggert.
82652
82653 2006-01-25  Bruno Haible  <bruno@clisp.org>
82654
82655         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
82656         rid of a trap command. For Solaris sh.
82657         Reported by Mark D. Baushke <mdb@gnu.org>.
82658
82659 2006-01-24  Simon Josefsson  <jas@extundo.com>
82660
82661         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
82662         Bruno.
82663
82664 2006-01-24  Karl Berry  <karl@gnu.org>
82665
82666         * config/srclist.txt (argp-namefrob.h): sync lost.
82667
82668 2006-01-24  Jim Meyering  <jim@meyering.net>
82669
82670         * modules/openat (Files): Add lib/intprops.h.
82671         From Mark D. Baushke.
82672
82673 2006-01-24  Jim Meyering  <jim@meyering.net>
82674
82675         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
82676         Reported by Mark D. Baushke.
82677
82678 2006-01-24  Jim Meyering  <jim@meyering.net>
82679
82680         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
82681
82682 2006-01-24  Bruno Haible  <bruno@clisp.org>
82683
82684         * modules/strnlen (Maintainer): Change from glibc to all.
82685
82686 2006-01-24  Bruno Haible  <bruno@clisp.org>
82687
82688         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
82689         Patch by Paul Eggert.
82690
82691 2006-01-24  Bruno Haible  <bruno@clisp.org>
82692
82693         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
82694         already has it.
82695         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
82696         2005-11-26.
82697
82698         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
82699         'signed char' to avoid problems with the built-in _Bool type.
82700         Reported by Paul Eggert on 2005-11-26.
82701
82702 2006-01-24  Bruno Haible  <bruno@clisp.org>
82703
82704         * gnulib-tool (func_import): Avoid constructing complicated sed
82705         expressions inside backquote.
82706         Report and solution by Mark D. Baushke <mdb@gnu.org>.
82707
82708 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
82709
82710         These changes imported from libc.
82711         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
82712         test and two separate function calls.
82713         * lib/strndup.c (__strndup): Add libc_hidden_def.
82714
82715 2006-01-23  Simon Josefsson  <jas@extundo.com>
82716
82717         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
82718         Remove the test_*_SOURCES variable: automake infers it by default.
82719         * modules/tls-tests: Likewise.
82720
82721 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82722
82723         Work around porting bugs reported by Dieter in
82724         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
82725         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
82726         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
82727         Include "getopt.h" first, to check interface.
82728         (getenv): Declare only if defined HAVE_DECL_GETENV &&
82729         !HAVE_DECL_GETENV.
82730         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
82731         (__strndup): Revert to K&R-style function dfns, the glibc style.
82732         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
82733         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
82734         Include strnlen.h first, to get prototype properly.
82735         (strnlen): Renamed from __strnlen.
82736         Remove weak alias.
82737
82738 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82739
82740         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
82741
82742 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82743
82744         * config/srclist.txt: Adjust to reflect glibc reorganization.
82745         This affects only comments.
82746
82747 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82748
82749          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
82750          Reported by Bruce Korb <bkorb@gnu.org>.
82751
82752 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
82753
82754         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
82755         to pacify gcc -Wswitch-default.
82756
82757 2006-01-22  Bruno Haible  <bruno@clisp.org>
82758
82759         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
82760         temporary buffer for sprintf, take into account the precision also
82761         for 'd', 'i', 'u', 'o', 'x', 'X'.
82762
82763 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82764
82765         * modules/argp-tests: New module
82766         * tests/test-argp.c: New file
82767         * tests/test-argp-2.sh: New file
82768
82769 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82770
82771         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
82772         (__argp_base_name): Removed
82773         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
82774         typo.
82775         (__argp_base_name): Provide macro definition or extern declaration
82776         depending on the configuration
82777
82778 2006-01-20  Simon Josefsson  <jas@extundo.com>
82779
82780         * modules/inet_ntop (Depends-on): Depend on sys_socket.
82781
82782 2006-01-20  Simon Josefsson  <jas@extundo.com>
82783
82784         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
82785
82786 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82787
82788         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
82789         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
82790         Suggested by Bruno Haible.
82791
82792 2006-01-20  Karl Berry  <karl@gnu.org>
82793
82794         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
82795         until changes propagate, I guess.
82796
82797 2006-01-19  Simon Josefsson  <jas@extundo.com>
82798
82799         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
82800
82801 2006-01-19  Simon Josefsson  <jas@extundo.com>
82802
82803         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
82804
82805 2006-01-19  Simon Josefsson  <jas@extundo.com>
82806
82807         * gnulib-tool: Set check_PROGRAMS.
82808
82809         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82810         modules/des-tests, modules/gc-arcfour-tests,
82811         modules/gc-arctwo-tests, modules/gc-des-tests,
82812         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82813         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82814         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82815         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82816         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82817         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
82818         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
82819         test_*_SOURCES.
82820
82821 2006-01-18  Simon Josefsson  <jas@extundo.com>
82822
82823         * modules/socklen (Depends-on): Depend on sys_socket.
82824
82825 2006-01-18  Simon Josefsson  <jas@extundo.com>
82826
82827         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82828         modules/des-tests, modules/gc-arcfour-tests,
82829         modules/gc-arctwo-tests, modules/gc-des-tests,
82830         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82831         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82832         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82833         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82834         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82835         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
82836         $(EXEEXT) to automake TESTS variable, for mingw32.
82837
82838 2006-01-17  Simon Josefsson  <jas@extundo.com>
82839
82840         * modules/socklen (Include): Need sys/socket.h.
82841
82842 2006-01-17  Bruno Haible  <bruno@clisp.org>
82843
82844         * modules/ssize_t (Include): Add <sys/types.h>.
82845
82846 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
82847
82848         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
82849         it's not portable and it doesn't work with cross-compiles.
82850         Problem reported by Bruno Haible.  Fix missing-$ typo in
82851         'test "gl_cv_ignore_unused_libraries" ...' that prevented
82852         -zignore from being used with Sun's C compiler.
82853
82854 2006-01-12  Simon Josefsson  <jas@extundo.com>
82855
82856         * lib/base64.c: Fix warning, reported by Bruno Haible
82857         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
82858
82859 2006-01-12  Bruno Haible  <bruno@clisp.org>
82860
82861         * modules/ldd: New file.
82862         * build-aux/ldd.sh.in: New file.
82863         * MODULES.html.sh (Support for building libraries and executables): Add
82864         ldd.
82865
82866 2006-01-12  Bruno Haible  <bruno@clisp.org>
82867
82868         * m4/ldd.m4: New file.
82869
82870 2006-01-12  Bruno Haible  <bruno@clisp.org>
82871
82872         * gnulib-tool (func_import, func_create_testdir): Don't go into an
82873         endless loop while replacing $auxdir with build-aux.
82874
82875 2006-01-11  Simon Josefsson  <jas@extundo.com>
82876
82877         * lib/stdint_.h (SIZE_MAX): Add missing (.
82878
82879 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
82880
82881         Sync from coreutils.
82882         * lib/md5.c: Fix commentary typos.
82883         (alignof, UNALIGNED_P): No need for a GCC-specific version.
82884         * lib/md5.h (__attribute__): Remove; unused.
82885         * lib/sha1.c: Fix commentary to match md5 better.
82886         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
82887         so that we don't need to worry about alignment.  All uses changed.
82888         This merges the 2005-10-28 md5 change into sha1.
82889
82890 2006-01-11  Jim Meyering  <jim@meyering.net>
82891
82892         Sync from coreutils.
82893         * lib/md5.c (OP): Fix spacing.
82894
82895 2006-01-11  Bruno Haible  <bruno@clisp.org>
82896
82897         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82898         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
82899         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
82900
82901 2006-01-11  Bruno Haible  <bruno@clisp.org>
82902
82903         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82904         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
82905         the "early" section as well.
82906
82907 2006-01-11  Bruno Haible  <bruno@clisp.org>
82908
82909         Avoid "ar: no archive members specified" error on MacOS X.
82910         * gnulib-tool (func_modules_add_dummy): New function.
82911         (func_import, func_create_testdir): Invoke it.
82912
82913 2006-01-11  Bruno Haible  <bruno@clisp.org>
82914
82915         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
82916         with $auxdir in AC_CONFIG_FILES statements.
82917
82918 2006-01-11  Bruno Haible  <bruno@clisp.org>
82919
82920         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
82921         Initialize also noinst_HEADERS to empty.
82922
82923 2006-01-11  Bruno Haible  <bruno@clisp.org>
82924
82925         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
82926         variables.
82927         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
82928         autoreconf.
82929
82930 2006-01-11  Bruno Haible  <bruno@clisp.org>
82931
82932         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
82933         overridable by the user.
82934         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82935
82936 2006-01-10  Simon Josefsson  <jas@extundo.com>
82937
82938         * modules/sys_socket: New file.
82939
82940 2006-01-10  Simon Josefsson  <jas@extundo.com>
82941
82942         * m4/sys_socket_h.m4: New file.
82943
82944 2006-01-10  Simon Josefsson  <jas@extundo.com>
82945
82946         * lib/socket_.h: New file.
82947
82948 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82949
82950         * modules/readutmp (Maintainer): Add myself.
82951
82952 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82953
82954         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
82955         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
82956         People who are still concerned with buggy memcmp implementations
82957         can invoke gl_FUNC_MEMCMP themselves.
82958
82959 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82960
82961         * lib/regex_internal.h (BITSET_WORD_BITS):
82962         Work around a bug in 64-bit PGC (before version 6.1-2), where the
82963         preprocessor mishandles large unsigned values as if they were signed.
82964         Problem reported by Claudio Fontana in
82965         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
82966
82967 2006-01-10  Jim Meyering  <jim@meyering.net>
82968
82969         Avoid the double-free (first in fts_read, second in fts_close) that
82970         would occur when an `active' directory is made inaccessible (e.g.,
82971         via chmod a-x) during a traversal.
82972         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82973         before returning.  Reproduce this failure by
82974         mkdir -p a/b; cd a; chmod a-x . b
82975         Reported by Stavros Passas.
82976
82977         Sync from coreutils.
82978         * lib/sha1.c: Tweak grammar in a comment.
82979
82980 2006-01-10  Jim Meyering  <jim@meyering.net>
82981
82982         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
82983         Patch by Joerg Sonnenberger.
82984
82985 2006-01-10  Bruno Haible  <bruno@clisp.org>
82986
82987         * modules/readutmp: Depend on module free.
82988         * modules/strtok_r: Depend on module restrict.
82989
82990 2006-01-10  Bruno Haible  <bruno@clisp.org>
82991
82992         * modules/gettext (configure.ac): Add an invocation of
82993         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
82994
82995 2006-01-10  Bruno Haible  <bruno@clisp.org>
82996
82997         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
82998         Reported by Werner Lemberg <wl@gnu.org>.
82999
83000 2006-01-10  Bruno Haible  <bruno@clisp.org>
83001
83002         * lib/localcharset.c: Update from GNU gettext.
83003
83004 2006-01-10  Bruno Haible  <bruno@clisp.org>
83005
83006         * lib/argp.h (__const): Remove macro. Use const instead.
83007         * lib/argp-fmtstream.h (__const): Likewise.
83008         * lib/glob_.h (__const): Remove macro.
83009         * lib/glob-libc.h: Use const instead of __const.
83010
83011 2006-01-10  Bruno Haible  <bruno@clisp.org>
83012
83013         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
83014         variable.
83015         Needed to avoid an automake error regarding the 'gettext' module.
83016
83017 2006-01-09  Simon Josefsson  <jas@extundo.com>
83018
83019         * modules/inet_ntop (Depends-on): Add restrict.
83020
83021 2006-01-09  Simon Josefsson  <jas@extundo.com>
83022
83023         * modules/gc-rijndael-tests (License): Put under LGPL.
83024
83025         * modules/gc-des-tests (License): Likewise.
83026
83027         * modules/gc-arcfour-tests (License): Likewise.
83028
83029         * modules/gc-arctwo-tests (License): Likewise.
83030
83031         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
83032
83033         * modules/gc-hmac-sha1-tests (Files): Likewise.
83034
83035         * modules/gc-hmac-md5-tests (License): Likewise.
83036
83037         * modules/gc-sha1-tests (License): Likewise.
83038
83039         * modules/gc-md5-tests (License): Likewise.
83040
83041         * modules/gc-md4-tests (License): Likewise.
83042
83043         * modules/gc-md2-tests (License): Likewise.
83044
83045         * modules/gc-tests (License): Likewise.
83046
83047         * modules/des-tests (License): Likewise.
83048
83049         * modules/md4-tests (License): Likewise.
83050
83051         * modules/md2-tests (License): Likewise.
83052
83053 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83054
83055         Sync from coreutils:
83056
83057         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
83058         * modules/lib-ignore: New file.
83059         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
83060         chdir-safer.m4, lchmod.m4.
83061         * modules/openat: Add mkdirat.c, openat-priv.h.
83062
83063 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83064
83065         Sync from coreutils.
83066         * m4/lib-ignore.m4: New file.
83067         * m4/lchmod.m4: New file.
83068
83069 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83070
83071         Sync from coreutils.
83072         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
83073         for write access: POSIX says that must fail.
83074         * lib/fts.c (diropen): Likewise.
83075         * lib/save-cwd.c (save_cwd): Likewise.
83076         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
83077         well, for minor improvements on hosts that lack O_DIRECTORY.
83078         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
83079         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
83080         Fall back on chown if open failed with EACCES.
83081
83082         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
83083         Report an error at compile-time if only a 1-second nominal clock
83084         resolution is found.
83085
83086         * lib/lchmod.h: New file.
83087         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
83088         (make_dir_parents): Use lchown rather than chown, and
83089         lchmod rather than chmod.
83090
83091         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
83092         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
83093         "proc" reported by n0dalus.
83094
83095         * lib/mountlist.c: Include <limits.h>.
83096         (dev_from_mount_options)
83097         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
83098         New function.  It no longer assumes "dev=" has the System V meaning
83099         on Linux (since it doesn't).  It also parses "dev=" more carefully.
83100         (read_file_system_list)
83101         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
83102         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
83103         dev= in that case.
83104
83105         * lib/posixtm.h (PDS_PRE_2000): New macro.
83106         * lib/posixtm.c (year): Arg is now syntax_bits rather than
83107         allow_century.  All usages changed.  Reject dates outside the range
83108         1969-1999 if PDS_PRE_2000 is used.
83109
83110 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83111
83112         Sync from coreutils.
83113         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
83114         (Time of day items): Mention the possibility of leap seconds.
83115         Problem reported by Dr. David Alan Gilbert.
83116
83117 2006-01-09  Jim Meyering  <jim@meyering.net>
83118
83119         Sync from coreutils.
83120
83121         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
83122
83123         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
83124
83125         * lib/modechange.c (mode_compile): Reject an invalid mode string
83126         that starts with an octal digit.  From Andreas Gruenbacher.
83127
83128         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
83129         and dup to open_safer and dup_safer, respectively.
83130         (openat_permissive): Fix typo in comment.
83131
83132         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
83133         "gettext.h"; either no longer needed or are guaranteed by openat.h.
83134         (_): Remove; no longer needed.
83135         (openat): Renamed from rpl_openat; no need for rpl_openat
83136         since openat.h renames openat for us.
83137         Replace most of the body with a call to openat_permissive,
83138         to avoid duplicate code.
83139         Port to (probably hypothetical) environments were mode_t is
83140         wider than int.
83141         (openat_permissive): Require mode arg, so that we can check
83142         types better.  Put it just after flags.  Change cwd failure
83143         indicator from pointer-to-bool to pointer-to-errno-value.
83144         All callers changed.
83145         Invoke openat_save_fail and/or openat_restore_fail if
83146         cwd_errno is null, so that openat can call us.
83147         (openat_permissive, fdopendir, fstatat, unlinkat):
83148         Simplify errno handling to avoid some duplicate code,
83149         as it's OK to set errno on success.
83150         * lib/openat.h: Revamp code so that function macros depend on
83151         __OPENAT_PREFIX only, not also on AT_FDCWD.
83152         (openat_ro): Remove.  Caller changed to use openat_permissive.
83153         (openat_permissive): Now a macro, if not a function.
83154         (openat_restore_fail, openat_save_fail): Now always functions,
83155         since mkdirat needs them even if __OPENAT_PREFIX is defined.
83156
83157         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
83158         and openat.c.
83159         * lib/mkdirat.c: Include openat-priv.h.
83160         Remove definitions of macros defined therein.
83161         * lib/openat.c: Likewise.
83162
83163         * lib/mkdirat.c (mkdirat): New file and function.
83164         * lib/openat.h (mkdirat): Declare.
83165
83166         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
83167
83168         * lib/openat.h (openat_permissive): Declare.
83169         (openat_ro): Define.
83170
83171         * lib/openat.c (EXPECTED_ERRNO): New macro.
83172         (openat_permissive): New function -- used in remove.c rewrite.
83173         (all functions): Set errno just before returning, only if there
83174         was an actual failure.
83175         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
83176
83177         Emulate openat-family functions using Linux's procfs, if possible.
83178         Idea and some code based on Ulrich Drepper's glibc changes.
83179
83180         * lib/openat.c: (BUILD_PROC_NAME): New macro.
83181         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
83182         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
83183         before falling back on save_cwd and restore_cwd.
83184         (fdopendir, fstatat, unlinkat): Likewise.
83185
83186         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
83187         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
83188
83189         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
83190         as second argument to va_arg.  Otherwise, some versions of gcc
83191         warn that `if this code is reached, the program will abort'.
83192
83193 2006-01-09  Jim Meyering  <jim@meyering.net>
83194
83195         Sync from coreutils.
83196         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
83197         Require openat-priv.h.
83198
83199 2006-01-09  Bruno Haible  <bruno@clisp.org>
83200
83201         * modules/strnlen (Include): Use strnlen.h.
83202
83203 2006-01-09  Bruno Haible  <bruno@clisp.org>
83204
83205         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
83206
83207 2006-01-09  Bruno Haible  <bruno@clisp.org>
83208
83209         * lib/sysexit_.h (EX_OK): New macro.
83210         Suggested by Martin Lambers <marlam@marlam.de>.
83211
83212 2006-01-09  Bruno Haible  <bruno@clisp.org>
83213
83214         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
83215         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
83216
83217 2006-01-09  Bruno Haible  <bruno@clisp.org>
83218
83219         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
83220         numbers.
83221
83222 2006-01-09  Bruno Haible  <bruno@clisp.org>
83223
83224         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
83225         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
83226         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
83227         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
83228
83229 2006-01-09  Bruno Haible  <bruno@clisp.org>
83230
83231         * build-aux/javacomp.sh.in: New file, moved from lib/.
83232         * modules/javacomp-script (Files): Update.
83233         (configure.ac): Add AC_CONFIG_FILES invocation.
83234         (EXTRA_DIST): Remove variable.
83235
83236         * build-aux/javaexec.sh.in: New file, moved from lib/.
83237         * modules/javaexec (Files): Update.
83238         (configure.ac): Add AC_CONFIG_FILES invocation.
83239         (EXTRA_DIST): Remove javaexec.sh.in.
83240
83241         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
83242         * modules/csharpcomp-script (Files): Update.
83243         (configure.ac): Add AC_CONFIG_FILES invocation.
83244         (EXTRA_DIST): Remove variable.
83245
83246         * build-aux/csharpexec.sh.in: New file, moved from lib/.
83247         * modules/csharpexec (Files): Update.
83248         (configure.ac): Add AC_CONFIG_FILES invocation.
83249         (EXTRA_DIST): Remove csharpexec.sh.in.
83250
83251 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83252
83253         Sync from coreutils.
83254
83255         Add POSIX ACL support
83256         * lib/acl.h (copy_acl, set_acl): Add declarations.
83257         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
83258         systems other than Linux.
83259         (chmod_or_fchmod): New function: use fchmod when possible,
83260         and chmod otherwise.
83261         (file_has_acl): Add a POSIX ACL implementation, with a
83262         Linux-specific subcase.
83263         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
83264         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
83265         acls are unsupported.
83266         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
83267         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
83268         are unsupported.
83269
83270 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83271
83272         Sync from coreutils.
83273         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
83274
83275 2006-01-07  Bruno Haible  <bruno@clisp.org>
83276
83277         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
83278         gl_EARLY.
83279
83280 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83281
83282         * lib/strftime.c (tzname): Don't declare if it is already #defined.
83283         Problem reported for Mingw by Mark Junker.
83284
83285 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83286
83287         * README: Gnulib normally doesn't generate a tarball.
83288
83289 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
83290
83291         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
83292         long int, not int, for nanosecond counts, so that people who are
83293         used to POSIX struct timespec won't be surprised.  Reported by Jim
83294         Meyering.
83295
83296 2005-12-28  Bruno Haible  <bruno@clisp.org>
83297
83298         * build-aux/config.rpath: Update from GNU gettext.
83299
83300 2005-12-16  Jim Meyering  <jim@meyering.net>
83301
83302         * modules/fprintftime: New module.
83303         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
83304
83305 2005-12-16  Jim Meyering  <jim@meyering.net>
83306
83307         * m4/fprintftime.m4: New file.
83308
83309 2005-12-16  Jim Meyering  <jim@meyering.net>
83310
83311         * lib/fprintftime.c, lib/fprintftime.h: New files.
83312
83313 2005-12-15  Simon Josefsson  <jas@extundo.com>
83314
83315         * modules/socklen (configure.ac): Fix M4 macro name, to align with
83316         new m4/socklen.m4.
83317
83318 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83319
83320         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
83321         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
83322
83323 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83324
83325         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
83326         * lib/argp-help.c (fill_in_uparams): Check if the constructed
83327         struct uparams is valid. Fall back to the default values if it is
83328         not.
83329
83330 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83331
83332         * modules/argp (Files): Add argp-pin.c
83333         (Depends-on): dirname
83334         (lib_SOURCES): Add argp-pin.c
83335
83336 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83337
83338         * m4/argp.m4:  Check if program_invocation_name and
83339         program_invocation_short_name are declared and define appropriate
83340         macros if they are not.
83341
83342 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83343
83344         * lib/argp-help.c (__argp_base_name): New function
83345         (__argp_short_program_name): Rewrite using __argp_base_name
83346         * lib/argp-namefrob.h: Define program_invocation_name and
83347         program_invocation_short_name if requested
83348         (__argp_base_name): Add prototype
83349         * lib/argp-parse.c (argp_def): Use gettext wrappers
83350         (argp_default_parser): Use __argp_base_name
83351         * lib/argp-pin.c: New file. Defines program_invocation_name and
83352         program_invocation_short_name on systems that lack them.
83353
83354 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83355
83356         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
83357         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83358         porting problem reported by Georg Schwarz in
83359         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83360
83361 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83362
83363         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
83364         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83365         porting problem reported by Georg Schwarz in
83366         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83367
83368 2005-12-05  Bruno Haible  <bruno@clisp.org>
83369
83370         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
83371         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
83372         Reported by Mark Junker <mjscod@gmx.de>.
83373
83374 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
83375
83376         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
83377         Use implementation from Albert Chin, with some
83378         comments/corrections by Stepan Kasal and myself.
83379
83380 2005-12-02  Bruno Haible  <bruno@clisp.org>
83381
83382         * gnulib-tool (func_import): Accept GPLed build tool modules when
83383         --lgpl is given.
83384         * modules/csharpcomp-script: New file.
83385         * modules/csharpcomp: Depend on it.
83386         * modules/javacomp-script: New file.
83387         * modules/javacomp: Depend on it.
83388         Suggested by Simon Josefsson.
83389
83390 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
83391
83392         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
83393         statement, to work around an HP-UX 10.20 compiler bug reported by
83394         Peter O'Gorman.
83395
83396 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83397
83398         * modules/savedir (Depends-on): Add openat.
83399
83400 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83401
83402         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
83403         (uintmax_t) [defined uintmax_t]: Do not declare.
83404         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
83405         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
83406         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
83407         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
83408         sake of portability to weird hosts that C allows (though we don't
83409         know of any practical examples).
83410
83411         * lib/savedir.h (fdsavedir): New decl.
83412         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
83413         contains most of the former guts of savedir.
83414         (savedir): Use savedirstream.
83415         Include "openat.h".
83416
83417 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83418
83419         * modules/obstack (Files): Add m4/ulonglong.m4.
83420         Problem reported by Davide Angelocola.
83421
83422 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
83423
83424         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
83425         coreutils no longer futzes with rounding modes.
83426
83427 2005-11-14  Jim Meyering  <jim@meyering.net>
83428
83429         * lib/mkstemp-safer.c: Include <config.h>, required for possible
83430         replacement of mkstemp.
83431
83432 2005-11-10  Simon Josefsson  <jas@extundo.com>
83433
83434         * lib/readline.c: Remove EOL.
83435
83436 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83437
83438         * modules/gethrxtime (Depends-on): Add gettime.
83439
83440 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83441
83442         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
83443         or gettimeofday; no longer needed.
83444
83445 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83446
83447         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
83448         time business.
83449         (gethrxtime) [! (HAVE_NANOUPTIME
83450         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
83451         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
83452         our own approximation.
83453
83454 2005-11-08  Eric Blake  <ebb9@byu.net>
83455
83456         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83457
83458 2005-11-08  Eric Blake  <ebb9@byu.net>
83459
83460         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83461
83462 2005-11-04  Bruno Haible  <bruno@clisp.org>
83463
83464         * gnulib-tool: Implement --update mode.
83465
83466 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83467
83468         Fix porting problem reported by Theodoros V. Kalamatianos.
83469         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
83470         Don't assume that futimes failing means we must fail.
83471
83472 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83473
83474         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
83475         variables to suggest the intended function of the PATH_MAX check.
83476
83477 2005-10-30  Kean Johnston  <jkj@sco.com>
83478
83479         Trivial changes to support SCO systems.
83480         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
83481         as PATH_MAX.
83482         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
83483         where __ptr is null when no I/O is pending.
83484
83485 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83486
83487         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
83488         leave errno alone.  Problem reported by Dmitry V. Levin.
83489
83490 2005-10-28  Simon Josefsson  <jas@extundo.com>
83491
83492         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
83493         Test more.
83494
83495         * tests/test-gc-md2.c, tests/test-md2.c: New files.
83496
83497         * modules/md2, modules/md2-tests: New files.
83498
83499 2005-10-28  Simon Josefsson  <jas@extundo.com>
83500
83501         * m4/inet_ntop.m4: More tests.
83502
83503         * m4/gc-md2.m4, md2.m4: New file.
83504
83505 2005-10-28  Simon Josefsson  <jas@extundo.com>
83506
83507         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
83508         "restrict" keywords, as per POSIX.  Protect the function
83509         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
83510         Don't use K&R prototypes.  Check the sprintf return values.
83511         Re-define EAFNOSUPPORT if not present.  Indent.
83512
83513         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
83514         suggested by Bruno Haible <bruno@clisp.org>.
83515
83516         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
83517
83518         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
83519
83520         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
83521         libgcrypt).
83522
83523         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
83524
83525         * lib/md2.h, lib/md2.c: New files.
83526
83527 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
83528
83529         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
83530         errno alone.  Problem reported by Frederic Jolliton.
83531
83532 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
83533
83534         * modules/verify (License): Change from GPL to LGPL.  This is a
83535         tiny module and there are apparently near-equivalents that are
83536         under the BSD license.
83537
83538 2005-10-24  Simon Josefsson  <jas@extundo.com>
83539
83540         * modules/sha1: Relicense to LGPL.
83541
83542 2005-10-24  Simon Josefsson  <jas@extundo.com>
83543
83544         * lib/md4.h: Shrink buffer size, now that we changed the type.
83545
83546 2005-10-23  Simon Josefsson  <jas@extundo.com>
83547
83548         * gnulib-tool (func_import): Fix --tests-base.
83549
83550 2005-10-22  Simon Josefsson  <jas@extundo.com>
83551
83552         * modules/arcfour (Depends-on): Need stdint.
83553
83554 2005-10-22  Simon Josefsson  <jas@extundo.com>
83555
83556         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
83557         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
83558
83559 2005-10-22  Simon Josefsson  <jas@extundo.com>
83560
83561         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
83562         suggested by Bruno Haible <bruno@clisp.org>.
83563
83564 2005-10-22  Simon Josefsson  <jas@extundo.com>
83565
83566         * lib/crc.h: Include stddef.h, for size_t.
83567
83568 2005-10-22  Simon Josefsson  <jas@extundo.com>
83569
83570         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
83571         arcfour_context struct (simplify test vector testing in GNU
83572         Shishi).
83573
83574 2005-10-21  Simon Josefsson  <jas@extundo.com>
83575
83576         * modules/des, modules/des-tests: New files.
83577
83578         * modules/gc-des, modules/gc-des-tests: New files.
83579
83580         * tests/test-des.c, tests/test-gc-des.c: New file.
83581
83582 2005-10-21  Simon Josefsson  <jas@extundo.com>
83583
83584         * modules/arctwo, modules/arctwo-tests: New files.
83585
83586         * tests/test-arctwo.c: New file.
83587
83588         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
83589
83590         * tests/test-gc-arctwo.c: New file.
83591
83592 2005-10-21  Simon Josefsson  <jas@extundo.com>
83593
83594         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
83595         Bruno Haible <bruno@clisp.org>.
83596
83597         * m4/gc-des.m4: New file.
83598
83599 2005-10-21  Simon Josefsson  <jas@extundo.com>
83600
83601         * m4/arctwo.m4: New file.
83602
83603         * m4/gc-arctwo.m4: New file.
83604
83605 2005-10-21  Simon Josefsson  <jas@extundo.com>
83606
83607         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
83608         block.
83609
83610 2005-10-21  Simon Josefsson  <jas@extundo.com>
83611
83612         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
83613         <bruno@clisp.org>.
83614
83615         * lib/hmac-sha1.c (hmac_sha1): Likewise.
83616
83617         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
83618         Bruno Haible <bruno@clisp.org>.
83619
83620         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
83621         <bruno@clisp.org>.
83622
83623 2005-10-21  Simon Josefsson  <jas@extundo.com>
83624
83625         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
83626
83627 2005-10-21  Simon Josefsson  <jas@extundo.com>
83628
83629         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
83630
83631 2005-10-21  Simon Josefsson  <jas@extundo.com>
83632
83633         * lib/des.h, lib/des.c: New files.
83634
83635         * lib/gc-gnulib.c: Support DES.c
83636
83637 2005-10-21  Simon Josefsson  <jas@extundo.com>
83638
83639         * lib/arctwo.h, lib/arctwo.c: New files.
83640
83641         * lib/gc-gnulib.c: Support ARCTWO.
83642
83643 2005-10-21  Simon Josefsson  <jas@extundo.com>
83644
83645         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
83646         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83647
83648 2005-10-21  Simon Josefsson  <jas@extundo.com>
83649
83650         * gnulib-tool (func_import, func_create_testdir): Define automake
83651         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
83652         Makefile.am snippet),
83653         suggested by Bruno Haible <bruno@clisp.org>.
83654
83655         * modules/gc (Makefile.am): Use it.
83656
83657 2005-10-21  Bruno Haible  <bruno@clisp.org>
83658
83659         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
83660         patch.
83661
83662 2005-10-19  Simon Josefsson  <jas@extundo.com>
83663
83664         * tests/test-gc-rijndael.c: New file.
83665
83666         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
83667
83668 2005-10-19  Simon Josefsson  <jas@extundo.com>
83669
83670         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
83671         interface too.
83672
83673 2005-10-19  Simon Josefsson  <jas@extundo.com>
83674
83675         * tests/test-gc-arcfour.c: New file.
83676
83677         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
83678
83679 2005-10-19  Simon Josefsson  <jas@extundo.com>
83680
83681         * modules/gc-md4, modules/gc-md4-tests: New file.
83682
83683         * tests/test-gc-md4.c: New file.
83684
83685 2005-10-19  Simon Josefsson  <jas@extundo.com>
83686
83687         * m4/gc-md4.m4: New file.
83688
83689 2005-10-19  Simon Josefsson  <jas@extundo.com>
83690
83691         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
83692         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
83693         <kasal@ucw.cz>.
83694
83695 2005-10-19  Simon Josefsson  <jas@extundo.com>
83696
83697         * m4/gc-arcfour.m4: New file.
83698
83699         * m4/gc-rijndael.m4: New file.
83700
83701 2005-10-19  Simon Josefsson  <jas@extundo.com>
83702
83703         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
83704
83705 2005-10-19  Simon Josefsson  <jas@extundo.com>
83706
83707         * lib/gc-gnulib.c: Support ARCFOUR.
83708
83709 2005-10-19  Simon Josefsson  <jas@extundo.com>
83710
83711         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
83712         support.
83713
83714         * lib/gc.h: Add ECB enum type.
83715
83716         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
83717
83718 2005-10-18  Simon Josefsson  <jas@extundo.com>
83719
83720         * tests/test-md5.c: New file.
83721
83722         * modules/md5-tests: New file.
83723
83724 2005-10-18  Simon Josefsson  <jas@extundo.com>
83725
83726         * tests/test-md4.c: New file.
83727
83728         * modules/md4, modules/md4-tests: New files.
83729
83730 2005-10-18  Simon Josefsson  <jas@extundo.com>
83731
83732         * m4/md4.m4: New file.
83733
83734 2005-10-18  Simon Josefsson  <jas@extundo.com>
83735
83736         * lib/md4.h, lib/md4.c: New files, based on md5.?.
83737
83738 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
83739
83740         * gnulib-tool (func_create_testdir): Omit the second check whether
83741         BUILT_SOURCES in nonempty.
83742
83743 2005-10-17  Simon Josefsson  <jas@extundo.com>
83744
83745         * tests/test-rijndael.c: New file.
83746
83747 2005-10-17  Simon Josefsson  <jas@extundo.com>
83748
83749         * modules/sha1: Depend on stdint instead of md5.
83750
83751         * modules/md5: Depend on stdint, remove uint32_t.
83752
83753 2005-10-17  Simon Josefsson  <jas@extundo.com>
83754
83755         * modules/gc-sha1-tests: New file.
83756
83757         * tests/test-gc-sha1.c: New file.
83758
83759 2005-10-17  Simon Josefsson  <jas@extundo.com>
83760
83761         * m4/md5.m4: Remove call to uint32_t.m4.
83762
83763 2005-10-17  Simon Josefsson  <jas@extundo.com>
83764
83765         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
83766
83767         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
83768         md5.h.
83769
83770         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
83771
83772         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
83773
83774 2005-10-17  Simon Josefsson  <jas@extundo.com>
83775
83776         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
83777
83778 2005-10-17  Simon Josefsson  <jas@extundo.com>
83779
83780         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
83781
83782 2005-10-17  Simon Josefsson  <jas@extundo.com>
83783
83784         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
83785
83786         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
83787
83788 2005-10-17  Bruno Haible  <bruno@clisp.org>
83789
83790         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
83791         that it can also be used in a test.
83792
83793 2005-10-16  Bruno Haible  <bruno@clisp.org>
83794
83795         * gnulib-tool (func_emit_tests_Makefile_am): Also define
83796         TESTS_ENVIRONMENT, so that individual tests can augment it.
83797
83798         * gnulib-tool (func_create_testdir): Use an intermediate target for
83799         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
83800         macros, like $(ALLOCA_H), which cannot be passed through the command
83801         line.
83802
83803 2005-10-15  Simon Josefsson  <jas@extundo.com>
83804
83805         * modules/rijndael-tests: New file.
83806
83807         * modules/rijndael: New file.
83808
83809 2005-10-15  Simon Josefsson  <jas@extundo.com>
83810
83811         * m4/rijndael.m4: New file.
83812
83813 2005-10-15  Simon Josefsson  <jas@extundo.com>
83814
83815         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
83816
83817         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
83818
83819 2005-10-14  Simon Josefsson  <jas@extundo.com>
83820
83821         * tests/test-arcfour.c: New file.
83822
83823         * modules/arcfour, modules/arcfour-tests: New files.
83824
83825 2005-10-14  Simon Josefsson  <jas@extundo.com>
83826
83827         * m4/arcfour.m4: New file.
83828
83829 2005-10-14  Simon Josefsson  <jas@extundo.com>
83830
83831         * lib/arcfour.h, lib/arcfour.c: New files.
83832
83833 2005-10-14  Roland McGrath  <roland@redhat.com>
83834
83835         Import from libc.  [BZ #1331]
83836         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
83837         macro argument.
83838         Reported by Matej Vela <vela@debian.org>.
83839
83840 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83841
83842         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
83843         include <wchar.h>; no longer needed.
83844
83845 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83846
83847         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
83848
83849 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
83850         and  Ulrich Drepper  <drepper@redhat.com>
83851
83852         Import from libc.
83853         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
83854         instead of inline stream orientation test and two separate
83855         function calls.  Pay no attention to USE_IN_LIBIO.
83856
83857 2005-10-13  Simon Josefsson  <jas@extundo.com>
83858
83859         * modules/gc-hmac-md5-tests: New file.
83860
83861         * tests/test-gc-hmac-sha1.c: New file.
83862
83863         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
83864
83865         * modules/gc-hmac-md5-tests: New file.
83866
83867         * tests/test-gc-md5.c: New file.
83868
83869         * modules/gc-md5-tests: New file.
83870
83871 2005-10-13  Simon Josefsson  <jas@extundo.com>
83872
83873         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
83874         Move memory allocation outside of loop.
83875
83876 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
83877
83878         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
83879         intermediate directory is in a read-only file system.  Problem
83880         reported by Eric Blake.
83881
83882 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
83883
83884         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
83885
83886 2005-10-12  Simon Josefsson  <jas@extundo.com>
83887
83888         * tests/test-hmac-sha1.c: New file.
83889
83890         * modules/hmac-sha1-tests: New file.
83891
83892         * modules/hmac-sha1: New file.
83893
83894 2005-10-12  Simon Josefsson  <jas@extundo.com>
83895
83896         * modules/gc-sha1: New file.
83897
83898 2005-10-12  Simon Josefsson  <jas@extundo.com>
83899
83900         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
83901
83902         * tests/test-gc-pbkdf2-sha1.c: New file.
83903
83904 2005-10-12  Simon Josefsson  <jas@extundo.com>
83905
83906         * modules/gc-md5, modules/gc-hmac-md5: New files.
83907
83908         * modules/gc (Files): Remove md5, memxor and hmac files.
83909
83910 2005-10-12  Simon Josefsson  <jas@extundo.com>
83911
83912         * m4/gc-pbkdf2-sha1.m4: New file.
83913
83914         * m4/gc-hmac-sha1.m4: New file.
83915
83916         * m4/gc-sha1: New file.
83917
83918         * m4/hmac-sha1.m4: New file.
83919
83920 2005-10-12  Simon Josefsson  <jas@extundo.com>
83921
83922         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
83923
83924         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
83925
83926 2005-10-12  Simon Josefsson  <jas@extundo.com>
83927
83928         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
83929         suggested by Bruno Haible <bruno@clisp.org>.
83930
83931 2005-10-12  Simon Josefsson  <jas@extundo.com>
83932
83933         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
83934
83935 2005-10-12  Simon Josefsson  <jas@extundo.com>
83936
83937         * lib/gc-pbkdf2-sha1.c: New file.
83938
83939         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
83940
83941 2005-10-12  Simon Josefsson  <jas@extundo.com>
83942
83943         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
83944
83945         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
83946
83947 2005-10-12  Simon Josefsson  <jas@extundo.com>
83948
83949         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
83950         GC_USE_HMAC_MD5, respectively.
83951
83952         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
83953         (gc_md5): Fix typo.
83954
83955         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
83956
83957         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
83958
83959         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
83960
83961 2005-10-12  Bruno Haible  <bruno@clisp.org>
83962
83963         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
83964         Reported by Stepan Kasal <kasal@ucw.cz>.
83965
83966 2005-10-11  Simon Josefsson  <jas@extundo.com>
83967
83968         * tests/test-crc.c: New file.
83969
83970         * modules/crc, modules/crc-tests: New files.
83971
83972 2005-10-11  Simon Josefsson  <jas@extundo.com>
83973
83974         * m4/crc.m4: New file.
83975
83976 2005-10-11  Simon Josefsson  <jas@extundo.com>
83977
83978         * lib/gc.h: Add gc_hash and gc_hash_buffer.
83979
83980         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
83981
83982         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
83983
83984 2005-10-11  Simon Josefsson  <jas@extundo.com>
83985
83986         * lib/crc.h, lib/crc.c: New files.
83987
83988         * lib/gc.h (gc_hash_buffer): Add doc.
83989
83990 2005-10-11  Bruno Haible  <bruno@clisp.org>
83991
83992         * modules/c-strcasestr: New file.
83993         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
83994
83995 2005-10-11  Bruno Haible  <bruno@clisp.org>
83996
83997         * modules/c-strcase: New file.
83998         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
83999
84000 2005-10-11  Bruno Haible  <bruno@clisp.org>
84001
84002         * lib/strcasecmp.c: Include limits.h.
84003         (strcasecmp): Avoid integer overflow on exotic platforms.
84004         * lib/strncasecmp.c: Include limits.h.
84005         (strncasecmp): Avoid integer overflow on exotic platforms.
84006         Reported by Paul Eggert.
84007
84008 2005-10-11  Bruno Haible  <bruno@clisp.org>
84009
84010         * lib/c-strcasestr.h: New file, from GNU gettext.
84011         * lib/c-strcasestr.c: New file, from GNU gettext.
84012
84013 2005-10-11  Bruno Haible  <bruno@clisp.org>
84014
84015         * lib/c-strcase.h: New file, from GNU gettext.
84016         * lib/c-strcasecmp.c: New file, from GNU gettext.
84017         * lib/c-strncasecmp.c: New file, from GNU gettext.
84018
84019 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
84020
84021         * modules/mempcpy (License): GPL -> LGPL.
84022         * modules/strchrnul (License): Likewise.
84023         * modules/sysexits (License): Likewise.
84024
84025 2005-10-08  Simon Josefsson  <jas@extundo.com>
84026
84027         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
84028
84029 2005-10-07  Simon Josefsson  <jas@extundo.com>
84030
84031         * m4/memxor.m4: Remove gl_C_RESTRICT call.
84032
84033 2005-10-06  Simon Josefsson  <jas@extundo.com>
84034
84035         * tests/test-hmac-md5.c: New file.
84036
84037         * modules/hmac-md5-tests: New file.
84038
84039         * modules/hmac-md5: New file.
84040
84041 2005-10-06  Simon Josefsson  <jas@extundo.com>
84042
84043         * m4/hmac-md5.m4: New file.
84044
84045         * m4/memxor.m4: Require gl_C_RESTRICT.
84046
84047 2005-10-06  Simon Josefsson  <jas@extundo.com>
84048
84049         * lib/memxor.c (memxor): Avoid casts and warnings.
84050
84051 2005-10-06  Simon Josefsson  <jas@extundo.com>
84052
84053         * lib/hmac-md5.c: New file.
84054
84055         * lib/hmac.h: New file.
84056
84057 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
84058
84059         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
84060         promotes to int, not unsigned int, to catch the AIX 5.3
84061         compiler bug.
84062
84063 2005-10-05  Simon Josefsson  <jas@extundo.com>
84064
84065         * modules/memxor: New file.
84066
84067         * modules/iconv (Files): Move config.rpath to havelib, it is used
84068         there.
84069
84070         * modules/havelib (Files): Add config.rpath.
84071
84072 2005-10-05  Simon Josefsson  <jas@extundo.com>
84073
84074         * m4/memxor.m4: New file.
84075
84076 2005-10-05  Simon Josefsson  <jas@extundo.com>
84077
84078         * lib/memxor.c (memxor): Fix compiler error.
84079
84080         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
84081         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
84082
84083         * lib/memxor.h, lib/memxor.c: New files.
84084
84085         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
84086         we assume all systems have it, suggested by Jim Meyering
84087         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
84088         any systems lack sys/socket.h; mingw32 is known to lack it, but we
84089         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
84090         same reasons.
84091
84092 2005-10-05  Simon Josefsson  <jas@extundo.com>
84093
84094         * config/srclist.txt: Add glibc bug 1423 for md5.h.
84095
84096 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
84097
84098         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
84099         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
84100         needed, since the source code now assumes these .h files.
84101
84102 2005-10-05  Derek Price  <derek@ximbiot.com>
84103
84104         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
84105
84106 2005-10-05  Bruno Haible  <bruno@clisp.org>
84107
84108         * modules/stdint (License): Change to LGPL.
84109
84110 2005-10-04  Simon Josefsson  <jas@extundo.com>
84111
84112         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
84113         D. Baushke" <mdb@gnu.org>.
84114
84115 2005-10-04  Bruno Haible  <bruno@clisp.org>
84116
84117         * lib/verify.h (verify_true): Provide alternative definition for C++.
84118
84119 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
84120
84121         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
84122         (SSIZE_MAX): New macro, if not already defined.
84123         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
84124         than 2 GiB.
84125
84126 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84127
84128         Sync from coreutils.
84129         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
84130         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
84131         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
84132         ULLONG_MAX doesn't work with 2.7.2.1.
84133
84134 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84135
84136         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
84137         From Ben Pfaff.
84138
84139         * modules/exclude (Depends-on): Depend on verify.
84140         * modules/strtoimax (Depends-on): Likewise.
84141         * modules/utimecmp (Depends-on): Likewise.
84142
84143 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84144
84145         * lib/exclude.c: Include verify.h.
84146         (verify): Remove.  All callers changed to use verify.h's version.
84147         * lib/strtoimax.c: Likewise.
84148         * lib/utimecmp.c: Likewis.e
84149
84150         Sync from coreutils.
84151         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
84152         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
84153         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
84154         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
84155         bother returning ENOSYS if settimeofday or stime fails; just let
84156         them return whatever errno they want to return.
84157         * lib/utimens.c: Include unistd.h, for dup2.
84158         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
84159         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
84160
84161 2005-10-02  Jim Meyering  <jim@meyering.net>
84162
84163         Sync from coreutils.
84164         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
84165         from glibc-2.2.5 that fails for read-only files.
84166
84167 2005-10-02  Jim Meyering  <jim@meyering.net>
84168
84169         Sync from coreutils.
84170         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
84171         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
84172         `#if HAVE_CONFIG_H'.
84173         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
84174         Remove AT_FDCWD test.
84175         Do not consume the fd unless successful.
84176         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
84177         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
84178         block, so that we don't even try to compile it if settimeofday is
84179         available.  This works around a compilation failure on OSF1 V5.1,
84180         due to stime requiring a `long int*' while tv_sec is `int'.
84181
84182 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
84183
84184         Sync from coreutils.
84185         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
84186         against `yes', rather than just testing for nonempty.
84187
84188 2005-10-01  Simon Josefsson  <jas@extundo.com>
84189
84190         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
84191         and Darwin.
84192
84193         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
84194         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
84195         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
84196         freeaddrinfo and gai_strerror are declared by the POSIX headers.
84197         Check if struct addrinfo is declared.
84198
84199 2005-10-01  Simon Josefsson  <jas@extundo.com>
84200
84201         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
84202         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
84203         AI_* and EAI_* definitions.  Protect function declarations.
84204
84205 2005-10-01  Jim Meyering  <jim@meyering.net>
84206
84207         Sync from coreutils.
84208
84209         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
84210         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
84211         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
84212         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84213         in the inet and nsl libraries.  Required on Solaris 5.7.
84214
84215 2005-10-01  Jim Meyering  <jim@meyering.net>
84216
84217         Sync from coreutils.
84218         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84219         in the inet and nsl libraries.  Required on Solaris 5.7.
84220
84221 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
84222
84223         * lib/getdelim.c (getdelim): Remove unused variables.
84224
84225 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
84226
84227         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
84228         so that the code works even with ancient cpp.  Portability problem
84229         with GCC 2.7.2.1 reported by Thomas M.Ott.
84230
84231 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
84232
84233         * modules/regex (Depends-on): Add strcase.
84234
84235         * modules/gethostname (Licence): Change from GPL to LGPL, since
84236         gethostname.c is a trivial implementation of a standard library
84237         function.
84238         * modules/poll (License): Change from GPL to LGPL, since it's
84239         derived from LGPL code.
84240
84241 2005-09-27  Jim Meyering  <jim@meyering.net>
84242
84243         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
84244         HAVE_CONFIG_H.
84245
84246         * lib/intprops.h (signed_type_or_expr__): Define.
84247         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
84248         for unsigned types.
84249
84250 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
84251
84252         * lib/verify.h (verify_expr): Remove, replacing with:
84253         (verify_true): New macro that returns true instead of void.
84254         (verify_type__): Remove.
84255         (verify): Use verify_true rather than verify_type__.
84256
84257 2005-09-26  Bruno Haible  <bruno@clisp.org>
84258
84259         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
84260         is necessary.
84261         (lib_SOURCES): Remove mbchar.c.
84262         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
84263         (Files): Add m4/mbrtowc.m4.
84264         * modules/mbiter: Likewise.
84265         * modules/mbuiter: Likewise.
84266
84267 2005-09-26  Bruno Haible  <bruno@clisp.org>
84268
84269         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
84270         compile mbchar.c if they are not both present.
84271         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
84272         * m4/mbiter.m4 (gl_MBITER): Likewise.
84273         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
84274         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
84275         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
84276
84277 2005-09-25  Jim Meyering  <jim@meyering.net>
84278
84279         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
84280         also uses socklen_t.
84281
84282 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
84283
84284         * lib/utimens.c (ENOSYS): Define if not already defined.
84285         (futimens): Support having a null PATH if the file descriptor
84286         is nonnegative.
84287
84288         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
84289         Remove.
84290         (__attribute): Define to empty unless GCC 3.1 or later.
84291         This works around a core dump on OpenBSD 3.4, which has GCC
84292         2.95.3, which dumps core when given __attribute__(()).  It also
84293         simplifies other tests, since we really don't want to bother with
84294         worrying about which ancient version of GCC supported what.
84295         Original problem reported by Yoann Vandoorselaere, with part of
84296         the fix suggested by Derek Price.
84297
84298 2005-09-24  Jim Meyering  <jim@meyering.net>
84299
84300         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
84301         so we can once again use a positive bitfield width of 1 -- now we
84302         don't have to explain why we were using a bitfield width of 2.
84303
84304 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84305
84306         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
84307         and similarly for the other external symbols.  Problem reported
84308         by James Gallager.
84309
84310         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
84311         bug reported by Jim Meyering.
84312
84313         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
84314         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
84315         not needed, since socklen is a prerequisite module.
84316
84317 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84318
84319         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
84320         Problem reported by Eric Blake.
84321         (getaddrinfo): Initialize se so that it's not garbage.
84322         Redo internal storage allocation so that it doesn't make unportable
84323         assumptions about alignment.
84324         Fix a memory leak.
84325
84326         * lib/utimens.c (futimens): Use futimesat if available.
84327         Prefer it to futimes since it doesn't have the futimes bug.
84328
84329         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
84330         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
84331         Instead, declare a function that returns a pointer to an array,
84332         and use verify_type__ to declare the size of the array.
84333         Problem and germ of a solution reported by Bruno Haible.
84334         (verify_type__): Use 2, not 1, for bitfield size, to avoid
84335         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
84336
84337 2005-09-23  Jim Meyering  <jim@meyering.net>
84338
84339         Sync from coreutils.
84340         Correct build failure (socklen_t not defined) on at least
84341         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
84342         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
84343
84344 2005-09-23  Jim Meyering  <jim@meyering.net>
84345
84346         * modules/getaddrinfo (Depends-on): Add socklen.
84347
84348 2005-09-23  Bruno Haible  <bruno@clisp.org>
84349
84350         * tests/test-verify.c: New file.
84351
84352 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84353
84354         Sync from coreutils.
84355
84356         * modules/argmatch (Depends-on): Add verify.
84357         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
84358         unistd-safer.
84359         * modules/save-cwd (Depends-on): Likewise.
84360
84361         * modules/openat (Files): Add lib/openat-die.c.
84362         (Depends-on): Remove error, exitfail.
84363         Add dirname.
84364
84365         * modules/verify: New file.
84366         * MODULES.html.sh (Diagnostics <assert.h>): New section,
84367         with "verify" module.
84368
84369 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84370
84371         Sync from coreutils.
84372
84373         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
84374         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
84375         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
84376         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
84377         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
84378         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
84379         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
84380         Don't bother checking for string.h, stdlib.h, unistd.h.
84381         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
84382         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
84383         module's job.
84384         * m4/jm-macros.m4 (gl_MACROS): Likewise.
84385         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
84386
84387         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
84388         (gl_GETDATE): Use it.
84389
84390         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
84391
84392 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84393
84394         Sync from coreutils.
84395
84396         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
84397         stat-time.h.
84398         * lib/argmatch.h: Include verify.h
84399         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
84400         (ARGMATCH_ASSERT): Remove; unused.
84401         * lib/canonicalize.c: Assume STDC_HEADERS.
84402         * lib/exclude.c: Include "strcase.h".
84403         * lib/regex_internal.h [!defined _LIBC]: Likewise.
84404         * lib/getusershell.c: Include stdio--.h rather than stdio.h
84405         and stdio-safer.h.
84406         (getusershell): Call fopen, not fopen_safer.
84407         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
84408         Do not include unistd-safer.h.
84409         (save_cwd): Don't call fd_safer; no longer needed
84410         now that we include fcntl--.h.
84411
84412         * lib/getdate.y (relative_time): New type.
84413         (RELATIVE_TIME_0): New constant.
84414         (parser_control): Use relative_time instead of doing it ourselves.
84415         (%union): Add new relative_time rel member.
84416         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
84417         Now typeless.
84418         (relunit, relunit_snumber): Now of type rel.
84419         (zone, rel, relunit, get_date): Adjust to above changes.
84420
84421         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
84422         Do not include unistd-safer.h.
84423         (getloadavg): Don't call fd_safer; no longer needed
84424         now that we include fcntl--.h.
84425
84426         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
84427         (make_dir_parents): Treat ENOSYS like EEXIST.
84428
84429         Improve quality of diagnostics on restore_cwd failure.
84430         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
84431         (make_dir_parents): Last arg is now int * (for errno), not bool *.
84432         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
84433         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
84434         each time through the loop.  Do not diagnose restore_cwd failure;
84435         that is the caller's job (and perhaps the caller does not care).
84436
84437         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
84438         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
84439         If the file already exists but is not a directory, don't bother
84440         to try to make its parents.
84441         Close potential file descriptor leak if we can't chdir("/") (!).
84442         Don't always return true if chdir($PWD) fails; return true only
84443         if the requested action was done successfully (except for the
84444         chdir($PWD)).
84445         Don't log final directory unless we actually made it.
84446         Refactor to avoid duplicate code to fix up permissions.
84447         Don't attempt to fix up parent permissions if chdir($PWD) fails.
84448
84449         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
84450         to make it a bit faster and (I hope) clearer.
84451         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
84452         Fix bug in formats like %2N.
84453
84454         * lib/verify.h: New file.
84455
84456 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84457
84458         Sync from coreutils.
84459         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
84460
84461 2005-09-22  Jim Meyering  <jim@meyering.net>
84462
84463         Sync from coreutils.
84464
84465         * m4/lstat.m4 (gl_FUNC_LSTAT):
84466         Use AC_LIBSOURCES to require lstat.c and lstat.h.
84467         Remove obsolete comment.
84468         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
84469         * m4/xstrtod.m4: Likewise.
84470
84471         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
84472
84473 2005-09-22  Jim Meyering  <jim@meyering.net>
84474
84475         Sync from coreutils.
84476
84477         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
84478
84479         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
84480         the .tm_year member, since otherwise gcc-4.0 would now warn about
84481         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
84482
84483         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
84484         order to avoid an unsuppressible warning from gcc on 64-bit systems.
84485
84486         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
84487         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
84488         when run in a time zone for which daylight savings time is in effect
84489         for the starting date.
84490
84491         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
84492         stop us from restricting permissions of just-created absolute-named
84493         directories.
84494         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
84495         to restore initial working directory.
84496         * lib/mkdir-p.c (make_dir_parents): New parameter:
84497         different_working_dir, to tell caller if/when we change the working
84498         directory and are unable to return to the initial one.
84499         * lib/mkdir-p.h (make_dir_parents): Update prototype.
84500         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
84501         `return false'.  This fixes a bug introduced on 2004-07-30.
84502
84503         * lib/openat.c (fdopendir): Be sure to close the supplied
84504         file descriptor before returning.  This makes our replacement
84505         implementation a little closer to Solaris's, where fdopendir
84506         ties the file descriptor to the returned DIR* pointer.
84507         * lib/openat.c (unlinkat): New function.
84508         * lib/openat.h (unlinkat): Add prototype.
84509         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
84510         (openat_restore_fail): Rename from openat_restore_die.
84511         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
84512
84513         Provide an alternative to exiting immediately upon save_cwd or
84514         restore_cwd failure.  Now, an application can arrange e.g.,
84515         to perform a longjump in that case.
84516         * lib/openat.c: Include dirname.h.
84517         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
84518         (rpl_openat, fdopendir, fstatat): Call openat_save_die
84519         and openat_restore_die rather than calling error directly.
84520         Don't include "error.h" or "exitfail.h"; they're no longer needed.
84521
84522         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
84523         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
84524         define.
84525
84526         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
84527         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
84528                             int utc, int nanoseconds);
84529         Background:
84530         date should not have to allocate a megabyte of virtual memory to
84531         handle a format argument like +%1048575T.  When implemented with
84532         strftime, it must allocate such a buffer, use strftime to fill it
84533         in, print it, then free it.
84534         With fprintftime, it simply prints everything and exits.
84535         With no need for memory allocation, that's one fewer way to fail.
84536         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
84537         optional field width, not before, so we accept %9:z, not %:9z.
84538         (my_strftime): Be sure to use L_('x') for literals.
84539
84540         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
84541         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
84542         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
84543         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
84544         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
84545         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
84546         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
84547         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
84548         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
84549         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
84550         * lib/xgethostname.c, lib/xreadlink.c:
84551         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
84552
84553         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
84554         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
84555         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
84556         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84557         and don't include <sys/file.h>).
84558
84559 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
84560
84561         Sync from coreutils.
84562
84563         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
84564         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
84565         [!LDAV_DONE]: Avoid unused variable warning.
84566
84567 2005-09-21  Bruno Haible  <bruno@clisp.org>
84568
84569         * lib/unicodeio.h (unicode_to_mb): New declaration.
84570
84571 2005-09-20  Derek Price  <derek@ximbiot.com>
84572
84573         * lib/getaddrinfo.c: Don't include <netdb.h> included from
84574         getaddrinfo.h.
84575
84576 2005-09-20  Bruno Haible  <bruno@clisp.org>
84577
84578         * gnulib-tool: Remove trailing slashes from the values specified for
84579         --source-base, --m4-base, --tests-base, --aux-dir.
84580         Suggested by Simon Josefsson <jas@extundo.com>.
84581
84582 2005-09-20  Bruno Haible  <bruno@clisp.org>
84583
84584         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
84585         func_modules_to_filelist, func_import, func_create_testdir): Make all
84586         sorting results locale-independent, so that gnulib-cache.m4 doesn't
84587         change when gnulib-tool is invoked in a different locale.
84588
84589 2005-09-19  Simon Josefsson  <jas@extundo.com>
84590
84591         * m4/socklen.m4: Fix typo.
84592
84593 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84594
84595         Use a consistent style for including <config.h>.
84596         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
84597         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
84598         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
84599         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
84600         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
84601         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
84602         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
84603         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
84604         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
84605         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
84606         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
84607         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
84608         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
84609         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
84610         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
84611         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
84612         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
84613         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
84614         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
84615         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
84616         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
84617         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
84618         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
84619         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
84620         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
84621         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
84622         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
84623         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
84624         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
84625         lib/xstrtoumax.c, lib/yesno.c:
84626         Standardize inclusion of config.h.
84627         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
84628         lib/inttostr.h:  Removed inclusion of config.h from header files.
84629         * lib/inttostr.c:  Adjusted in-tree users.
84630         * lib/timespec.h: Remove superfluous warning to include config.h.
84631         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
84632         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
84633         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
84634         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
84635         config.h with HAVE_CONFIG_H.
84636
84637 2005-09-19  Jim Meyering  <jim@meyering.net>
84638
84639         * modules/pathmax (License): Change to LGPL.
84640
84641 2005-09-19  Derek Price  <derek@ximbiot.com>
84642
84643         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
84644
84645 2005-09-19  Bruno Haible  <bruno@clisp.org>
84646
84647         * gnulib-tool (import): Provide default for --tests-base.
84648
84649 2005-09-19  Bruno Haible  <bruno@clisp.org>
84650
84651         * doc/quote.texi: New file, extracted from gnulib.texi.
84652         * doc/ctime.texi: New file, extracted from gnulib.texi.
84653         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
84654         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
84655         * doc/gnulib.texi: Include them.
84656
84657 2005-09-18  Bruno Haible  <bruno@clisp.org>
84658
84659         Portability fix.
84660         * gnulib-tool (func_readlink): New function.
84661         (func_ln_if_changed): Use it.
84662
84663 2005-09-18  Bruno Haible  <bruno@clisp.org>
84664
84665         * gnulib-tool: Support --with-tests also with --import.
84666         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
84667         (func_import): Use variables $testsbase and $inctests. Emit a
84668         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
84669         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
84670         SUBDIRS += $testsdir.
84671         (func_create_testdir): Update.
84672
84673 2005-09-18  Bruno Haible  <bruno@clisp.org>
84674
84675         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
84676         instead of $dry_run.
84677         (func_cp_if_changed, func_mv_if_changed): Remove functions.
84678         (func_ln_if_changed): Don't handle dry-run here.
84679         (func_import): In dry-run mode, detect more precisely which actions
84680         would be performed, and don't use "...ing" verbs.
84681
84682 2005-09-18  Bruno Haible  <bruno@clisp.org>
84683
84684         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
84685         (func_import): Use join on two temporary files instead of three nested
84686         loops, in order to determine which files are new or old.
84687
84688 2005-09-18  Bruno Haible  <bruno@clisp.org>
84689
84690         * gnulib-tool (func_import): Comment out code that spits out the
84691         new files with --dry-run.
84692
84693 2005-09-18  Bruno Haible  <bruno@clisp.org>
84694
84695         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
84696
84697 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84698
84699         * lib/stat-time.h: New file.
84700         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
84701         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
84702         in a different way.
84703         (timespec_cmp): New function.
84704         * lib/utimecmp.c: Include stat-time.h.
84705         (SYSCALL_RESOLUTION): Depend on whether various struct stat
84706         members exist, not on the obsolescent ST_MTIM_NSEC.
84707         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
84708
84709 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84710
84711         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
84712
84713 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84714
84715         * MODULES.html.sh (File system functions): Add stat-time.
84716         * modules/stat-time: New file.
84717         * modules/timespec (Files): Remove m4/st_mtim.m4; this
84718         is now done in a different way, by the stat-time module.
84719         * modules/utimecmp (Depends-on): Add stat-time.
84720
84721 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
84722
84723         * m4/st_mtim.m4: Remove.  Superseded by...
84724         * m4/stat-time.m4: New file.
84725         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
84726         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
84727
84728 2005-09-15  Derek Price  <derek@ximbiot.com>
84729
84730         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
84731
84732 2005-09-15  Derek Price  <derek@ximbiot.com>
84733
84734         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
84735         * lib/regex_internal.c: Ditto, using this...
84736         (__GNUC_PREREQ): ...new macro.
84737         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
84738         using...
84739         (__GNUC_PREREQ): ...this new macro.
84740
84741         * lib/strstr.h: Include string.h. Define strstr as a macro here.
84742
84743 2005-09-15  Derek Price  <derek@ximbiot.com>
84744             Paul Eggert  <eggert@cs.ucla.edu>
84745
84746         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
84747         changes, consolidating in...
84748         * lib/regex_internal.h: ...this file.
84749
84750 2005-09-13  Jim Meyering  <jim@meyering.net>
84751
84752         * lib/canon-host.c: Filter through gnu indent and reword comments
84753         slightly.
84754         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
84755
84756 2005-09-13  Derek Price  <derek@ximbiot.com>
84757
84758         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
84759         failure.
84760         Reported by Jim Meyering  <jim@meyering.net>.
84761
84762 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
84763
84764         * lib/base64.c: Typo.
84765         (base64_encode): Put b64str in initialized data section.
84766
84767 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
84768
84769         Merge glibc and coreutils changes into gnulib, plus a few
84770         extra fixes.
84771         * lib/md5.c: Use #error rather than a string.
84772         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
84773         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
84774         (__attribute__): Define to empty for non recent-GCC.
84775         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
84776         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
84777         Renamed from their non-__ counterparts, with new macros replacing
84778         them if not _LIBC.  Add __THROW attribute.
84779         (rol): Remove.
84780         (struct md5_ctx): Align buffer if using GCC.
84781         * lib/sha1.h (struct sha1_ctx): Likewise.
84782         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
84783         The old name was backwards.
84784         (NOTSWAP): Remove; not used.
84785         (rol): New macro, moved here from md5.h.
84786         (sha1_process_block): Remove a FIXME that doesn't make sense.
84787
84788 2005-09-12  Derek Price  <derek@ximbiot.com>
84789
84790         Return usable errors from canon-host.
84791         * lib/canon-host.h: New file.
84792         * lib/canon-host.c (canon_host): Wrap...
84793         (canon_host_r): ...this new function, which now relies exclusively on
84794         getaddrinfo.
84795         (ch_strerror): New function.
84796         (last_cherror): New global.
84797         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
84798         interface.
84799         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
84800         void *.
84801         (freeaddrinfo): Free ai->ai_canonname when set.
84802
84803 2005-09-12  Derek Price  <derek@ximbiot.com>
84804
84805         Make canon-host require getaddrinfo.
84806         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
84807         AC_LIBSOURCE canon-host.h.  Call...
84808         (gl_PREREQ_CANON_HOST): ...this new function, which requires
84809         gl_GETADDRINFO.
84810         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
84811
84812 2005-09-12  Derek Price  <derek@ximbiot.com>
84813
84814         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
84815         LGPL.
84816         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
84817
84818 2005-09-12  Derek Price  <derek@ximbiot.com>
84819
84820         * lib/gai_strerror.c: Include config.h when available.  Include
84821         getaddrinfo.h before other headers to test interface.
84822         Reported by Larry Jones <lawrence.jones@ugs.com>.
84823
84824 2005-09-12  Derek Price  <derek@ximbiot.com>
84825             Paul Eggert  <eggert@cs.ucla.edu>
84826
84827         * modules/glob (Files): Add glob-libc.h.
84828
84829 2005-09-12  Derek Price  <derek@ximbiot.com>
84830             Paul Eggert  <eggert@cs.ucla.edu>
84831
84832         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
84833         glob_.h, glob-libc.h.
84834         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
84835
84836 2005-09-12  Derek Price  <derek@ximbiot.com>
84837             Paul Eggert  <eggert@cs.ucla.edu>
84838
84839         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
84840         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
84841         protecting things that should be done only in gnulib contexts.
84842         * lib/glob_.h: New file, containing only the glob things needed for
84843         gnulib.
84844         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
84845         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
84846         (glob, globfree, glob_pattern_p): Now defined simply in terms of
84847         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
84848         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
84849         and to respect the namespace rules better.
84850
84851 2005-09-08  Simon Josefsson  <jas@extundo.com>
84852
84853         * modules/socklen: New file.
84854
84855 2005-09-08  Simon Josefsson  <jas@extundo.com>
84856
84857         * m4/socklen.m4: New file.
84858
84859 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84860
84861         * modules/utimens (Files): Add m4/utimbuf.m4, since
84862         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
84863         Reported by Sergey Poznyakoff.
84864
84865 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84866
84867         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
84868         definitions, since that's the preferred style in glibc.
84869         Fix a minor spacing issue, and update copyright notice to match
84870         glibc's.
84871
84872 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84873
84874         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
84875
84876 2005-09-06  Simon Josefsson  <jas@extundo.com>
84877
84878         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
84879         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
84880
84881 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84882
84883         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
84884         warning.
84885
84886 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84887
84888         * config/srclist.txt: Add glibc bug 1302.
84889
84890 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
84891
84892         Change bitset word type from unsigned int to unsigned long int,
84893         as this has better performance on typical 64-bit hosts.
84894         Port bitset code to hosts with unusual word sizes.
84895         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
84896         (build_collating_symbol):
84897         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
84898         argument is a bitset.  This is merely a style issue, but it makes
84899         it clearer that an entire array is expected.
84900         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
84901         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
84902         Port to the case where bitset_word is not the same as unsigned int.
84903         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84904         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
84905         Likewise.
84906         * lib/regexec.c (check_dst_limits_calc_pos_1,
84907         check_subexp_matching_top):
84908         (build_trtable, group_nodes_into_DFAstates):
84909         Likewise.
84910         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
84911         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
84912         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
84913         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
84914         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
84915         * lib/regcomp.c (optimize_subexps, lower_subexp):
84916         Work even if bitset_word has holes in its bitwise representation.
84917         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
84918         * lib/regexec.c (check_dst_limits_calc_pos_1,
84919         check_subexp_matching_top):
84920         Likewise.
84921         * lib/regex_internal.c (re_string_reconstruct):
84922         Don't assume UCHAR_MAX == 255.
84923         * lib/regex_internal.h (bitset_set_all): Likewise.
84924         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
84925         All uses changed.
84926         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
84927         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
84928         All uses changed.
84929         (BITSET_WORD_MAX): New macro.
84930         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
84931         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
84932         (bitset_empty, bitset_copy):
84933         Prefer sizeof (bitset) to multiplying it out ourselves.
84934         (bitset_not_merge): Remove; unused.
84935         (bitset_contain): Return bool, not unsigned int with one bit on.
84936         All callers changed.
84937         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
84938         alignment than re_node_set; do this by defining a new internal
84939         type struct dests_alloc and using it to allocate memory.
84940
84941 2005-09-05  Bruno Haible  <bruno@clisp.org>
84942
84943         * gnulib-tool (func_import): Fix comparison in handling of symbolic
84944         links.
84945
84946 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
84947
84948         * modules/size_max (Makefile.am): Add size_max.h
84949
84950 2005-09-04  Derek Price  <derek@ximbiot.com>
84951
84952         * gnulib-tool (func_import): Fix reversed $symbolic logic.
84953
84954 2005-09-03  Simon Josefsson  <jas@extundo.com>
84955
84956         * gnulib-tool: Fix typo.
84957
84958 2005-09-03  Simon Josefsson  <jas@extundo.com>
84959
84960         * config/srclist.txt: Add glibc bug 1293.
84961
84962 2005-09-03  Derek Price  <derek@ximbiot.com>
84963
84964         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
84965         From Larry Jones <lawrence.jones@ugs.com>.
84966
84967 2005-09-02  Simon Josefsson  <jas@extundo.com>
84968
84969         * modules/socklen: New file.
84970
84971 2005-09-02  Simon Josefsson  <jas@extundo.com>
84972
84973         * modules/havelib: New module.
84974
84975         * modules/gettext, modules/iconv, modules/lock, modules/readline:
84976         Use havelib.
84977
84978 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84979
84980         Check for arithmetic overflow when calculating sizes, to prevent
84981         some buffer-overflow issues.  These patches are conservative, in the
84982         sense that when I couldn't determine whether an overflow was possible,
84983         I inserted a run-time check.
84984         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
84985         macros.
84986         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
84987         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
84988         (re_xnrealloc, re_x2nrealloc): New inline functions.
84989         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
84990         parse_bracket_exp):
84991         (build_equiv_class, build_charclass): Check for arithmetic overflow
84992         in size expression calculations.
84993         * lib/regex_internal.c (re_string_realloc_buffers):
84994         (build_wcs_upper_buffer, re_node_set_add_intersect):
84995         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
84996         (re_dfa_add_node, register_state): Likewise.
84997         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
84998         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
84999         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
85000         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
85001
85002 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85003
85004         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
85005         m4/ulonglong.m4.  Problem reported by Martin Lambers.
85006
85007 2005-09-02  Bruno Haible  <bruno@clisp.org>
85008
85009         Support for lib vs. lib64 distinction on biarch platforms.
85010         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
85011         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
85012         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
85013
85014 2005-09-02  Bruno Haible  <bruno@clisp.org>
85015
85016         * gnulib-tool (import): In the other first-use case, provide defaults
85017         as well.
85018
85019 2005-09-02  Bruno Haible  <bruno@clisp.org>
85020
85021         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
85022         patches not yet found in the latest gettext release.
85023
85024 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85025
85026         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
85027         to avoid a collision with bits/local_lim.h in glibc.
85028         All uses changed.  Problem reported by Dmitry V. Levin in
85029         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
85030
85031         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
85032         bugs in int versus size_t comparisons.
85033         (re_string_context_at): Fix bug where the code assumed that
85034         Idx is signed.
85035
85036         Use bool where appropriate.
85037         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
85038         All callers changed.
85039         (calc_eclosure_iter): Likewise, for ROOT arg.
85040         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
85041         (build_charclass_op): Likewise, for NON_MATCH arg.
85042         * lib/regex_internal.c (re_string_allocate, re_string_construct):
85043         (re_string_construct_common): Likewise, for ICASE arg.
85044         * lib/regexec.c (re_search_2_stub, re_search_stub):
85045         Likewise, for RET_LEN arg.
85046         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
85047         (set_regs): Likewise, for FL_BACKTRACK arg.
85048         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
85049         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
85050         (calc_eclosure_iter, parse_bracket_exp):
85051         Use bool for internal variables that are booleans.
85052         * lib/regexec.c (re_search_internal, check_matching,
85053         proceed_next_node):
85054         (set_regs, build_sifted_states, sift_states_bkref):
85055         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
85056         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85057         (find_collation_sequence_value):
85058         Likewise.
85059         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
85060         (re_node_set_compare):
85061         Return bool, not int. All callers changed.
85062         * lib/regexec.c (check_halt_node_context, check_dst_limits):
85063         (build_trtable, check_node_accept): Likewise.
85064         * lib/regex_internal.h: Include stdbool.h.
85065
85066         Fix bugs uncovered when converting to bool.
85067         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
85068         failure instead of charging ahead blindly.
85069         * lib/regex_internal.c (register_state): Likewise.
85070         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
85071         for freeing internal storage.
85072         (group_nodes_into_DFA_states): Use unsigned int, not int, for
85073         bitset pieces used as boolean, to avoid undefined behavior
85074         on hosts that do int overflow checking.
85075
85076 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85077
85078         * config/srclist.txt: Add glibc bugs 1285-1287.
85079
85080 2005-09-01  Jim Meyering  <jim@meyering.net>
85081
85082         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
85083         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
85084         Require gl_STAT_MACROS, too.
85085
85086 2005-09-01  Bruno Haible  <bruno@clisp.org>
85087
85088         * gnulib-tool (import): In the first-use case, provide defaults.
85089
85090 2005-09-01  Bruno Haible  <bruno@clisp.org>
85091
85092         * gnulib-tool (func_import): Remove the .tmp files.
85093
85094 2005-09-01  Bruno Haible  <bruno@clisp.org>
85095
85096         * gnulib-tool (func_import): Fix handling of symbolic links.
85097
85098 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85099
85100         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
85101         old glibc regex code mishandles strings longer than 2**31 bytes.
85102         This patch fixes this when the regex code is used in gnulib
85103         (i.e., outside glibc).
85104
85105         This patch should not affect the use of the regex code inside
85106         glibc.  No doubt this problem also needs to be handled for glibc
85107         as well, but the result will be an incompatible change to the
85108         glibc ABI, and the old ABI will have to be supported too.  That
85109         can be the the subject for another patch.
85110
85111         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
85112         governing whether the rest of this patch is active.  By default,
85113         the macro is disabled and the patch has no effect.
85114         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
85115         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
85116         (struct re_pattern_buffer, re_search, re_search_2, re_match):
85117         (re_match_2, re_set_registers): Use the new types.
85118         * lib/regex_internal.h (Idx, re_hashval_t): New types.
85119         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
85120         New macros.
85121         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
85122         (re_string_context_at, bin_tree_t, re_dfastate_t):
85123         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
85124         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
85125         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
85126         (re_string_char_size_at, re_string_wchar_at):
85127         (re_string_elem_size_at):
85128         Use the new types and macros to port to 64-bit hosts.
85129         Use unsigned types for internal values, so that the code
85130         mostly works even for arrays larger than SSIZE_MAX.
85131         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
85132         (search_duplicated_node, calc_eclosure_iter, fetch_number):
85133         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
85134         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
85135         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
85136         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
85137         (calc_inveclosure, parse_dup_op, build_range_exp):
85138         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
85139         (fetch_number, create_token_tree, mark_opt_subexp):
85140         Likewise.
85141         * lib/regex_internal.c (re_string_construct_common,
85142         create_ci_newstate):
85143         (create_cd_newstate, re_string_allocate, re_string_construct):
85144         (re_string_realloc_buffers, build_wcs_upper_buffer):
85145         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85146         (re_string_reconstruct, re_string_peek_byte_case):
85147         (re_string_fetch_byte_case, re_string_context_at):
85148         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85149         (re_node_set_init_copy, re_node_set_add_intersect):
85150         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85151         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85152         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85153         (re_acquire_state, re_acquire_state_context, register_state):
85154         Likewise.
85155         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
85156         search_cur_bkref_entry):
85157         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
85158         (re_search_internal, re_search_2_stub, re_search_stub)
85159         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
85160         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
85161         (update_cur_sifted_state, check_dst_limits):
85162         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85163         (check_subexp_limits, sift_states_bkref, merge_state_array):
85164         (check_subexp_matching_top, get_subexp, get_subexp_sub):
85165         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
85166         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85167         (expand_bkref_cache, check_node_accept_bytes):
85168         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
85169         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
85170         (acquire_init_state_context, check_halt_node_context):
85171         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
85172         (sift_states_backward, clean_state_log_if_needed):
85173         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
85174         (find_recover_state, transit_state_sb, transit_state_mb):
85175         (transit_state_bkref, build_trtable, match_ctx_clean):
85176         Likewise.
85177         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
85178         to work around an assumption that REG_MISSING is negative.
85179
85180         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
85181         (seek_collating_symbol_entry) [defined _LIBC]:
85182         (lookup_collation_sequence_value) [defined _LIBC]:
85183         (build_range_exp, build_collating_symbol) [defined _LIBC]:
85184         Use prototypes rather than old-style function definitions.
85185         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
85186         (transit_state_sb) [0]:
85187         (find_collation_sequence_value) [defined _LIBC]: Likewise.
85188
85189         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
85190         rm_eo.
85191
85192         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
85193         (optimize_subexps, lower_subexp):
85194         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
85195         since the signed shift might overflow.  Use 1u<<31 instead.
85196         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85197         Likewise.
85198         * lib/regexec.c (check_dst_limits_calc_pos_1,
85199         check_subexp_matching_top): Likewise.
85200
85201         * lib/regcomp.c (optimize_subexps, lower_subexp):
85202         Use CHAR_BIT rather than 8, for clarity.
85203         * lib/regexec.c (check_dst_limits_calc_pos_1):
85204         (check_subexp_matching_top): Likewise.
85205         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
85206         have to worry about portability issues when shifting it left.
85207         Remove no-longer-needed test for table_size > 0.
85208         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
85209         in a word, as the resulting behavior is undefined.
85210         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
85211         in one case, a <= should have been an <, and in another case the
85212         whole test was missing.
85213         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
85214         the standard name CHAR_BIT.
85215         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
85216         this is not true on one's complement and signed-magnitude hosts.
85217
85218         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
85219         next_last_offset.
85220         (struct re_dfa_t): Remove unused member states_alloc.
85221         * lib/regcomp.c (init_dfa): Don't initialize unused members.
85222
85223 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85224
85225         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
85226         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
85227         and large-file glibc and in 32-bit large-file Solaris.
85228
85229 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85230
85231         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
85232         lengths fit in regoff_t; this isn't true if regoff_t is the same
85233         width as size_t.
85234         * lib/regex.c (re_search_internal): 5th arg is LAST_START
85235         (= START + RANGE) instead of RANGE.  This avoids overflow
85236         problems when regoff_t is the same width as size_t.
85237         All callers changed.
85238         (re_search_2_stub): Check for overflow when adding the
85239         sizes of the two strings.
85240         (re_search_stub): Check for overflow when adding START
85241         to RANGE; if it occurs, substitute the extreme value.
85242
85243 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85244
85245         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
85246
85247 2005-08-31  Jim Meyering  <jim@meyering.net>
85248
85249         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
85250         a pointer-to-const.
85251         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
85252         (register_state): Likewise.
85253         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
85254         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85255         (group_nodes_into_DFAstates): Likewise.
85256
85257 2005-08-31  Jim Meyering  <jim@meyering.net>
85258
85259         * check-module: Add a FIXME comment.
85260
85261 2005-08-31  Eric Blake  <ebb9@byu.net>
85262
85263         * modules/unistd-safer (Files): Add unistd--.h.
85264         * modules/stdio-safer (Files): Add stdio--.h.
85265
85266 2005-08-31  Derek Price  <derek@ximbiot.com>
85267
85268         * lib/getdelim.c (getdelim): Return EOF on EOF.
85269         Reported by Larry Jones <lawrence.jones@ugs.com>.
85270
85271 2005-08-31  Bruno Haible  <bruno@clisp.org>
85272
85273         Avoid unnecessary diffs in the generated lib/Makefile.am.
85274         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
85275         the generated files.
85276         (func_import): Don't set cmd.
85277
85278 2005-08-31  Bruno Haible  <bruno@clisp.org>
85279
85280         * lib/strstr.c: Include <stddef.h>, for NULL.
85281         * lib/strcasestr.c: Likewise.
85282         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85283
85284 2005-08-31  Bruno Haible  <bruno@clisp.org>
85285
85286         * gnulib-tool: New option --macro-prefix.
85287         (func_import): Use macro_prefix.
85288         (import): Handle option --macro-prefix.
85289
85290 2005-08-31  Bruno Haible  <bruno@clisp.org>
85291
85292         * gnulib-tool (import): Rename most ac_* variables to cached_*.
85293         Also use new variables cached_lgpl, cached_libtool.
85294
85295 2005-08-31  Bruno Haible  <bruno@clisp.org>
85296
85297         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
85298         always instantiating them.
85299
85300 2005-08-31  Bruno Haible  <bruno@clisp.org>
85301
85302         * gnulib-tool (func_import): Read the previous cached settings
85303         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
85304         earlier added by gnulib but are now dropped. Warn when a gnulib file
85305         overwrites a non-gnulib file.
85306
85307 2005-08-31  Bruno Haible  <bruno@clisp.org>
85308
85309         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
85310         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
85311         projects that don't keep autogenerated files in CVS. Put into
85312         actioncmd only the specified modules, not the transitive closure.
85313
85314 2005-08-31  Bruno Haible  <bruno@clisp.org>
85315
85316         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
85317         Create directories that shall be filled.
85318         (import): Don't look for gl_* macros in configure.ac. Recurse across
85319         all directories containing a gnulib-cache.m4 files, if meaningful.
85320
85321 2005-08-31  Bruno Haible  <bruno@clisp.org>
85322
85323         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
85324         (import): Set seen_libtool when we see gl_LIBTOOL.
85325
85326 2005-08-31  Bruno Haible  <bruno@clisp.org>
85327
85328         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
85329         declaration macro definitions from generated gnulib.m4.
85330
85331 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
85332
85333         * lib/iconvme.h: Add prototype for iconv_alloc.
85334
85335 2005-08-29  Simon Josefsson  <jas@extundo.com>
85336
85337         * lib/iconvme.c: Fix errno.
85338
85339 2005-08-29  Bruno Haible  <bruno@clisp.org>
85340
85341         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
85342         that it works when the directory contains spaces.
85343
85344 2005-08-29  Bruno Haible  <bruno@clisp.org>
85345
85346         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
85347
85348 2005-08-29  Bruno Haible  <bruno@clisp.org>
85349
85350         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
85351         Emit more advice.
85352
85353 2005-08-29  Bruno Haible  <bruno@clisp.org>
85354         and Stepan Kasal  <kasal@ucw.cz>
85355
85356         * check-module: If more parameters are given, check each of them
85357         separately; add more exceptions, as noted by Jim Meyering.
85358         (check_module): New procedure.
85359         (%exempt_header): Now contains all exceptions.
85360
85361 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
85362
85363         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
85364
85365 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85366
85367         * lib/iconvme.c: Split iconv_string into iconv_alloc.
85368
85369 2005-08-28  Bruno Haible  <bruno@clisp.org>
85370
85371         * m4/gnulib-tool.m4: New file.
85372
85373 2005-08-27  Jim Meyering  <jim@meyering.net>
85374
85375         * modules/unistd-safer (Files): Add pipe-safer.c.
85376         * modules/fcntl-safer (Files): Add creat-safer.c.
85377
85378 2005-08-27  Jim Meyering  <jim@meyering.net>
85379
85380         * m4/stdlib-safer.m4: New file.  From coreutils.
85381         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
85382         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
85383         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
85384         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
85385         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
85386
85387 2005-08-27  Jim Meyering  <jim@meyering.net>
85388
85389         * lib/fopen-safer.c: Merge minor changes from coreutils.
85390         * lib/dup-safer.c: Likewise.
85391         * lib/fd-safer.c: Likewise.
85392
85393         Merge from coreutils.
85394         * lib/stdio--.h: New file.
85395         * lib/stdlib--.h: New file.
85396         * lib/mkstemp-safer.c: New file.
85397
85398         GNU tar needs these.
85399         * lib/pipe-safer.c: New file.
85400         * lib/creat-safer.c: New file.
85401         * lib/fcntl--.h (creat): Define to creat_safer.
85402         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
85403         * lib/unistd--.h (pipe): Define to pipe_safer.
85404         * lib/unistd-safer.h: Declare pipe_safer.
85405
85406 2005-08-26  Simon Josefsson  <jas@extundo.com>
85407
85408         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
85409         Haible <bruno@clisp.org>.
85410
85411 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
85412
85413         * lib/regex_internal.h: Remove all references to
85414         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
85415         or better.
85416         (bitset_not, bitset_merge, bitset_not_merge):
85417         (bitset_mask, re_string_allocate, re_string_construct):
85418         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
85419         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
85420         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
85421         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
85422         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85423         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85424         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
85425         (re_acquire_state_context):
85426         Remove unnecessary forward decls.
85427         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
85428         Put __attribute at function definition,
85429         now that the function decl has been removed.
85430         * lib/regex_internal.c (re_string_peek_byte_case):
85431         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
85432         Likewise.
85433
85434 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
85435
85436         * m4/regex.m4: Add AC_PREREQ(2.50).
85437         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
85438
85439 2005-08-25  Simon Josefsson  <jas@extundo.com>
85440
85441         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
85442         __fsetlocking.
85443
85444 2005-08-25  Simon Josefsson  <jas@extundo.com>
85445
85446         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
85447         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
85448         GLIBC specific code.
85449
85450 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85451
85452         Make regex safe for g++.  This fixes one real bug (an "err"
85453         that should have been "*err").  g++ problem reported by
85454         Sam Steingold.
85455         * lib/regex_internal.h (re_calloc): New macro, consistent with
85456         re_malloc etc.  All callers of calloc changed to use re_calloc.
85457         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
85458         not int.  All callers changed.
85459         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
85460         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
85461         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
85462         (find_recover_state): Change "err" to "*err"; this fixes what
85463         appears to be a real bug.
85464         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
85465         versus int.
85466
85467 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85468
85469         * modules/regex (Depends-on): Add malloc, since the code
85470         assumes that !malloc(0) means failure.
85471
85472 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85473
85474         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
85475
85476         alloca modernization/simplification for regex.
85477         * lib/regex.c: Remove portability cruft for alloca.  This no longer
85478         needs to be at the start of the file, and can be moved into
85479         regex_internal.h and simplified.
85480         * lib/regex_internal.h: Include <alloca.h>.
85481         (__libc_use_alloca) [!defined _LIBC]: New macro.
85482         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
85483         now works outside glibc.
85484
85485 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85486
85487         * config/srclist.txt: Add glibc bugs 1241, 1245.
85488
85489 2005-08-25  Jim Meyering  <jim@meyering.net>
85490
85491         * lib/open-safer.c: Include <config.h>.
85492         Otherwise, we'd lose LARGEFILE support in any file using
85493         e.g. "fcntl--.h"
85494
85495 2005-08-25  Bruno Haible  <bruno@clisp.org>
85496
85497         * m4/minmax.m4: Require autoconf 2.52.
85498         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
85499         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
85500         alternatives of translit over the alphabet.
85501         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
85502
85503 2005-08-24  Simon Josefsson  <jas@extundo.com>
85504
85505         * tests/test-getpass.c: New file.
85506
85507 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85508
85509         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
85510         for GNU regex features.
85511
85512 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85513
85514         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
85515         * lib/regex.h (regerror): Likewise.
85516
85517         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
85518         requires this.  (The code never needed it.)
85519
85520         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
85521         All uses of recently-renamed identifiers changed to use the new,
85522         POSIX-compliant names.  The code will build and run just fine
85523         without these changes, but it's better to eat our own dog food
85524         and use the standard-conforming names.
85525
85526         * lib/regex.h: Fix a multitude of POSIX name space violations.
85527         These changes have an effect only for programs that define
85528         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
85529         do not change anything for programs compiled in the normal way.
85530         Also, there is no effect on the ABI.
85531
85532         (_REGEX_SOURCE): New macro.
85533         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
85534         defined and _GNU_SOURCE is not; this fixes a name space violation.
85535
85536         Rename the following macros to obey POSIX requirements.
85537         The old names are still visible as macros if _REGEX_SOURCE is defined.
85538         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
85539         RE_BACKSLASH_ESCAPE_IN_LISTS.
85540         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
85541         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
85542         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
85543         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
85544         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
85545         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
85546         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
85547         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
85548         (REG_INTERVALS): renamed from RE_INTERVALS.
85549         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
85550         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
85551         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
85552         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
85553         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
85554         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
85555         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
85556         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
85557         RE_UNMATCHED_RIGHT_PAREN_ORD.
85558         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
85559         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
85560         (REG_DEBUG): renamed from RE_DEBUG.
85561         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
85562         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
85563         unusual, since we can't clash with the POSIX REG_ICASE.
85564         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
85565         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
85566         (REG_NO_SUB): renamed from RE_NO_SUB.
85567         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
85568         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
85569         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
85570         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
85571         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
85572         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
85573         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
85574         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
85575         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
85576         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
85577         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
85578         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
85579         RE_SYNTAX_POSIX_MINIMAL_BASIC.
85580         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
85581         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
85582         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
85583         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
85584         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
85585         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
85586         (REG_FIXED): Renamed from REGS_FIXED.
85587         (REG_NREGS): Renamed from RE_NREGS.
85588
85589         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
85590         of other REG_* macros, since POSIX says the user is allowed to
85591         #undef these macros selectively.
85592
85593         (reg_errcode_t): Update comment stating what other tables need
85594         to be consistent.
85595
85596         Rename the following enum values to obey POSIX requirements.
85597         The old names are still visible as macros.
85598         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
85599         is not defined, since GNU is supposed to be a superset of POSIX as
85600         much as possible, and since we want reg_errcode_t to be a signed
85601         type for implementation consistency.
85602         (_REG_NOERROR): Renamed from REG_NOERROR.
85603         (_REG_NOMATCH): Renamed from REG_NOMATCH.
85604         (_REG_BADPAT): Renamed from REG_BADPAT.
85605         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
85606         (_REG_ECTYPE): Renamed from REG_ECTYPE.
85607         (_REG_EESCAPE): Renamed from REG_EESCAPE.
85608         (_REG_ESUBREG): Renamed from REG_ESUBREG.
85609         (_REG_EBRACK): Renamed from REG_EBRACK.
85610         (_REG_EPAREN): Renamed from REG_EPAREN.
85611         (_REG_EBRACE): Renamed from REG_EBRACE.
85612         (_REG_BADBR): Renamed from REG_BADBR.
85613         (_REG_ERANGE): Renamed from REG_ERANGE.
85614         (_REG_ESPACE): Renamed from REG_ESPACE.
85615         (_REG_BADRPT): Renamed from REG_BADRPT.
85616         (_REG_EEND): Renamed from REG_EEND.
85617         (_REG_ESIZE): Renamed from REG_ESIZE.
85618         (_REG_ERPAREN): Renamed from REG_ERPAREN.
85619         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
85620         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
85621         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
85622         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
85623
85624         (_REG_RE_NAME, _REG_RM_NAME): New macros.
85625         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
85626         changed.  But support the old name if the new one is not defined
85627         and if _REGEX_SOURCE.
85628
85629         Change the following member names in struct re_pattern_buffer.
85630         The old names are still supported if !_REGEX_SOURCE.
85631         The new names are always supported, regardless of _REGEX_SOURCE.
85632         (re_buffer): Renamed from buffer.
85633         (re_allocated): Renamed from allocated.
85634         (re_used): Renamed from used.
85635         (re_syntax): Renamed from syntax.
85636         (re_fastmap): Renamed from fastmap.
85637         (re_translate): Renamed from translate.
85638         (re_can_be_null): Renamed from can_be_null.
85639         (re_regs_allocated): Renamed from regs_allocated.
85640         (re_fastmap_accurate): Renamed from fastmap_accurate.
85641         (re_no_sub): Renamed from no_sub.
85642         (re_not_bol): Renamed from not_bol.
85643         (re_not_eol): Renamed from not_eol.
85644         (re_newline_anchor): Renamed from newline_anchor.
85645
85646         Change the following member names in struct re_registers.
85647         The old names are still supported if !_REGEX_SOURCE.
85648         The new names are always supported, regardless of _REGEX_SOURCE.
85649         (rm_num_regs): Renamed from num_regs.
85650         (rm_start): Renamed from start.
85651         (rm_end): Renamed from end.
85652
85653         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
85654         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
85655         Prepend __ to parameter names.
85656
85657         Undo yesterday's changes.
85658
85659 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85660
85661         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
85662         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
85663         lib/regex.c.
85664
85665 2005-08-24  Jim Meyering  <jim@meyering.net>
85666
85667         Sync from coreutils.
85668         * m4/fcntl-safer.m4: New file.
85669
85670         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
85671         and object files for this module.
85672
85673 2005-08-24  Jim Meyering  <jim@meyering.net>
85674
85675         Sync from coreutils.
85676         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
85677
85678 2005-08-24  Jim Meyering  <jim@meyering.net>
85679
85680         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
85681         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
85682
85683 2005-08-24  Jim Meyering  <jim@meyering.net>
85684
85685         * modules/fcntl-safer: New module.
85686         * modules/fts (Depends-on): Add fcntl-safer.
85687         * MODULES.html.sh (File descriptor based Input/Output):
85688         Add fcntl-safer.
85689
85690 2005-08-24  Bruno Haible  <bruno@clisp.org>
85691
85692         Support for unit test modules.
85693         * modules/README: Mention tests modules.
85694         * modules/TEMPLATE-TESTS: New file.
85695         * gnulib-tool: New options --extract-tests-module, --with-tests and
85696         --tests-base (unused for the moment).
85697         (testsbase, inctests): New variables.
85698         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
85699         (func_verify_module): Exclude TEMPLATE-TESTS.
85700         (func_verify_nontests_module, func_verify_tests_module): New functions.
85701         (func_get_dependencies): Add implicit dependency for tests modules.
85702         (func_get_tests_module): New function.
85703         (func_modules_transitive_closure): When --with-tests was specified,
85704         include the unit tests as well, unless explicitly avoided.
85705         (func_emit_lib_Makefile_am): Ignore the tests modules here.
85706         (func_emit_tests_Makefile_am): New function.
85707         (func_create_testdir): When --with-tests was specified, emit a
85708         tests/ directory.
85709         * MODULES.html.sh (Future developments): Update.
85710
85711 2005-08-24  Bruno Haible  <bruno@clisp.org>
85712
85713         * modules/tls-tests: New file.
85714         * tests/test-tls.c: New file, from GNU gettext.
85715
85716 2005-08-24  Bruno Haible  <bruno@clisp.org>
85717
85718         * modules/lock-tests: New file.
85719         * tests/test-lock.c: New file, from GNU gettext.
85720
85721 2005-08-24  Bruno Haible  <bruno@clisp.org>
85722
85723         * lib/lock.h: Add multiple inclusion guard.
85724         * lib/tls.h: Add multiple inclusion guard.
85725
85726 2005-08-24  Bruno Haible  <bruno@clisp.org>
85727
85728         * gnulib-tool: Add support for the --aux-dir option to
85729         --create-testdir, --create-megatestdir, --test, --megatest.
85730         (func_create_testdir, func_create_megatestdir): Optionally emit a
85731         AC_CONFIG_AUX_DIR directive.
85732         (create-testdir, create-megatestdir, test, megatest): Provide a
85733         default value for $auxdir.
85734
85735 2005-08-24  Bruno Haible  <bruno@clisp.org>
85736
85737         * gnulib-tool (import): Use compound statement instead of subshell
85738         where possible.
85739
85740 2005-08-24  Bruno Haible  <bruno@clisp.org>
85741
85742         * gnulib-tool (import): Change --aux-dir default to "build-aux".
85743
85744 2005-08-24  Bruno Haible  <bruno@clisp.org>
85745
85746         * gnulib-tool (func_version): Update.
85747
85748 2005-08-24  Bruno Haible  <bruno@clisp.org>
85749
85750         * gnulib-tool (func_import, func_create_testdir,
85751         func_create_megatestdir): Quote all autoconf macro arguments.
85752
85753 2005-08-24  Bruno Haible  <bruno@clisp.org>
85754
85755         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
85756         option --force, because --force causes the aclocal.m4 of each
85757         subdirectory to be newer than the corresponding config.h.in.
85758
85759 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85760
85761         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
85762         All contents moved to gl_REGEX.
85763         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
85764         assume that it does.
85765
85766 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85767
85768         * lib/regex.h (REG_NOSYS)
85769         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
85770         Define, since POSIX requires it as of 2001.
85771         (_REG_ENOSYS)
85772         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
85773         New private symbol, used to keep the enum signed in all cases.
85774         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
85775         Youngman in
85776         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
85777
85778         * lib/regex_internal.c (re_string_skip_chars, register_state):
85779         (calc_state_hash):
85780         Remove forward decls; no longer needed now that we use prototypes.
85781         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
85782         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
85783         (clean_state_log_if_needed): Likewise.
85784
85785 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85786
85787         * config/srclist.txt: Add glibc bugs 1231-1233.
85788
85789 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85790
85791         Fix problems reported by Sam Steingold in
85792         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
85793         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
85794         assumed that reg_errcode_t is a signed type, which is not
85795         necessarily true if _XOPEN_SOURCE is not defined.
85796         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
85797         since some compilers warn about it otherwise.
85798
85799 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85800
85801         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
85802         (init_word_char, create_initial_state, duplicate_node_closure):
85803         (fetch_token, peek_token_bracket, build_range_exp):
85804         (build_collating_symbol): Remove forward decls; no longer needed
85805         now that we use prototypes.
85806
85807         * lib/regcomp.c:
85808         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
85809         (re_compile_fastmap_iter, regcomp, regerror, regfree):
85810         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
85811         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
85812         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
85813         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
85814         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
85815         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
85816         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
85817         (build_range_exp, build_collating_symbol, parse_bracket_exp):
85818         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
85819         (build_charclass, build_charclass_op, fetch_number, create_tree):
85820         (create_token_tree, mark_opt_subexp, duplicate_tree):
85821         Use prototypes rather than old-style definitions.
85822
85823         * lib/regex_internal.c:
85824         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
85825         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
85826         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85827         (re_string_reconstruct, re_string_peek_byte_case):
85828         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
85829         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85830         (re_node_set_init_copy, re_node_set_add_intersect):
85831         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85832         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85833         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85834         (re_acquire_state, re_acquire_state_context, register_state):
85835         (create_ci_newstate, create_cd_newstate, free_state):
85836         Likewise.
85837         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
85838         re_search_2):
85839         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
85840         (re_search_internal, prune_impossible_nodes):
85841         (acquire_init_state_context, check_matching, static):
85842         (check_halt_node_context, check_halt_state_context, proceed_next_node):
85843         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
85844         (update_regs, sift_states_backward, build_sifted_states):
85845         (clean_state_log_if_needed, merge_state_array):
85846         (update_cur_sifted_state, add_epsilon_src_nodes):
85847         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
85848         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
85849         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
85850         (find_recover_state, check_subexp_matching_top, transit_state_mb):
85851         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
85852         (check_arrival, check_arrival_add_next_nodes):
85853         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85854         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85855         (check_node_accept_bytes, check_node_accept, extend_buffers):
85856         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
85857         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
85858         (sift_ctx_init):
85859         Likewise.
85860
85861         * lib/regex_internal.h:
85862         (re_string_allocate, re_string_construct, re_string_reconstruct):
85863         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
85864         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
85865         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
85866         (re_string_context_at, re_string_peek_byte_case):
85867         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
85868         is defined, since we now use prototypes always.
85869
85870         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
85871         C89 or better.  All uses removed.
85872
85873 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85874
85875         * config/srclist.txt: Add glibc bugs 1220-1227.
85876
85877 2005-08-20  Jim Meyering  <jim@meyering.net>
85878
85879         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
85880         of unused local, dfa.
85881
85882 2005-08-20  Bruno Haible  <bruno@clisp.org>
85883
85884         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
85885
85886 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85887
85888         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
85889         (re_node_set_insert_last, re_dfa_add_node):
85890         Rename local variables to avoid GCC shadowing warnings.
85891
85892 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85893
85894         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
85895         [defined lint]: Suppress bogus uninitialized-variable warnings.
85896
85897         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
85898         and let the caller return REG_ESPACE if out of space.  This
85899         removes an uninitialied-variable warning with GCC 4.0.1, and also
85900         avoids taking the address of a local variable.  All callers
85901         changed.
85902
85903 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85904
85905         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
85906         $LIBCSRC/posix/regexec.c.
85907         Add glibc bug 1217 for regcomp.c.
85908
85909 2005-08-19  Jim Meyering  <jim@meyering.net>
85910
85911         * lib/regexec.c (proceed_next_node): Redo local variables to
85912         avoid GCC shadowing warnings.
85913
85914 2005-08-18  Bruno Haible  <bruno@clisp.org>
85915
85916         * lib/strstr.c (strstr): Fix return value in multibyte case.
85917         * lib/strcasestr.c (strcasestr): Likewise.
85918
85919 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85920
85921         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
85922
85923 2005-08-17  Jim Meyering  <jim@meyering.net>
85924
85925         Make the %s format (seconds since the epoch) work for a negative
85926         number and when used with a zero-padded field width, e.g. %015s.
85927
85928         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
85929         label so that it precedes the code to set `digits'.  Otherwise,
85930         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
85931         print `00-22'.  Now, it prints `-0022', as it should.
85932
85933 2005-08-17  Bruno Haible  <bruno@clisp.org>
85934
85935         * modules/strstr (Files): Add m4/mbrtowc.m4.
85936         (Depends-on): Add mbuiter.
85937
85938 2005-08-17  Bruno Haible  <bruno@clisp.org>
85939
85940         * modules/strcasestr: New file.
85941         * MODULES.html.sh (String handling, based on ANSI C 89): Add
85942         strcasestr.
85943
85944 2005-08-17  Bruno Haible  <bruno@clisp.org>
85945
85946         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
85947
85948 2005-08-17  Bruno Haible  <bruno@clisp.org>
85949
85950         * modules/mbuiter: New file.
85951         * MODULES.html.sh (Extended multibyte and wide character utilities):
85952         Add mbuiter.
85953
85954 2005-08-17  Bruno Haible  <bruno@clisp.org>
85955
85956         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
85957         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
85958
85959 2005-08-17  Bruno Haible  <bruno@clisp.org>
85960
85961         * m4/strcasestr.m4: New file.
85962
85963 2005-08-17  Bruno Haible  <bruno@clisp.org>
85964
85965         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
85966         * lib/strstr.c: Completely rewritten, with multibyte locale support.
85967
85968 2005-08-17  Bruno Haible  <bruno@clisp.org>
85969
85970         * lib/strcasestr.h: New file.
85971         * lib/strcasestr.c: New file.
85972
85973 2005-08-17  Bruno Haible  <bruno@clisp.org>
85974
85975         * lib/strcasecmp.c: Use mbuiter.h.
85976
85977 2005-08-17  Bruno Haible  <bruno@clisp.org>
85978
85979         * lib/mbuiter.h: New file.
85980
85981 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
85982
85983         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
85984         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
85985         and gl_GETOPT are both invoked via different paths (as happens
85986         with GNU tar CVS because it uses both argp and getopt), the former
85987         wins.
85988
85989 2005-08-16  Bruno Haible  <bruno@clisp.org>
85990
85991         * modules/tls: New file.
85992         * MODULES.html.sh (Multithreading): Add tls.
85993
85994 2005-08-16  Bruno Haible  <bruno@clisp.org>
85995
85996         * modules/strnlen1: New file.
85997         * MODULES.html.sh (String handling): Add strnlen1.
85998
85999 2005-08-16  Bruno Haible  <bruno@clisp.org>
86000
86001         * modules/strcase (Files): Add m4/mbrtowc.m4.
86002         (Depends-on): Add strnlen1, mbchar.
86003
86004 2005-08-16  Bruno Haible  <bruno@clisp.org>
86005
86006         * modules/mbiter: New file.
86007         * MODULES.html.sh (Extended multibyte and wide character utilities):
86008         Add mbiter.
86009
86010 2005-08-16  Bruno Haible  <bruno@clisp.org>
86011
86012         * modules/mbfile: New file.
86013         * MODULES.html.sh (Extended multibyte and wide character utilities):
86014         Add mbfile.
86015
86016 2005-08-16  Bruno Haible  <bruno@clisp.org>
86017
86018         * modules/mbchar: New file.
86019         * MODULES.html.sh (Extended multibyte and wide character utilities):
86020         New section.
86021
86022 2005-08-16  Bruno Haible  <bruno@clisp.org>
86023
86024         * m4/tls.m4: New file, from GNU gettext.
86025
86026 2005-08-16  Bruno Haible  <bruno@clisp.org>
86027
86028         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
86029         always.
86030         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
86031
86032 2005-08-16  Bruno Haible  <bruno@clisp.org>
86033
86034         * m4/mbiter.m4: New file.
86035
86036 2005-08-16  Bruno Haible  <bruno@clisp.org>
86037
86038         * m4/mbfile.m4: New file.
86039
86040 2005-08-16  Bruno Haible  <bruno@clisp.org>
86041
86042         * m4/mbchar.m4: New file.
86043
86044 2005-08-16  Bruno Haible  <bruno@clisp.org>
86045
86046         * lib/tls.h: New file, from GNU gettext.
86047         * lib/tls.c: New file, from GNU gettext.
86048
86049 2005-08-16  Bruno Haible  <bruno@clisp.org>
86050
86051         * lib/strnlen1.h: New file.
86052         * lib/strnlen1.c: New file.
86053
86054 2005-08-16  Bruno Haible  <bruno@clisp.org>
86055
86056         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
86057         (mbi_init): Update.
86058         (mbi_avail, mbi_advance): Let the iteration end before the terminating
86059         NUL byte, not after it.
86060
86061 2005-08-16  Bruno Haible  <bruno@clisp.org>
86062
86063         * lib/strcase.h (strcasecmp): Add note in comments.
86064         * lib/strncasecmp.c: Use code from strcasecmp.c.
86065         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
86066         (strcasecmp): Work correctly in multibyte locales.
86067
86068 2005-08-16  Bruno Haible  <bruno@clisp.org>
86069
86070         * lib/mbiter.h: New file.
86071
86072 2005-08-16  Bruno Haible  <bruno@clisp.org>
86073
86074         * lib/mbfile.h: New file.
86075
86076 2005-08-16  Bruno Haible  <bruno@clisp.org>
86077
86078         * lib/mbchar.h: New file.
86079         * lib/mbchar.c: New file.
86080
86081 2005-08-16  Bruno Haible  <bruno@clisp.org>
86082
86083         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
86084         the valid ones. Makes the comparison operations transitive:
86085         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
86086         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
86087
86088 2005-08-15  Simon Josefsson  <jas@extundo.com>
86089
86090         * modules/ssize_t (License): Change to 'unlimited'.
86091
86092         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
86093
86094 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
86095
86096         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
86097         Add comments for each pending glibc patch.
86098
86099 2005-08-15  Bruno Haible  <bruno@clisp.org>
86100
86101         * lib/regex.h (__restrict_arr): Don't define to __restrict if
86102         __cplusplus is defined.
86103
86104 2005-08-14  Jim Meyering  <jim@meyering.net>
86105
86106         Sync from coreutils.
86107
86108         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
86109         Use the hash-table-based cycle-detection code not just when
86110         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
86111         Reported by James Youngman in
86112         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
86113         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
86114         FTS_TIGHT_CYCLE_CHECK.
86115         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
86116         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
86117         once again.
86118         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
86119         * lib/fts.c (fd_safer): Remove decl.
86120         Include fcntl--.h rather than unistd-safer.h
86121         (fts_safe_changedir): Don't call fd_safer; no longer needed
86122         now that we include fcntl--.h.
86123
86124 2005-08-12  Simon Josefsson  <jas@extundo.com>
86125
86126         * modules/getndelim2: Use ssize_t module.
86127         * modules/getnline: Likewise.
86128         * modules/safe-read: Likewise.
86129         * modules/xreadlink: Likewise.
86130
86131         * modules/ssize_t: New file.
86132
86133 2005-08-12  Simon Josefsson  <jas@extundo.com>
86134
86135         * m4/readline.m4: Look for termcap, curses or ncurses if required.
86136
86137 2005-08-12  Simon Josefsson  <jas@extundo.com>
86138
86139         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86140         ssize_t.
86141
86142 2005-08-12  Simon Josefsson  <jas@extundo.com>
86143
86144         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
86145         readline, getdelim and check_version.
86146         (Support for systems lacking ISO C 99: Sizes of integer types):
86147         Add size_max.
86148
86149 2005-08-12  Bruno Haible  <bruno@clisp.org>
86150
86151         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
86152
86153 2005-08-11  Simon Josefsson  <jas@extundo.com>
86154
86155         * modules/readline: New file.
86156
86157         * modules/strnlen (Files): Add strnlen.h.
86158
86159 2005-08-11  Simon Josefsson  <jas@extundo.com>
86160
86161         * m4/readline.m4: New file.
86162
86163 2005-08-11  Simon Josefsson  <jas@extundo.com>
86164
86165         * lib/readline.h, readline.c: New file.
86166
86167 2005-08-11  Simon Josefsson  <jas@extundo.com>
86168
86169         * doc/gnulib.texi (Initial import, Finishing touches): Mention
86170         gl_AVOID.
86171
86172 2005-08-11  Bruno Haible  <bruno@clisp.org>
86173
86174         * lib/strnlen.h (strnlen): Change parameter name to match comment.
86175
86176 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
86177
86178         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
86179
86180 2005-08-10  Simon Josefsson  <jas@extundo.com>
86181
86182         * tests/test-iconvme.c: New file.
86183
86184 2005-08-10  Simon Josefsson  <jas@extundo.com>
86185
86186         * m4/strnlen.m4: New file.
86187
86188         * m4/strndup.m4: Don't check for strnlen declaration, done in
86189         strnlen.m4.
86190
86191 2005-08-10  Simon Josefsson  <jas@extundo.com>
86192
86193         * lib/strndup.c: Use strnlen.h.
86194
86195         * lib/strnlen.h: New file.
86196
86197 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
86198
86199         * README: Typos.
86200
86201 2005-08-02  Simon Josefsson  <jas@extundo.com>
86202
86203         * modules/readline: New file.
86204
86205 2005-08-02  Simon Josefsson  <jas@extundo.com>
86206
86207         * modules/getdelim: New file.
86208
86209         * modules/getline: Rewrite, don't use getndelim2.
86210
86211 2005-08-02  Simon Josefsson  <jas@extundo.com>
86212
86213         * m4/getline.m4: Separate out getdelim stuff into separate module.
86214
86215         * m4/getdelim.m4: New file.
86216
86217 2005-08-02  Simon Josefsson  <jas@extundo.com>
86218
86219         * lib/getline.h, getline.c: Rewrite.
86220
86221         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
86222
86223 2005-07-31  Bruno Haible  <bruno@clisp.org>
86224
86225         * lib/lock.h (gl_lock_initializer): New macro.
86226         (gl_lock_define_initialized): Use it.
86227         (gl_rwlock_initializer): New macro.
86228         (gl_rwlock_define_initialized): Use it.
86229         (gl_recursive_lock_initializer): New macro.
86230         (gl_recursive_lock_define_initialized): Use it.
86231
86232 2005-07-30  Karl Berry  <karl@gnu.org>
86233
86234         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
86235         Report from Ben Pfaff, regarding getopt.
86236
86237 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
86238
86239         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
86240         normal way.
86241         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
86242         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
86243         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
86244         (gl_GETOPT): Use the new macros.  Most of the implementation
86245         is moved to the new macros.  This is for programs like Emacs
86246         that don't want all the functionality of gl_GETOPT.
86247
86248 2005-07-26  Bruno Haible  <bruno@clisp.org>
86249
86250         * m4/lock.m4: Update from GNU gettext.
86251
86252 2005-07-26  Bruno Haible  <bruno@clisp.org>
86253
86254         * lib/lock.h: Update from GNU gettext.
86255         * lib/lock.c: Update from GNU gettext.
86256
86257 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
86258
86259         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
86260         obsolescent AC_TRY_RUN.  Include the default includes files, for
86261         'exit'.
86262
86263 2005-07-24  Bruno Haible  <bruno@clisp.org>
86264
86265         * modules/visibility: New file.
86266         * MODULES.html.sh (Misc): Add visibility.
86267
86268 2005-07-24  Bruno Haible  <bruno@clisp.org>
86269
86270         * m4/visibility.m4: New file.
86271
86272 2005-07-24  Bruno Haible  <bruno@clisp.org>
86273
86274         * doc/visibility.texi: New file.
86275
86276 2005-07-22  Bruno Haible  <bruno@clisp.org>
86277
86278         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
86279         $(ALLOCA_H), redundant through BUILT_SOURCES.
86280         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
86281         redundant through BUILT_SOURCES.
86282         * modules/byteswap (Makefile.am): Remove explicit dependency on
86283         $(BYTESWAP_H), redundant through BUILT_SOURCES.
86284         * modules/fnmatch (Makefile.am): Remove explicit dependency on
86285         $(FNMATCH_H), redundant through BUILT_SOURCES.
86286         * modules/getopt (Makefile.am): Remove explicit dependency on
86287         $(GETOPT_H), redundant through BUILT_SOURCES.
86288         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
86289         redundant through BUILT_SOURCES.
86290         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
86291         redundant through BUILT_SOURCES.
86292         * modules/stdbool (Makefile.am): Remove explicit dependency on
86293         $(STDBOOL_H), redundant through BUILT_SOURCES.
86294         * modules/stdint (Makefile.am): Remove explicit dependency on
86295         $(STDINT_H), redundant through BUILT_SOURCES.
86296         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
86297         Remove explicit dependency on $(SYSEXITS_H).
86298         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
86299
86300 2005-07-18  Simon Josefsson  <jas@extundo.com>
86301
86302         * lib/check-version.c (check_version): Accept identical versions too.
86303
86304 2005-07-18  Bruno Haible  <bruno@clisp.org>
86305
86306         * modules/lock: New file.
86307         * MODULES.html.sh (Multithreading): New section.
86308
86309 2005-07-18  Bruno Haible  <bruno@clisp.org>
86310
86311         * m4/lock.m4: New file, from GNU gettext.
86312
86313 2005-07-18  Bruno Haible  <bruno@clisp.org>
86314
86315         * lib/lock.h: New file, from GNU gettext.
86316         * lib/lock.c: New file, from GNU gettext.
86317
86318 2005-07-18  Bruno Haible  <bruno@clisp.org>
86319
86320         * lib/lock.h (gl_once_t): New type.
86321         (gl_once_define, gl_once): New macros.
86322         * lib/lock.c (fresh_once): New variable.
86323         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
86324         functions.
86325
86326 2005-07-16  Simon Josefsson  <jas@extundo.com>
86327
86328         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
86329         workaround, suggested by Bruno.
86330
86331 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86332
86333         * modules/xalloc (Depends-on): Add xalloc-die.
86334         * modules/xvasprintf (Depends-on): Add xalloc-die.
86335
86336 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86337
86338         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
86339         with a minor change.
86340
86341 2005-07-15  Bruno Haible  <bruno@clisp.org>
86342
86343         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
86344         When using lib/poll.c, define poll as rpl_poll.
86345
86346 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
86347
86348         * modules/argp (Depends-on): Remove unlocked-io.
86349
86350 2005-07-14  Derek Price  <derek@ximbiot.com>
86351
86352         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
86353         for glob symlink bug.
86354
86355 2005-07-14  Bruno Haible  <bruno@clisp.org>
86356
86357         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
86358         Instead, test for *_unlocked function declarations directly.
86359
86360 2005-07-11  Simon Josefsson  <jas@extundo.com>
86361
86362         * modules/size_max: New file.
86363
86364         * modules/xsize: Depend on size_max module for size_max.m4.
86365
86366 2005-07-11  Simon Josefsson  <jas@extundo.com>
86367
86368         * lib/size_max.h: New file.
86369
86370 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
86371
86372         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
86373         copyright symbol and the year.
86374         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
86375         (version_etc_va): Use parameterized copyright notice.
86376         Reword to conform to the current GNU coding standards.
86377
86378 2005-07-11  Karl Berry  <karl@gnu.org>
86379
86380         * doc/gnulib.texi (Quoting): new node.
86381         (Initial import): more info, from Patrice.
86382
86383 2005-07-11  Bruno Haible  <bruno@clisp.org>
86384
86385         * gnulib-tool (func_usage): Document option --avoid.
86386         (Command line options): Handle --avoid.
86387         (func_acceptable): New function.
86388         (func_modules_transitive_closure): Use it.
86389
86390 2005-07-11  Bruno Haible  <bruno@clisp.org>
86391
86392         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
86393         Reported by Jim Meyering.
86394
86395 2005-07-10  Bruno Haible  <bruno@clisp.org>
86396
86397         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
86398         Needed when size_t is smaller than 'unsigned int'.
86399         Reported by Paul Eggert.
86400
86401 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86402
86403         * modules/argp (Depends-on): Add unlocked-io
86404
86405 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86406
86407         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
86408         block of defines.
86409
86410 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
86411
86412         * config/srclist.txt: Comment out regcomp.c, since we have a porting
86413         fix now.
86414
86415 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
86416         and Paul Eggert  <eggert@cs.ucla.edu>
86417
86418         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
86419         in wint_t, not wchar_t.  Remove now-unnecessary cast.
86420
86421 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86422
86423         * modules/regex (Files): Add lib/regex_internal.c,
86424         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
86425         (Depends-on): Add extensions.
86426         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
86427
86428 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86429
86430         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
86431         pathconf.
86432         * m4/same.m4 (gl_SAME): Likewise.
86433         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
86434
86435         * m4/regex.m4: Adjust to new libc regex implementation.
86436         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
86437         all the .c and .h parts of (the new) regex.
86438         Quote the m4 stuff better.
86439         Check for RE_ICASE bug of old gnulib.
86440         Check for REG_STARTEND of recent libc.
86441         Rename local variables from jm_* to gl_*.
86442         Quote operand of "test -f".
86443         Say "recent enough" version of libc, not "version 2".
86444         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
86445         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
86446         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
86447         Remove check for btowc, isascii.
86448         Require AM_LANGINFO_CODESET.
86449
86450 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86451
86452         * lib/regex.c, regex.h: Sync from libc.
86453         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
86454         * lib/regexec.c:
86455         New files, synced from libc, except that regex_internal.h
86456         currently has a small porting fix.
86457
86458 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86459
86460         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
86461         regex_internal.c, regexec.c.
86462         Add regex_internal.h too, but as a comment, since the libc version
86463         is currently broken in gnulib mode.
86464
86465 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
86466
86467         Support programs like Emacs that use gnulib but not gettext.
86468         * MODULES.html.sh (Internationalization functions): Add gettext-h.
86469         * modules/gettext-h: New file.
86470         * modules/gettext (Files): Remove lib/gettext.h.
86471         (Depends-on): Add gettext-h.
86472         (Makefile.am): Remove lib_SOURCES.
86473         * modules/argmatch, modules/c-stack, modules/closeout:
86474         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
86475         * modules/execute, modules/file-type, modules/getaddrinfo:
86476         * modules/getopt, modules/human, modules/javacomp:
86477         * modules/javaexec, modules/mkdir-p, modules/obstack:
86478         * modules/openat, modules/pagealign_alloc, modules/pipe:
86479         * modules/quotearg, modules/regex, modules/rpmatch:
86480         * modules/unicodeio, modules/userspec, modules/version-etc:
86481         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
86482         * modules/xsetenv:
86483         Depend on gettext-h, not gettext.
86484
86485 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
86486
86487         * gnulib-tool (func_import): Add support for 'public domain' license.
86488         * modules/alloca, modules/atexit, modules/memmove:
86489         Now public domain, not GPL.
86490         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
86491         * modules/realloc, modules/strerror, modules/strtod:
86492         Now LGPL, not GPL.
86493
86494 2005-07-05  Bruno Haible  <bruno@clisp.org>
86495
86496         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
86497         autoconf CVS. Needed for mingw.
86498
86499 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86500
86501         Remove the dependency of the strftime module on the tzset module.
86502         * modules/strftime (Depends-on): Remove dependency on tzset.
86503
86504 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86505
86506         Remove the dependency of the strftime module on the tzset module.
86507         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
86508         gl_FUNC_TZSET_CLOBBER.
86509
86510 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86511
86512         Remove the dependency of the strftime module on the tzset module.
86513         * lib/strftime.c (my_strftime)
86514         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
86515         Copy the input structure, to work around some of the bug with
86516         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
86517         Solaris releases, you should also use the tzset module, but we won't
86518         require it as a dependency any more since we don't want LGPLed code
86519         to depend on GPLed code.
86520
86521 2005-07-02  Jim Meyering  <jim@meyering.net>
86522
86523         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
86524         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
86525         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
86526         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
86527
86528 2005-07-02  Jim Meyering  <jim@meyering.net>
86529
86530         * lib/backupfile.c (backup_args): Change a `0' to NULL.
86531
86532 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
86533
86534         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
86535         declares only 'struct timespec;' (!).
86536
86537 2005-07-01  Jim Meyering  <jim@meyering.net>
86538
86539         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
86540         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
86541         * lib/save-cwd.c, tempname.c:
86542         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
86543         and don't include <sys/file.h>).
86544
86545 2005-06-29  Jim Meyering  <jim@meyering.net>
86546
86547         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
86548         type name.  Use the variable name instead.
86549         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
86550         Likewise.
86551
86552 2005-06-28  Simon Josefsson  <jas@extundo.com>
86553
86554         * modules/check-version (Files): Add check-version.m4.
86555
86556 2005-06-28  Simon Josefsson  <jas@extundo.com>
86557
86558         * m4/check-version.m4: New file, suggested by Jim Meyering
86559         <jim@meyering.net>.
86560
86561 2005-06-28  Simon Josefsson  <jas@extundo.com>
86562
86563         * lib/check-version.h, lib/check-version.c: New files.
86564
86565 2005-06-28  Simon Josefsson  <jas@extundo.com>
86566
86567         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
86568         collision with global variable.  Better indentation.  Don't
86569         increment buffer pointer beyond buffer end.  Based on comments
86570         from Paul Eggert <eggert@cs.ucla.edu>.
86571
86572         * lib/base64.h: Indent.
86573
86574 2005-06-28  Simon Josefsson  <jas@extundo.com>
86575
86576         * doc/gnulib.texi (Library version handling): New section.
86577
86578 2005-06-28  Jim Meyering  <jim@meyering.net>
86579
86580         * check-module (find_included_lib_files): Hard-code another
86581         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
86582         but modules/fts-lgpl (correctly) does not list those files.
86583
86584         * modules/canonicalize (Files): Add lib/pathmax.h.
86585
86586 2005-06-25  Simon Josefsson  <jas@extundo.com>
86587
86588         * modules/check-version: New file.
86589
86590 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
86591
86592         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
86593         initializer of struct addrinfo, as an indication that we don't
86594         care how many members the structure has.
86595
86596 2005-06-24  Derek Price  <derek@ximbiot.com>
86597         and Bruno Haible  <bruno@clisp.org>
86598
86599         Remove stat module & update lstat.
86600         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
86601         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86602         * m4/stat.m4: Remove this file.
86603
86604 2005-06-24  Derek Price  <derek@ximbiot.com>
86605         and Bruno Haible  <bruno@clisp.org>
86606
86607         Remove stat module & update lstat.
86608         * lib/stat.c: Remove this file...
86609         (slash_aware_lstat): ...moving this content and its support...
86610         * lib/lstat.c (rpl_lstat): ...into here.
86611         * lib/lstat.h: New file.
86612
86613 2005-06-24  Derek Price  <derek@ximbiot.com>
86614         and Bruno Haible  <bruno@clisp.org>
86615
86616         Remove stat module & update lstat.
86617         * config/srclist.txt (libc sources): Remove stat.
86618
86619 2005-06-24  Derek Price  <derek@ximbiot.com>
86620         and Bruno Haible  <bruno@clisp.org>
86621
86622         Remove stat module & update lstat.
86623         * MODULES.html.sh (stat): Remove.
86624         * MODULES.html: Regenerated.
86625         * modules/lstat (Description): Correct function name.
86626         (Files): Add "lstat.h".
86627         (Depends-on): Remove stat, add xalloc, stat-macros.
86628         * modules/stat: Remove this file.
86629         (Include): Add "lstat.h", remove <sys/stat.h>.
86630
86631 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86632
86633         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
86634         (ranged_convert): Don't save conversion in a temporary struct.
86635         This causes a warning with GCC 4.0.0, and anyway in the typical
86636         case it's not worth the extra 100 bytes or so of code.
86637         (ranged_convert, __mktime_internal): When calling a function via a
86638         pointer P, use P () rather than (*P) (), as we now assume C89 or
86639         better.
86640
86641 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86642
86643         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
86644         "who -r" failed to give output.  Problem reported by Tim Waugh.
86645
86646         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
86647         (xcalloc): Use it to avoid needless tests.
86648         Problem reported by Jim Meyering.
86649
86650 2005-06-20  Derek Price  <derek@ximbiot.com>
86651
86652         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
86653         unnecessary for Autoconfs > 2.59c.
86654
86655 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86656
86657         * lib/argp.h (__option_is_short): Check upper limit of
86658         __key. Isprint() requires its argument to have the value
86659         of an unsigned char or EOF.
86660
86661 2005-06-16  Jim Meyering  <jim@meyering.net>
86662
86663         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
86664         when either N or S is zero.
86665
86666 2005-06-16  Derek Price  <derek@ximbiot.com>
86667
86668         * m4/bison.m4: Declare YACC & YFLAGS precious.
86669
86670 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
86671
86672         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
86673         multibyte string or pattern, fall back on unibyte matching.
86674         Problem reported by James Youngman.
86675
86676 2005-06-08  Bruno Haible  <bruno@clisp.org>
86677
86678         * modules/csharpcomp: New file.
86679         * MODULES.html.sh (C#): Add csharpcomp.
86680
86681 2005-06-08  Bruno Haible  <bruno@clisp.org>
86682
86683         * m4/csharpcomp.m4: New file, from GNU gettext.
86684
86685 2005-06-08  Bruno Haible  <bruno@clisp.org>
86686
86687         * lib/csharpcomp.h: New file, from GNU gettext.
86688         * lib/csharpcomp.c: New file, from GNU gettext.
86689         * lib/csharpcomp.sh.in: New file, from GNU gettext.
86690
86691 2005-06-08  Bruno Haible  <bruno@clisp.org>
86692
86693         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
86694         warning on mingw.
86695
86696 2005-06-07  Derek Price  <derek@ximbiot.com>
86697
86698         Sync from CVS.
86699         * lib/glob_.h: Indent nested #ifdef.
86700
86701 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86702
86703         Sync from coreutils.
86704         Use "file name" when talking about file names, instead of "filename"
86705         or "path", as per the GNU coding standards.
86706         * lib/mkdir-p.c: Renamed from makepath.c.
86707         (make_dir_parents): Renamed from make_path.  All callers changed.
86708         * lib/mkdir-p.h: Likewise.  All includers changed.
86709         * lib/filenamecat.c: Renamed from path-concat.c.
86710         (file_name_concat): Renamed from path_concat.  All callers changed.
86711         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
86712         * lib/filenamecat.h: Likewise.  All includers changed.
86713         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
86714         in comments or local variable names.
86715         * lib/basename.c: Likewise.
86716         * lib/canonicalize.c, canonicalize.h: Likewise.
86717         * lib/dirname.c, dirname.h: Likewise.
86718         * lib/euidaccess.c: Likewise.
86719         * lib/exclude.c: Likewise
86720         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
86721         * lib/fsusage.c, fsuage.h: Likewise.
86722         * lib/fts.c, fts_.h: Likewise.
86723         * lib/getcwd.c: Likewise.
86724         * lib/getloadavg.c: Likewise.
86725         * lib/mkstemp.c: Likewise.
86726         * lib/mountlist.c, mountlist.h: Likewise.
86727         * lib/openat.c, openat.h: Likewise.
86728         * lib/readlink-stub.c: Likewise.
86729         * lib/readutmp.c, readutmp.h: Likewise.
86730         * lib/rename.c: Likewise.
86731         * lib/rmdir.c: Likewise.
86732         * lib/same.c: Likewise.
86733         * lib/savedir.c: Likewise.
86734         * lib/stripslash.c: Likewise.
86735         * lib/tempname.c: Likewise.
86736         * lib/xreadlink.c: Likewise.
86737         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
86738         All uses changed.
86739         * lib/exclude.h: Likewise.
86740
86741         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
86742         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86743         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
86744         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86745         * lib/pathmax.h: Include <limits.h> unconditionally, since other
86746         files have been getting away with it for years (MORE/BSD 4.3
86747         is extinct now).
86748         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
86749         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86750
86751         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
86752         Define to 256, not 255, as per modern POSIX.
86753
86754 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86755
86756         Sync from coreutils.
86757         Use "file name" when talking about file names, instead of "filename"
86758         or "path", as per the GNU coding standards.
86759         * MODULES.html.sh: mkdir-p renamed from makepath.
86760         filenamecat renamed from path-concat.
86761         * modules/filenamecat: Renamed from modules/path-concat.
86762         (Files): filenamecat.h and filenamecat.c renamed from
86763         path-concat.h and path-concat.c.
86764         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
86765         (Include): filenamecat.h, not path-concat.h.
86766         * modules/mkdir-p: Renamed from modules/makepath.
86767         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
86768         makepath.c.
86769         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
86770         (Include): mkdir-p.h, not makepath.h.
86771
86772 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86773
86774         Sync from coreutils.
86775         * m4/mkdir-p.m4: Renamed from makepath.m4.
86776         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
86777         Rename files from makepath.c to mkdir-p.c, and from
86778         makepath.h to mkdir-p.h.
86779         * m4/filenamecat.m4: Renamed from path-concat.m4.
86780         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
86781         Rename files from path-concat.c to filenamecat.c,
86782         and from path-concat.h to filenamecat.h.
86783         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
86784         "file name" in local variables or comments.
86785         * m4/rename.m4: Likewise.
86786
86787 2005-06-01  Bruno Haible  <bruno@clisp.org>
86788
86789         * modules/csharpexec: New file.
86790         * MODULES.html.sh (C#): New section.
86791
86792 2005-06-01  Bruno Haible  <bruno@clisp.org>
86793
86794         * m4/csharp.m4: New file, from GNU gettext.
86795         * m4/csharpexec.m4: New file, from GNU gettext.
86796
86797 2005-06-01  Bruno Haible  <bruno@clisp.org>
86798
86799         * lib/csharpexec.h: New file, from GNU gettext.
86800         * lib/csharpexec.c: New file, from GNU gettext.
86801         * lib/csharpexec.sh.in: New file, from GNU gettext.
86802
86803 2005-05-31  Derek Price  <derek@ximbiot.com>
86804             Paul Eggert  <eggert@cs.ucla.edu>
86805
86806         Sync from cvs.
86807         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86808
86809 2005-05-31  Derek Price  <derek@ximbiot.com>
86810             Paul Eggert  <eggert@cs.ucla.edu>
86811
86812         Sync from cvs.
86813         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86814
86815 2005-05-29  Derek Price  <derek@ximbiot.com>
86816
86817         * config/srclist.txt (glob_.h, glob.c): Add these files.
86818
86819 2005-05-29  Derek Price  <derek@ximbiot.com>
86820
86821         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
86822         * modules/glob: New file.
86823         * modules/getlogin_r: Add link to POSIX spec in description.
86824
86825 2005-05-29  Derek Price  <derek@ximbiot.com>
86826             Paul Eggert  <eggert@cs.ucla.edu>
86827
86828         * m4/glob.m4: New file.
86829
86830 2005-05-29  Derek Price  <derek@ximbiot.com>
86831             Paul Eggert  <eggert@cs.ucla.edu>
86832
86833         * lib/glob_.h, lib/glob.c: New files.
86834
86835 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86836
86837         * modules/fts (Files): Remove m4/inttypes-pri.m4.
86838         * modules/fts-lgpl (Depends-on): Remove gettext.
86839
86840 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86841
86842         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
86843         and don't require gt_INTTYPES_PRI.
86844
86845 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86846
86847         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
86848
86849         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
86850         the configuration hassle isn't worth it.
86851         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
86852         (LONGEST_MODIFIER, PRIuMAX): Remove.
86853
86854 2005-05-27  Bruno Haible  <bruno@clisp.org>
86855
86856         * lib/getlogin_r.h: Remove second include of <stddef.h>.
86857
86858 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
86859
86860         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
86861         _POSIX_PTHREAD_SEMANTICS for Solaris.
86862
86863 2005-05-25  Derek Price  <derek@ximbiot.com>
86864
86865         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
86866
86867 2005-05-25  Derek Price  <derek@ximbiot.com>
86868             Paul Eggert  <eggert@cs.ucla.edu>
86869
86870         * modules/getlogin_r, m4/getlogin_r.m4: New files.
86871         * lib/getlogin_r.c, getlogin_r.h: New files.
86872
86873 2005-05-25  Bruno Haible  <bruno@clisp.org>
86874             Derek Price  <derek@ximbiot.com>
86875
86876         * lib/getlogin_r.h: Simplify API documentation.
86877
86878 2005-05-23  Derek Price  <derek@ximbiot.com>
86879
86880         * modules/minmax (Files): Add m4/minmax.m4.
86881         (configure.ac): Add gl_MINMAX.
86882
86883 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
86884
86885         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
86886         so that unistd-safer.h (GPL'ed code) need not be included.
86887
86888 2005-05-22  Bruno Haible  <bruno@clisp.org>
86889
86890         * m4/minmax.m4: New file.
86891         Based on a patch by Derek Price <derek@ximbiot.com>.
86892
86893 2005-05-22  Bruno Haible  <bruno@clisp.org>
86894
86895         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
86896         (INT64_MIN): Fix definition.
86897         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
86898
86899         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
86900         NEED_SIGNED_INT_TYPES.
86901
86902         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
86903         HAVE_SYSTEM_INTTYPES.
86904
86905 2005-05-22  Bruno Haible  <bruno@clisp.org>
86906
86907         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
86908         Also include <sys/param.h> if it defines MIN, MAX.
86909         Based on a patch by Derek Price <derek@ximbiot.com>.
86910
86911 2005-05-21  Jim Meyering  <jim@meyering.net>
86912
86913         * modules/fts (Files): Add m4/inttypes-pri.m4.
86914         (Depends-on): Add lstat and remove gettext.  Alphabetize.
86915
86916 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86917
86918         New fts module.
86919         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
86920         (setup_dir, free_dir): New functions.
86921         (enter_dir, leave_dir): Define trivial
86922         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
86923         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
86924         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
86925         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
86926         Move to fts-cycle.c.
86927         (fts_open): Use setup_dir.
86928         (fts_close): Use free_dir.
86929         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
86930         This adds a label and some gotos, but the alternatives were messier.
86931         Check for memory allocation failure when entering a dir.
86932         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
86933         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
86934         (FTS): New member fts_cycle, that is a union that contains the
86935         old active_dir_ht and cycle_state.  All uses changed to mention
86936         fts_cycle.ht and fts_cycle.state.
86937         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
86938         fts.c, with the following changes:
86939         (setup_dir, free_dir): New functions.
86940         (enter_dir): Now returns bool.  Return true if successful, false
86941         if memory exhausted.  All callers changed.
86942         Do not bother partly cleaning up on
86943         memory allocation failure; that is free_dir's job.
86944         However, free ad if hash_insert fails, to avoid memory leak.
86945         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
86946         fts->fts_options to see which union member to use.
86947
86948 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86949
86950         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
86951         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
86952
86953 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86954
86955         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
86956
86957 2005-05-20  Jim Meyering  <jim@meyering.net>
86958
86959         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
86960         Now a macro, to pacify GCC.
86961
86962 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86963
86964         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
86965         of -1.
86966
86967 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86968
86969         * lib/chown.c (rpl_chown): Return -1 on failure.
86970
86971 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86972
86973         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
86974         Don't check for stddef.h.
86975         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
86976         don't use its results.
86977         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
86978         since we include them unconditionally.  Don't require
86979         AM_STDBOOL_H, since stdbool is a prerequisite.
86980         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
86981         since we assume C89 or better.
86982         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
86983         as we don't use their results.
86984         Don't check for fchdir, memmove, memset, strrchr, as we use
86985         them unconditionally.
86986         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
86987         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
86988
86989 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86990
86991         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
86992         Include <stddef.h> unconditionally, since we assume C89 now.
86993         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
86994         * lib/fts.c: Include fts_.h first, to check interface.
86995         Do not include intprops.h; no longer needed.
86996         Include cycle-check.h and hash.h, since fts_.h no longer does.
86997         Remove unnecessary casts of closedir to void.
86998         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
86999         decide whether to decrement nlinks.
87000         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
87001         (FTS): Use struct hash_table * instead of Hash_table, so that
87002         we no longer need to include hash.h here.
87003
87004 2005-05-18  Jim Meyering  <jim@meyering.net>
87005
87006         * modules/dirfd (License): Change to LGPL.  Most of the code
87007         is already in the public domain.
87008
87009 2005-05-18  Jim Meyering  <jim@meyering.net>
87010
87011         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
87012         Reported by Yoann Vandoorselaere.
87013
87014 2005-05-17  Jim Meyering  <jim@meyering.net>
87015
87016         * m4/fts.m4: New file, from coreutils.
87017
87018 2005-05-17  Jim Meyering  <jim@meyering.net>
87019
87020         * lib/fts.c, lib/fts_.h: New files, from coreutils.
87021
87022 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87023
87024         Sync from coreutils.
87025         * m4/unlinkdir.m4: New file.
87026
87027 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87028
87029         Sync from coreutils.
87030         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
87031         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
87032         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
87033         White space changes only.
87034         * lib/makepath.c (make_path): Port to hosts where leading "//" is
87035         special.
87036         * lib/yesno.c: Include getline.h, not ctype.h.
87037         (yesno): Don't remove leading white space; POSIX doesn't allow it.
87038         Use getline to remove arbitrary restriction on response length.
87039
87040 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87041
87042         * config/srclist-update: Spell out "Street" in FSF postal
87043         mail address; this is the style the FSF seems to prefer.
87044
87045         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
87046         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
87047         this updates FSF postal mail address.
87048
87049         Sync from coreutils.
87050         * modules/unlinkdir: New file.
87051         * modules/yesno (Depends-on): Add getline.
87052         * MODULES.html.sh (File system functions): Add unlinkdir.
87053
87054 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87055
87056         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
87057         lib/strsep.h:
87058         Change the initial comment to refer to GPL, not LGPL.
87059         gnulib-tool will change it to LGPL as needed.
87060
87061         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
87062         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
87063         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
87064         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
87065         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
87066         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
87067         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
87068         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
87069         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
87070         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
87071         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
87072         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
87073         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
87074         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
87075         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
87076         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
87077         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
87078         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
87079         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
87080         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
87081         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
87082         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
87083         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
87084         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
87085         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
87086         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
87087         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
87088         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
87089         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
87090         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
87091         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
87092         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
87093         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
87094         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
87095         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
87096         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
87097         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
87098         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
87099         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
87100         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
87101         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
87102         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
87103         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
87104         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
87105         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
87106         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
87107         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
87108         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
87109         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
87110         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
87111         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87112         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
87113         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
87114         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
87115         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
87116         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
87117         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
87118         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
87119         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
87120         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
87121         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
87122         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
87123         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
87124         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
87125         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
87126         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
87127         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
87128         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
87129         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
87130         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
87131         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
87132         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
87133         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
87134         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
87135         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
87136         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
87137         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
87138         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
87139         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
87140         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
87141         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
87142         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
87143         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
87144         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
87145         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
87146         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
87147         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
87148         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
87149         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
87150         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
87151         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
87152         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
87153         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
87154         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
87155         lib/yesno.c, lib/yesno.h:
87156         Update FSF postal mail address.
87157
87158 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87159
87160         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
87161         tests/test-memmem.c, tests/test-stpncpy.c:
87162         Update FSF postal mail address.
87163
87164 2005-05-13  Bruno Haible  <bruno@clisp.org>
87165
87166         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
87167         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
87168         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
87169         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
87170         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
87171         Add support for 64-bit integers in the MSVC compiler.
87172
87173 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87174
87175         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
87176
87177 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
87178
87179         * gnulib-tool (func_import): Sort and uniquify recommended includes.
87180
87181 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
87182
87183         * doc/getdate.texi (General date syntax): Don't say that date
87184         date --iso-8601=ns generates acceptable dates; it doesn't yet.
87185         Problem reported by Nic Ferrier.
87186
87187 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87188
87189         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
87190         specified in ai_socktype. Fix invalid ai_protocol
87191         check. ai_protocol is usually set to 0 or depending on
87192         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
87193         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
87194         ai_socktype / ai_protocol in the returned addrinfo structure.
87195
87196 2005-05-10  Simon Josefsson  <jas@extundo.com>
87197
87198         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
87199         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
87200
87201 2005-05-10  Karl Berry  <karl@gnu.org>
87202
87203         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
87204         (from http://www.gnu.org/licenses).
87205         * doc/COPYING.LIB: also rename to COPYING.LESSER.
87206         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
87207         fdl.texi suffices.
87208
87209 2005-05-10  Karl Berry  <karl@gnu.org>
87210
87211         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
87212         (COPYING.DOC): remove.
87213
87214         * config/srclist-update: new FSF address.
87215
87216 2005-05-10  Derek Price  <derek@ximbiot.com>
87217
87218         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
87219         possible.
87220
87221 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87222             Bruno Haible  <bruno@clisp.org>
87223
87224         * modules/inet_ntop: New file.
87225         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87226         inet_ntop.
87227
87228 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87229             Bruno Haible  <bruno@clisp.org>
87230
87231         * m4/inet_ntop.m4: New file.
87232
87233 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87234             Bruno Haible  <bruno@clisp.org>
87235
87236         * lib/inet_ntop.h: New file.
87237         * lib/inet_ntop.c: New file, from glibc with modifications.
87238
87239 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
87240
87241         * modules/time_r (License): Change to LGPL.
87242         * modules/extensions (License): Change to LGPL.  Actually,
87243         the license is more permissive than that, but currently gnulib-tool
87244         doesn't know how to handle more-permissive licenses.
87245
87246         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
87247         Problem reported by Dave Love.
87248
87249 2005-05-08  Jim Meyering  <jim@meyering.net>
87250
87251         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
87252         blank.
87253
87254 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87255
87256         * modules/argmatch (Depends-on): Add stdbool.
87257         * modules/backupfile (Depends-on): Likewise.
87258         * modules/chdir-long (Depends-on): Likewise.
87259         * modules/closeout (Depends-on): Likewise.
87260         * modules/cycle-check (Depends-on): Likewise.
87261         * modules/dirname (Depends-on): Likewise.
87262         * modules/fnmatch (Depends-on): Likewise.
87263         * modules/fsusage (Depends-on): Likewise.
87264         * modules/fwriteerror (Depends-on): Likewise.
87265         * modules/getcwd (Depends-on): Likewise.
87266         * modules/getloadavg (Depends-on): Likewise.
87267         * modules/hard-locale (Depends-on): Likewise.
87268         * modules/makepath (Depends-on): Likewise.
87269         * modules/mountlist (Depends-on): Likewise.
87270         * modules/nanosleep (Depends-on): Likewise.
87271         * modules/posixtm (Depends-on): Likewise.
87272         * modules/quotearg (Depends-on): Likewise.
87273         * modules/readtokens (Depends-on): Likewise.
87274         * modules/readtokens0 (Depends-on): Likewise.
87275         * modules/readutmp (Depends-on): Likewise.
87276         * modules/save-cwd (Depends-on): Likewise.
87277         * modules/strftime (Depends-on): Likewise.
87278         * modules/userspec (Depends-on): Likewise.
87279         * modules/utimecmp (Depends-on): Likewise.
87280         * modules/xgetcwd (Depends-on): Likewise.
87281         * modules/xnanosleep (Depends-on): Likewise.
87282         * modules/xstrtod (Depends-on): Likewise.
87283         * modules/yesno (Depends-on): Likewise.
87284
87285 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
87286
87287         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
87288         needless checks.
87289
87290 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87291
87292         Merge from coreutils.  Among other things,
87293         add bulletproofing for cases where stdin, stdout, or stderr are closed.
87294         * lib/fd-safer.c: New file.
87295         * lib/fcntl-safer.h, open-safer.c: Remove.
87296         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
87297         * lib/dup-safer.c: Include unistd-safer.h first.
87298         Don't include errno.h.
87299         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
87300         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
87301         * lib/file-type.c: Rely on file-type.h change.
87302         * lib/getloadavg.c: Include unistd-safer.h.
87303         (getloadavg): Use safer open.
87304         * lib/getusershell.c: Include "stdio-safer.h".
87305         (getusershell): Use safer fopen.
87306         * lib/long-options.c (long_options): Use NULL rather than 0.
87307         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
87308         'free'.
87309         * lib/modechange.c: Likewise.
87310         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
87311         (MODE_DONE): New constant.
87312         (struct mode_change): Remove 'next' member.
87313         (make_node_op_equals): New function; like the old one of the
87314         same name, except it allocates an array.
87315         (mode_compile, mode_create_from_ref): Use it.
87316         (mode_compile): Allocate result as an array, not a linked list.
87317         Parse octal string ourself, so that we catch mistakes like "+0".
87318         (mode_adjust): Arg is an array, not a linked list.
87319         * lib/modechange.c: Include stat-macros.h, xalloc.h.
87320         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
87321         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
87322         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
87323         Remove.  This is now stat-macros.h's job.
87324         (talloc): Remove.  All callers replaced by xalloc, so that
87325         our invokers don't have to worry about reporting memory failures.
87326         (make_node_op_equals): Remove.
87327         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87328         New constants.
87329         (struct mode_change): Moved here from modechange.h.
87330         (mode_append_entry): Remove.
87331         (mode_compile): Remove MASKED_OPS arg, since it encouraged
87332         apps to have incorrect behavior.  Use simpler algorithm for head
87333         and tail.  Don't futz with umask; that's now the job of mode_adjust.
87334         Detect more invalid usages rather than having somewhat-random behavior.
87335         Don't insert an "a=" action, as that leads to incorrect behavior.
87336         (mode_compile, mode_create_from_ref): Return NULL on error instead
87337         of an enum, since now there's only one way to have an error.  All
87338         callers changed.
87339         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
87340         at the correct time.  Simplify calculation of "+u" and its ilk.
87341         Don't mishandle "+X".
87342         (mode_free): Remove "register" and localize decls.
87343         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87344         (struct mode_change): Move to modechange.c; callers don't
87345         need to see this stuff.
87346         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
87347         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
87348         (mode_change, mode_adjust): Reflect the new signatures noted above.
87349         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
87350         that might redefine system include files.
87351         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
87352         (my_usleep): Use NULL rather than (void *) 0.
87353         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
87354         Use siginterrupt to specify that system calls should be interrupted.
87355         (rpl_nanosleep): Move initialization of suspended closer to call of
87356         my_usleep.
87357         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
87358         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
87359         (desirable_utmp_entry): New function.
87360         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
87361         using x2nrealloc, to simplify logic.
87362         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
87363         size calculation.  Do not assume utmp file is a regular file.
87364         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
87365         (READ_UTMP_CHECK_PIDS): New constant.
87366         * lib/save-cwd.c: Include unistd-safer.h.
87367         (save_cwd): Use fd_safer.
87368         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
87369         [!_LIBC] Include "stat-macros.h" instead.
87370         * lib/unistd-safer.h (fd_safer): New decl.
87371
87372 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87373
87374         * modules/getloadavg (Depends-on): Add unistd-safer.
87375         * modules/getusershell (Depends-on): Add stdio-safer.
87376         * modules/lstat (Depends-on): Remove xalloc.
87377         * modules/mkstemp (Depends-on): Add stat-macros.
87378         * modules/modechange (Depends-on): Remove xstrtol.
87379         Add stat-macros, xalloc.
87380         * modules/save-cwd (Depends-on): Add unistd-safer.
87381         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
87382         * modules/unistd-safer (Files): Add lib/fd-safer.c
87383         (Makefile.am): Remove lib_SOURCES.
87384
87385         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
87386         Remove fcntl-safer; unistd-safer supersedes it.
87387
87388 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87389
87390         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
87391         AC_HEADER_STAT.
87392         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
87393         (gl_PREREQ_CHOWN): Remove.
87394         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
87395         it.  Don't require AC_HEADER_STAT.
87396         (gl_PREREQ_LSTAT): Remove.
87397         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
87398         Don't require AC_HEADER_STAT.
87399         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
87400         (gl_PREREQ_RMDIR): Remove.
87401         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
87402         mention stat-macros.h or AC_HEADER_STAT, since we'll make
87403         the stat-macros module a prerequisite.
87404         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
87405         * m4/filemode.m4 (gl_FILEMODE): Likewise.
87406         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
87407         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
87408         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
87409         variable names.
87410         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
87411         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
87412         variable prefixes.
87413         * m4/fcntl-safer.m4: Remove.
87414         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
87415         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
87416         Invoke gl_PREREQ_FD_SAFER.
87417         (gl_PREREQ_FD_SAFER): New macro.
87418         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
87419         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
87420         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
87421         Remove duplicate call to AC_LIBOBJ(readutmp).
87422         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
87423
87424         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
87425         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
87426
87427 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87428
87429         * MODULES.html.sh (Misc): Add byteswap.
87430
87431 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87432
87433         * modules/getcwd (Depends-on): Add extensions.
87434         * modules/openat (Depends-on): Likewise.
87435
87436 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87437
87438         * modules/byteswap: New file.
87439
87440 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87441
87442         * m4/byteswap.m4: New file.
87443
87444 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87445
87446         * lib/byteswap_.h: New file.
87447
87448 2005-04-25  Karl Berry  <karl@gnu.org>
87449
87450         * m4/gettext.m4: Update from GNU gettext 0.14.4.
87451
87452 2005-04-25  Albert Chin  <china@thewrittenword.com>
87453
87454         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
87455         Toolkit C bug.
87456
87457 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
87458
87459         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
87460         (func_ln_if_changed): Remove forcibly for no error message
87461         in case file does not exist.
87462
87463 2005-04-19  Simon Josefsson  <jas@extundo.com>
87464
87465         * gnulib-tool (Options): Make --symlink mean --symbolic.
87466
87467 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
87468
87469         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
87470
87471 2005-04-16  Simon Josefsson  <jas@extundo.com>
87472
87473         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
87474
87475 2005-04-15  Simon Josefsson  <jas@extundo.com>
87476
87477         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
87478
87479 2005-04-15  Simon Josefsson  <jas@extundo.com>
87480
87481         * gnulib-tool: Rename --symlink to --symbolic.
87482
87483 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
87484
87485         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
87486         symbolic links to files instead of copying/moving.  Add --aux-dir,
87487         specifying directory relative --dir where auxiliary build tools
87488         are placed.
87489
87490 2005-04-14  Bruno Haible  <bruno@clisp.org>
87491
87492         * modules/allocsa (License): Change to LGPL.
87493         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
87494
87495 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87496
87497         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
87498         that "UTC +1 second" continues to work.  Problem reported
87499         by Dmitry V. Levin.
87500         (relunit_snumber): New rule.
87501         (relunit): Use it.
87502
87503 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
87504
87505         * lib/getdate.y (universal_time_zone_table): New constant.
87506         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
87507         universal_time_zone_table.
87508         (lookup_zone): Prefer universal_time_zone_table to
87509         local_time_zone_table, so that "GMT" time stamps are allowed in
87510         London during the summer.  Problem reported by Ian Abbott.
87511
87512 2005-04-12  Jim Meyering  <jim@meyering.net>
87513
87514         * lib/human.c (humblock): Set *options even when returning due to
87515         xstrtoumax conversion failure.  Thanks to a used-uninitialized
87516         warning from gcc-4.
87517
87518 2005-04-09  Jim Meyering  <jim@meyering.net>
87519
87520         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
87521         -Wuninitialized: initialize tm0.tm_year.
87522
87523 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
87524
87525         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
87526         count, since there's no maximum.  All uses changed.
87527         Add member dsts_seen.
87528         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
87529         not being INT_MAX.
87530         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
87531         Use pc_rels_seen to decide whether a date is absolute.
87532
87533         * lib/getdate.y (number): Don't overwrite year.
87534         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
87535         check.
87536
87537 2005-04-02  Simon Josefsson  <jas@extundo.com>
87538
87539         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
87540         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
87541
87542 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
87543
87544         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
87545         where no absolute path name can be longer than PATH_MAX.
87546
87547 2005-03-27  Jim Meyering  <jim@meyering.net>
87548
87549         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
87550
87551 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
87552
87553         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
87554         "one's complement" -> "ones' complement" in comment, as per Knuth.
87555         "value of type" -> "type or expression" in comment.
87556         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
87557
87558 2005-03-26  Jim Meyering  <jim@meyering.net>
87559
87560         Comment nits.
87561         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
87562         Correct typos: s/or/of/.
87563
87564 2005-03-26  Jim Meyering  <jim@meyering.net>
87565
87566         * modules/check-include-files: Move to ../ and rename to...
87567         * check-module: ...this.
87568
87569 2005-03-25  Jim Meyering  <jim@meyering.net>
87570
87571         * modules/xvasprintf (Files): Add xalloc.h.
87572
87573 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
87574
87575         * modules/gettext (Files): config/config.rpath ->
87576         build-aux/config.rpath
87577         * modules/iconv (Files): Likewise.
87578         Problem reported by Oskar Liljeblad.
87579
87580 2005-03-23  Jim Meyering  <jim@meyering.net>
87581
87582         * modules/check-include-files: New script to check for
87583         missing dependencies, multiple includes, etc.
87584
87585         * modules/c-strtold (Depends-on): Add xalloc.
87586         * modules/c-strtod (Depends-on): Add xalloc.
87587         * modules/hash (Depends-on): Add xalloc.
87588         (Files): Remove lib/xalloc.h.
87589
87590         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
87591         * modules/userspec (Files): Add lib/inttostr.h.
87592
87593 2005-03-23  Jim Meyering  <jim@meyering.net>
87594
87595         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
87596
87597 2005-03-22  Jim Meyering  <jim@meyering.net>
87598
87599         * modules/stat-macros: New module.
87600         * modules/canonicalize, modules/euidaccess, modules/file-type,
87601         * modules/filemode, modules/lchown, modules/makepath,
87602         * modules/rmdir, modules/stat: Depend on new stat-macros module
87603         rather than listing lib/stat-macros.h manually.
87604         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
87605
87606 2005-03-22  Jim Meyering  <jim@meyering.net>
87607
87608         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
87609
87610 2005-03-22  Bruno Haible  <bruno@clisp.org>
87611
87612         * config/srclist.txt: Replace target directory 'config' with
87613         'build-aux'.
87614         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
87615         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
87616         ../build-aux/.
87617
87618 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
87619
87620         * modules/chdir-long (Depends-on): Add mempcpy.
87621
87622         * modules/acl, modules/backupfile, modules/c-strtod,
87623         modules/c-strtold, modules/canon-host, modules/canonicalize,
87624         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
87625         modules/exclude, modules/exitfail, modules/file-type,
87626         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
87627         modules/getdate, modules/getline, modules/getpagesize,
87628         modules/getpass, modules/getugroups, modules/group-member,
87629         modules/hard-locale, modules/hash, modules/human, modules/idcache,
87630         modules/inttostr, modules/long-options, modules/makepath,
87631         modules/md5, modules/memcasecmp, modules/memcoll,
87632         modules/modechange, modules/mountlist, modules/path-concat,
87633         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
87634         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
87635         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
87636         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
87637         modules/strftime, modules/strndup, modules/strverscmp,
87638         modules/timespec, modules/unlocked-io, modules/userspec,
87639         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
87640         modules/yesno:
87641         Remove lib_SOURCES line from Makefile.am section, as this is now
87642         done automatically by the corresponding Autoconf macro.
87643
87644 2005-03-21  Jim Meyering  <jim@meyering.net>
87645
87646         Changes imported from coreutils.
87647
87648         * lib/cycle-check.c: Don't include xalloc.h.
87649
87650         * lib/path-concat.c: Don't include assert.h.
87651         (path_concat): Remove assertion that would have triggered
87652         for ABASE starting with more than one slash.
87653         Reported by Andreas Schwab.
87654
87655         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
87656         properly when ABASE is an absolute file name.
87657         Correct the description of this function.
87658         Include <assert.h>.
87659         Add an assertion and a test driver.
87660         This fixes a bug introduced on 2004-07-02.
87661         Andreas Schwab reported the resulting failure of cp --parents:
87662         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
87663
87664 2005-03-21  Jim Meyering  <jim@meyering.net>
87665
87666         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
87667         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
87668
87669 2005-03-21  Jim Meyering  <jim@meyering.net>
87670         and  Paul Eggert  <eggert@cs.ucla.edu>
87671
87672         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
87673         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
87674         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
87675         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
87676         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
87677         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
87678         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
87679         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
87680         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
87681         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
87682         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
87683         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
87684         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
87685         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
87686         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
87687         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
87688         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
87689         for these modules.
87690
87691 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
87692
87693         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
87694         (which shouldn't happen), generate nothing instead of returning 0
87695         immediately, so that nstrftime (NULL, ...) doesn't return 0.
87696
87697 2005-03-16  Bruno Haible  <bruno@clisp.org>
87698
87699         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
87700         HAVE_LONGLONG_64BIT.
87701
87702 2005-03-16  Bruno Haible  <bruno@clisp.org>
87703
87704         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
87705         HAVE_LONGLONG_64BIT.
87706
87707 2005-03-16  Bruno Haible  <bruno@clisp.org>
87708
87709         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
87710         HAVE_LONGLONG_64BIT.
87711
87712 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87713
87714         * lib/strftime.c (my_strftime): Prepend space to format so that we can
87715         reliably distinguish strftime failure from empty output on POSIX
87716         hosts.
87717
87718 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87719
87720         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
87721         (iconv_string): Don't guess a size-zero buffer, as that might cause
87722         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
87723         result would be 'too large', where 'too large' is (heuristically)
87724         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
87725         overflow concerns.  This will prevent some unwanted malloc failures
87726         when the inputs are very large.
87727
87728 2005-03-15  Karl Berry  <karl@gnu.org>
87729
87730         * config/srclist.txt (config.rpath): from gettext.
87731         * config/config.rpath: update.
87732
87733 2005-03-15  Bruno Haible  <bruno@clisp.org>
87734
87735         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
87736         to 'negate'.
87737
87738         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
87739         variable.
87740
87741         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
87742         results.
87743
87744 2005-03-14  Simon Josefsson  <jas@extundo.com>
87745
87746         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
87747         <fx@gnu.org>.
87748
87749 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
87750
87751         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
87752         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
87753         intprops.h.
87754         * lib/strtol.c: Likewise.
87755
87756 2005-03-14  Jim Meyering  <jim@meyering.net>
87757
87758         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
87759         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
87760         to be nonzero so that we (and caller) can detect the difference
87761         between a valid zero-length expansion and an error return, even
87762         when the underlying strftime fails before writing anything into
87763         that location.
87764
87765 2005-03-14  Bruno Haible  <bruno@clisp.org>
87766
87767         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
87768         Update from GNU gettext 0.14.3.
87769
87770 2005-03-10  Jim Meyering  <jim@meyering.net>
87771
87772         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
87773
87774 2005-03-10  Jim Meyering  <jim@meyering.net>
87775
87776         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
87777         so that this module works on systems without fchdir.
87778
87779 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
87780
87781         Factor int-properties macros into a single file, except for
87782         glibc-related files.
87783         * lib/intprops.h: New file.
87784         * lib/getloadavg.c: Include it instead of limits.h.
87785         (INT_STRLEN_BOUND): Remove.
87786         * lib/human.c: Include intprops.h.
87787         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
87788         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
87789         302/1000.
87790         * lib/inttostr.h: Include intprops.h instead of limits.h.
87791         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
87792         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
87793         for consistency with intprops.h.
87794         (time_t_is_integer, twos_complement_arithmetic): Use them.
87795         * lib/sig2str.h: Include <signal.h>, intprops.h.
87796         (INT_STRLEN_BOUND): Remove.
87797         * lib/strftime.c (TYPE_SIGNED): Remove.
87798         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
87799         * lib/strtol.c: Adjust comments to match intprops.h.
87800         * lib/userspec.c: Include intprops.h.
87801         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
87802         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
87803         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
87804         instead of rolling our own expressions.
87805         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
87806
87807         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
87808         instead of int.
87809         (my_strftime): Do not mishandle years close to INT_MAX, by doing
87810         the right thing even if adding 1900 would overflow.  Similarly
87811         for tm_mon + 1 and tm_yday + 1.
87812         Make %Y always equivalent to %C%y, and similarly for %G and %g.
87813         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
87814         (DO_SIGNED_NUMBER): New macro.
87815         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
87816
87817 2005-03-07  Bruno Haible  <bruno@clisp.org>
87818
87819         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
87820
87821 2005-03-07  Bruno Haible  <bruno@clisp.org>
87822
87823         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
87824
87825 2005-03-04  Derek R. Price  <derek@ximbiot.com>
87826
87827         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
87828         (func_import): Only replace files via --import when they have actually
87829         changed.
87830
87831 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87832
87833         * m4/mmap-anon.m4: New file.
87834         * m4/pagealign_alloc.m4: New file.
87835
87836 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87837             Bruno Haible  <bruno@clisp.org>
87838
87839         * modules/pagealign_alloc: New file.
87840         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
87841
87842 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87843             Bruno Haible  <bruno@clisp.org>
87844
87845         * lib/pagealign_alloc.h: New file.
87846         * lib/pagealign_alloc.c: New file.
87847
87848 2005-03-03  Bruno Haible  <bruno@clisp.org>
87849
87850         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
87851         Use an all-permissive copyright notice, recommended by RMS.
87852
87853 2005-03-02  Bruno Haible  <bruno@clisp.org>
87854
87855         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
87856         of AIX, the replacement has to be done only after <string.h> is
87857         included, therefore not in config.h. stpncpy.h does the replacement,
87858         and stpncpy.c uses it.
87859
87860 2005-03-02  Bruno Haible  <bruno@clisp.org>
87861
87862         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
87863         stpncpy.c uses it.
87864
87865 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87866
87867         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
87868         The workaround isn't strictly needed for POSIX conformance, and
87869         it's too much of a pain to configure and maintain.  We'll ask
87870         people to fix their kernels instead.
87871         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
87872         (NANOSLEEP_BUG_WORKAROUND): Remove.
87873         (xnanosleep): Remove the workaround.
87874
87875 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87876
87877         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
87878         Reported by Derek Price.
87879         (Include): Add "timespec.h".
87880
87881         * modules/xnanosleep (Depends-on): Remove gethrxtime.
87882
87883 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87884
87885         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
87886         to detect nanosleep bug.
87887
87888 2005-03-01  Bruno Haible  <bruno@clisp.org>
87889
87890         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
87891
87892 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
87893
87894         * modules/gethrxtime: New file.
87895         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
87896         (Depends-on): Add gethrxtime.
87897         (configure.ac): Add gl_XNANOSLEEP.
87898         (Makefile.am): Remove lib_SOURCES line.
87899
87900 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87901
87902         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
87903         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
87904
87905 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87906
87907         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
87908         * lib/timespec.h (gettime): Return void, since it always
87909         succeeds now.  All uses changed.
87910         * lib/gettime.c (gettime): Likewise.
87911         [HAVE_NANOTIME]: Prefer nanotime.
87912         Assume gettimeofday succeeds, as POSIX requires.
87913         Assime time () succeeds, since other code already does.
87914         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
87915         (timespec_subtract): Remove.
87916         (NANOSLEEP_BUG_WORKAROUND): New constant.
87917         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
87918         things considerably.  Use it only on GNU/Linux hosts, since the
87919         workaround shouldn't be needed elsewhere.
87920
87921 2005-02-24  Bruno Haible  <bruno@clisp.org>
87922
87923         * modules/gettext (Files): Add m4/glibc2.m4.
87924
87925 2005-02-24  Bruno Haible  <bruno@clisp.org>
87926
87927         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
87928         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
87929         * m4/progtest.m4:
87930         Update from GNU gettext 0.14.2.
87931         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
87932
87933 2005-02-24  Bruno Haible  <bruno@clisp.org>
87934
87935         * lib/localcharset.c: Update from GNU gettext 0.14.2.
87936         * lib/config.charset: Update from GNU gettext 0.14.2.
87937
87938 2005-02-24  Bruno Haible  <bruno@clisp.org>
87939
87940         * lib/gettext.h: Update from GNU gettext 0.14.2.
87941
87942 2005-02-23  Simon Josefsson  <jas@extundo.com>
87943
87944         * m4/iconvme.m4: New file.
87945
87946 2005-02-23  Jim Meyering  <jim@meyering.net>
87947
87948         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
87949         change.
87950         Thanks to Bruno Haible for catching it.
87951
87952 2005-02-22  Simon Josefsson  <jas@extundo.com>
87953
87954         * modules/iconvme: New file.
87955
87956         * MODULES.html.sh: Add iconvme.
87957
87958 2005-02-22  Simon Josefsson  <jas@extundo.com>
87959
87960         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
87961
87962 2005-02-22  Simon Josefsson  <jas@extundo.com>
87963
87964         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
87965
87966 2005-02-22  Jim Meyering  <jim@meyering.net>
87967
87968         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
87969         s/ifndef/ifdef/.
87970
87971 2005-02-20  Neil Conway  <neilc@samurai.com>
87972
87973         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
87974         returned by OSX/Darwin if the specified buffer is not large
87975         enough for the hostname.
87976
87977 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87978
87979         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
87980         pass it to _help, otherwise the latter coredumps trying to
87981         dereference state.root_argp.
87982
87983 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87984
87985         * modules/chdir-long (Depends-on): Add memrchr.
87986         * modules/memrchr (Files): Add lib/memrchr.h.
87987         (Include): "memrchr.h".
87988
87989 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87990
87991         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
87992
87993 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87994
87995         * lib/memrchr.h: New file.
87996         * lib/chdir-long.c: Include it.
87997         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
87998         Don't bother including stddef.h.
87999
88000 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
88001
88002         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
88003         inclusion.
88004         Include <sys/types.h>, for dev_t.
88005         (ME_DUMMY, ME_REMOTE): Move from here....
88006         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
88007         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
88008         Dmitry V. Levin.
88009         Include mountlist.h first, to test the interface.
88010
88011 2005-01-29  Bruno Haible  <bruno@clisp.org>
88012
88013         * lib/progname.c (program_name): Initialize.
88014         Needed when linking statically on MacOS X.
88015
88016 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88017
88018         Sync from coreutils.
88019         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
88020         (Depends-on): Add c-strtod.
88021         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
88022
88023 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88024
88025         Sync from coreutils.
88026         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
88027
88028         Remove files that are specific to coreutils.
88029         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
88030
88031 2005-01-28  Bruno Haible  <bruno@clisp.org>
88032
88033         * modules/javacomp: New file.
88034         * MODULES.html.sh (Java): Add javacomp.
88035
88036 2005-01-28  Bruno Haible  <bruno@clisp.org>
88037
88038         * m4/javacomp.m4: New file, from GNU gettext.
88039
88040 2005-01-28  Bruno Haible  <bruno@clisp.org>
88041
88042         * lib/javacomp.sh.in: New file, from GNU gettext.
88043         * lib/javacomp.h: New file, from GNU gettext.
88044         * lib/javacomp.c: New file, from GNU gettext.
88045
88046 2005-01-26  Simon Josefsson  <jas@extundo.com>
88047
88048         * lib/gai_strerror.c: Use GPL in header.
88049
88050 2005-01-26  Bruno Haible  <bruno@clisp.org>
88051
88052         * modules/javaexec: New file.
88053         * MODULES.html.sh (Java): Add javaexec.
88054
88055 2005-01-26  Bruno Haible  <bruno@clisp.org>
88056
88057         * m4/javaexec.m4: New file, from GNU gettext.
88058
88059 2005-01-26  Bruno Haible  <bruno@clisp.org>
88060
88061         * lib/javaexec.sh.in: New file, from GNU gettext.
88062         * lib/javaexec.h: New file, from GNU gettext.
88063         * lib/javaexec.c: New file, from GNU gettext.
88064
88065 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88066
88067         * modules/lchown (Depends-on): Remove lchown.h
88068
88069 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88070
88071         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
88072         must be defined if the header file was not found, in order
88073         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
88074
88075 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88076
88077         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
88078         initializers for struct pentry_state.
88079         (__argp_error): Check return value of __asprintf
88080         (__argp_failure): Translate error message
88081
88082         * lib/argp-parse.c: Removed braces around the expansion of N_()
88083
88084 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
88085
88086         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
88087         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
88088         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
88089         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
88090         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
88091         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
88092         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
88093         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
88094         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
88095         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
88096         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
88097         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
88098         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
88099         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
88100         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
88101         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
88102         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
88103         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
88104         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
88105         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
88106         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
88107         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
88108         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
88109         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
88110         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
88111         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
88112         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
88113         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
88114         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
88115         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
88116         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
88117         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
88118         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
88119         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
88120         xstrtol.m4, xstrtoumax.m4, yesno.m4:
88121         Use an all-permissive copyright notice, recommended by RMS.
88122
88123 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
88124
88125         * modules/chdir-long (Depends-on): Remove mempcpy.
88126
88127 2005-01-21  Jim Meyering  <jim@meyering.net>
88128
88129         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
88130         same value as for Solaris 9.
88131
88132         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
88133         component length.  This included changing the parameter to be
88134         of type `char *' rather than `char const *'.
88135         * lib/chdir-long.h (chdir_long): Update prototype.
88136
88137         * lib/openat.c (fdopendir, fstatat): New functions.
88138         * lib/openat.h: Include headers required for use of DIR and struct
88139         stat.
88140         [AT_SYMLINK_NOFOLLOW]: Define.
88141         (fdopendir, fstatat): Add prototypes.
88142
88143 2005-01-21  Bruno Haible  <bruno@clisp.org>
88144
88145         * modules/classpath: New file.
88146         * MODULES.html.sh (Java): Add classpath.
88147
88148 2005-01-21  Bruno Haible  <bruno@clisp.org>
88149
88150         * lib/classpath.h: New file, from GNU gettext.
88151         * lib/classpath.c: New file, from GNU gettext.
88152
88153 2005-01-20  Simon Josefsson  <jas@extundo.com>
88154
88155         * modules/version-etc-fsf: New file.
88156
88157 2005-01-20  Simon Josefsson  <jas@extundo.com>
88158
88159         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
88160         * lib/version-etc.c: Remove version_etc_copyright.
88161         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
88162         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
88163
88164 2005-01-20  Simon Josefsson  <jas@extundo.com>
88165
88166         * lib/base64.h (isbase64): Add.
88167
88168         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
88169         using a unsigned prototype, don't inline.
88170         (base64_decode): Use it.
88171
88172 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88173
88174         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
88175         it.
88176
88177 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88178
88179         * lib/save-cwd.c (save_cwd): Remove code to support the case
88180         where fchdir is missing or flaky.
88181
88182 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88183
88184         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
88185
88186 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
88187
88188         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
88189         AC_LIBSOURCES now does this.
88190         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
88191         with new ullong_max module.
88192
88193 2005-01-19  Bruno Haible  <bruno@clisp.org>
88194
88195         * modules/sh-quote: New file.
88196         * MODULES.html.sh (Executing programs): Add sh-quote.
88197
88198 2005-01-19  Bruno Haible  <bruno@clisp.org>
88199
88200         * lib/sh-quote.h: New file, from GNU gettext.
88201         * lib/sh-quote.c: New file, from GNU gettext.
88202
88203 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88204
88205         Merge from coreutils.
88206         * m4/ullong_max.m4: New file.
88207         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
88208         (gl_MACROS): Assume localeconv exists.
88209
88210 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88211
88212         Merge changes from coreutils, as described below in several
88213         changelogs dated today.
88214
88215         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
88216         (O_DIRECTORY): Remove; not needed here, since "." must be
88217         a directory.  All uses removed.
88218         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
88219         universal on Suns, and we also need to test for IRIX.
88220         Revamp code to use 'if' rather than '#if'.
88221         Avoid unnecessary comparison of cwd->desc to 0.
88222
88223         * lib/utimens.c (futimens): Robustify the previous patch, by checking
88224         for known valid error numbers rather than observed invalid ones.
88225
88226 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88227
88228         * modules/ullong_max: New file.
88229
88230         * modules/chdir-long, modules/openat: New files.
88231         * modules/save-cwd (Depends-on): Depend on chdir-long.
88232         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
88233
88234 2005-01-18  Jim Meyering  <jim@meyering.net>
88235
88236         Merge from coreutils.
88237         * m4/chdir-long.m4, m4/openat.m4: New files.
88238         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
88239         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
88240         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
88241         is sane and DOES follow symlinks.  Besides, testing 20 different
88242         systems found no broken chown implementations.
88243         Prompted by a change in rsync's copy of this macro.
88244         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
88245
88246         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
88247
88248         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
88249         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
88250         NULL-means-set-to-current-time semantics.
88251         Remove temporary file immediately, rather than waiting
88252         for configure's at-exit trap code to do it.
88253
88254 2005-01-18  Jim Meyering  <jim@meyering.net>
88255
88256         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88257
88258         * lib/utimens.c (futimens): Account for the fact that futimes
88259         can also fail with errno == ENOSYS or errno == ENOENT.
88260         Patch from Dmitry V. Levin.
88261
88262         Change the name of the robust chdir function from chdir to chdir_long.
88263         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
88264         (restore_cwd): Use chdir_long, not chdir.
88265         * lib/chdir-long.c: Renamed from chdir.c.
88266         * lib/chdir-long.h: Renamed from chdir.h.
88267         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
88268         Hurd.
88269
88270 2005-01-18  Bruno Haible  <bruno@clisp.org>
88271
88272         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
88273         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
88274         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
88275         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
88276         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
88277         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
88278         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
88279         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
88280         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
88281         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
88282         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
88283         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
88284         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
88285         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
88286         Use an all-permissive copyright notice, recommended by RMS.
88287
88288 2005-01-18  Bob Proulx  <bob@proulx.com>
88289
88290         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
88291         simplify offsetof() macro construct to avoid compile failure with
88292         native HP-UX 11.0 ANSI C compiler.
88293
88294 2005-01-17  Bruno Haible  <bruno@clisp.org>
88295
88296         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
88297         redundant because stpncpy.m4 takes care of it.
88298
88299 2005-01-17  Bruno Haible  <bruno@clisp.org>
88300
88301         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
88302
88303 2005-01-17  Bruno Haible  <bruno@clisp.org>
88304
88305         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
88306         used.
88307
88308 2005-01-17  Bruno Haible  <bruno@clisp.org>
88309
88310         * lib/fwriteerror.h (fwriteerror): Change specification to include
88311         fclose.
88312         * lib/fwriteerror.c: Include <stdbool.h>.
88313         (fwriteerror): At the end, close the file stream. Record whether
88314         stdout was already closed.
88315
88316 2005-01-17  Bruno Haible  <bruno@clisp.org>
88317
88318         * lib/execute.c (environ): Declare if needed.
88319         * lib/pipe.c (environ): Likewise.
88320         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
88321
88322 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88323
88324         * modules/argp: Depend on vsnprintf
88325
88326 2005-01-10  Jim Meyering  <jim@meyering.net>
88327
88328         * modules/closeout (Depends-on): Add atexit.
88329
88330 2005-01-06  Bruno Haible  <bruno@clisp.org>
88331
88332         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
88333
88334 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
88335
88336         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
88337         definitions to be after all include files, to avoid collisions.
88338         Problem reported by Bob Proulx.
88339
88340 2005-01-04  Jim Meyering  <jim@meyering.net>
88341
88342         Changes imported from coreutils.
88343         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
88344         as the mkstemp template, use a temporary directory and an
88345         8.3-friendly template to avoid trouble on systems like DJGPP.
88346         Reported by Juan M. Guerrero via Stepan Kasal.
88347         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
88348         close. Remove the temporary directory right away, rather than waiting
88349         for configure's at-exit trap code to do it.
88350         Suggestion from Stepan Kasal.
88351
88352 2005-01-01  Simon Josefsson  <jas@extundo.com>
88353
88354         * gnulib-tool: Print #include directives when --import'ing.
88355
88356 2004-12-28  Simon Josefsson  <jas@extundo.com>
88357
88358         * tests/test-base64.c: Include required header files.  Remove
88359         unused variables.
88360
88361 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88362
88363         * modules/error (Depends-on): Remove gettext.
88364
88365 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88366
88367         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
88368         not needed.  This removes a dependency on the gettext module.
88369         [defined _LIBC]: Do not include <libintl.h>; not needed.
88370
88371 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88372
88373         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
88374         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
88375
88376 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88377
88378         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
88379         HAVE_DECL_STRTOLD.
88380
88381 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88382
88383         * modules/getdate (Depends-on): Remove alloca-opt.
88384
88385 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88386
88387         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
88388
88389 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88390
88391         * lib/argp-parse.c: Include <stddef.h>.
88392         (alignof, alignto): New macros.
88393         (parser_init): Don't assume that void * is aligned sufficiently
88394         for struct option.
88395
88396         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
88397         need to extend the stack.
88398         (YYINITDEPTH): New macro, so that the initial stack isn't overly
88399         large.
88400
88401 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88402
88403         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
88404
88405 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88406
88407         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
88408         (2004-10-24) change.  Apparently this was a false alarm.
88409
88410         * modules/getdate: Depend on alloca-opt, not alloca.
88411
88412 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88413
88414         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
88415         Remove now-obsolete comment about AIX.
88416         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
88417         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
88418         (YYMAXDEPTH): New macro.
88419
88420 2004-12-18  Simon Josefsson  <jas@extundo.com>
88421
88422         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
88423
88424 2004-12-18  Bruno Haible  <bruno@clisp.org>
88425
88426         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
88427
88428 2004-12-18  Bruno Haible  <bruno@clisp.org>
88429
88430         * lib/fatal-signal.c (fatal_signals): Make non-const.
88431         (init_fatal_signals): New function.
88432         (uninstall_handlers, install_handlers): Ignore signals that were set to
88433         SIG_IGN.
88434         (at_fatal_signal): Call init_fatal_signals.
88435         (init_fatal_signal_set): Likewise. Ignore signals that were set to
88436         SIG_IGN.
88437         Reported by Paul Eggert.
88438
88439 2004-12-18  Bruno Haible  <bruno@clisp.org>
88440
88441         * doc/alloca.texi: New file.
88442         * doc/alloca-opt.texi: New file.
88443
88444 2004-12-17  Jim Meyering  <jim@meyering.net>
88445
88446         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
88447         Otherwise, install-sh could exit with improper exit status when
88448         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
88449
88450 2004-12-16  Simon Josefsson  <jas@extundo.com>
88451
88452         * tests/test-base64.c: Add license.
88453
88454 2004-12-15  Stepan Kasal  <address@hidden>
88455
88456         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
88457
88458 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
88459
88460         * modules/getcwd (Files): Add m4/d-ino.m4.
88461         Suggested by Mark D. Baushke.
88462
88463 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88464
88465         * lib/getdate.y (textint): New member "negative".
88466         (time_zone_hhmm): New function.
88467         Expect 14 shift-reduce conflicts, not 13.
88468         (o_colon_minutes): New rule.
88469         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
88470         (yylex): Set the "negative" member of signed numbers.
88471
88472 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88473
88474         * doc/getdate.texi (Time of day items, Time zone items):
88475         Describe new formats +00:00, UTC+00:00.
88476
88477 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
88478
88479         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
88480         spurious "-l"s.  Problem reported by Stepan Kasal.
88481
88482 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
88483
88484         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
88485         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
88486
88487 2004-12-04  Simon Josefsson  <jas@extundo.com>
88488
88489         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
88490         Vandoorselaere <yoann@prelude-ids.org>.
88491
88492 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88493
88494         Changes imported from coreutils.
88495         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
88496         exist.
88497         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
88498
88499 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88500
88501         Changes imported from coreutils.
88502         * lib/hard-locale.c: Assume <locale.h> exists.
88503         Include "strdup.h".
88504         (GLIBC_VERSION): New macro.
88505         (hard_locale): Assume setlocale exists.
88506         Rewrite to avoid #ifdef.
88507         Use strdup rather than malloc + strcpy.
88508         * lib/human.c: Assume <locale.h> exists.
88509         (human_readable): Assume localeconv exists.
88510
88511 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88512
88513         * modules/hard-locale (Depends-on): Add strdup.
88514
88515 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
88516
88517         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
88518         convert T2, not T.  (Imported from libc.)
88519
88520 2004-11-30  Simon Josefsson  <jas@extundo.com>
88521
88522         * modules/restrict (License): Change to LGPL.
88523
88524 2004-11-30  Simon Josefsson  <jas@extundo.com>
88525
88526         * m4/restrict.m4: Add copyright and copying conditions.
88527
88528 2004-11-30  Simon Josefsson  <jas@extundo.com>
88529
88530         * m4/base64.m4: New file.
88531
88532 2004-11-30  Simon Josefsson  <jas@extundo.com>
88533
88534         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
88535         base64.
88536
88537         * tests/test-base64.c: New file.
88538
88539         * modules/base64: New file.
88540
88541 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88542
88543         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
88544         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
88545
88546         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
88547
88548 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88549
88550         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
88551         (__getcwd.c): Don't restore errno; glibc doesn't.
88552         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
88553         first, falling back to our code only if its results look suspicious.
88554         Ensure that the resulting buffer is only as large as necessary.
88555
88556         * lib/readutmp.c: Include readutmp.h first.
88557         Include <errno.h>, since readutmp.h no longer does that.
88558         * lib/readutmp.h: Don't include <errno.h>,
88559         <sys/param.h>, <time.h>; not needed to establish interface.
88560         (errno): Remove decl.
88561         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
88562         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
88563         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
88564
88565 2004-11-28  Simon Josefsson  <jas@extundo.com>
88566
88567         * lib/base64.h, base64.c: New file.
88568
88569 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
88570
88571         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
88572
88573 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88574
88575         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
88576         (Depends-on): Remove pathmax, same.  Add mempcpy.
88577         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
88578         (Makefile.am): Append getcwd.h to lib_SOURCES.
88579         (Include): Add getcwd.h.
88580         (Maintainer): Change from Jim Meyering to "all, glibc",
88581         since getdate now uses intended-for-glibc code.
88582         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
88583         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
88584
88585 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88586
88587         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
88588         HP's ANSI C compiler.
88589         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
88590         Declaring int functions causes warnings on some modern systems and
88591         shouldn't be needed to compile on ancient ones.
88592         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
88593         defined.
88594
88595         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
88596         with the following changes.
88597         (__set_errno): Parenthesize properly.
88598         Include <stdbool.h>.
88599         (MIN, MAX, MATCHING_INO): New macros.
88600         (__getcwd): Define with prototype, not K&R form.
88601         Use heuristics to allocate default buffer on stack if possible.
88602         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
88603         behavior, and to avoid the PATH_MAX limit when computing
88604         ../../../../...
88605         Use MATCHING_INO to compare inode number to file.
88606         Check for arithmetic overflow in size calculations.
88607         Fix bug in reallocation of dot array that caused getcwd to fail
88608         on directories nested deeper than 75.
88609         Be more careful about saving errno on error.
88610         Do not use realloc; use only free+malloc, as this is a bit
88611         more flexible and avoids a needless copy operation.
88612         Do not inspect st_dev and st_ino for symbolic links; POSIX
88613         doesn't specify the latter.
88614         Check for closedir errors.
88615         Avoid needless casts.
88616         Use "#ifdef weak_alias" around weak_alias, to be like other
88617         glibc code.
88618         The following changes to getcwd.c have effect only when used in
88619         gnulib; they have no effect inside glibc proper.
88620         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
88621         as alloca isn't used.
88622         (alloca, __alloca): Likewise.
88623         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
88624         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88625         unconditionally, as gnulib assumes C89 or better.
88626         Do not include <sys/param.h>.
88627         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
88628         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
88629         better.
88630         (NULL) [!defined NULL]: Remove; we assume C89 or better.
88631         Include <dirent.h> in a way that is compatible with modern Autoconf.
88632         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
88633         New macros, if not already defined.
88634         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
88635         Use "_LIBC", not "defined _LIBC", for consistency.
88636         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
88637         a mempcpy module.
88638         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
88639         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
88640         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
88641         credit only to Jim Meyering and adjust the copyright dates.
88642         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
88643         <stdlib.h>, <unistd.h>, "pathmax.h".
88644         Instead, include "xgetcwd.h" (first) and "getcwd.h".
88645         (INITIAL_BUFFER_SIZE): Remove.
88646         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
88647
88648 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88649
88650         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
88651         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
88652         Use the _ONCE methods, for efficiency.
88653         Check for fcntl.h.  In test program, include <errno.h>
88654         and <fcntl.h> if available.  Remove old K&R cruft from
88655         test program.  Check for common errors in GNU/Linux,
88656         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
88657         don't do AC_LIBOBJ, as that's getcwd.m4's job.
88658         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
88659         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
88660         name accordingly.
88661         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
88662         accommodate new getcwd.c.
88663         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
88664         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
88665         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
88666         that's all we need now.
88667
88668 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88669
88670         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
88671         argp-parse.c depends on getopt internals, that means we should
88672         always use our getopt, to be on the safe side.
88673         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
88674         order not to spoil the result of an eventual previous invocation
88675         of gl_GETOPT_SUBSTITUTE.
88676
88677 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88678
88679         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
88680         redefinition warnings. To avoid them, include the defines
88681         in `#if !defined __need_getopt ... #endif'. The only place
88682         where __getopt_argv_const is used is in definitions
88683         of getopt_long and getopt_long_only below, which are as well
88684         protected by `#ifndef __need_getopt'.
88685         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
88686         __need_getopt after including <stdio.h> and <unistd.h> These
88687         headers might have defined it.
88688
88689 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88690
88691         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
88692
88693 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88694
88695         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
88696         (futimens): New function, which uses futimes if available.
88697         (futimens, utimens): Support timespec==NULL, with same semantics
88698         as utime and utimens.
88699         * lib/utimens.h (futimens): New decl.
88700
88701 2004-11-23  Jim Meyering  <jim@meyering.net>
88702
88703         * lib/getopt_.h: Remove trailing blanks.
88704
88705 2004-11-23  Jim Meyering  <jim@meyering.net>
88706
88707         * lib/__fpending.c: Add comment.
88708
88709 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
88710
88711         * modules/canonicalize (Depends-on): Add xreadlink.
88712         Problem reported by James Youngman.
88713
88714 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
88715
88716         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
88717         New macros.
88718         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
88719         optopt): Use them instead of invoking ## directly; otherwise, the
88720         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
88721
88722 2004-11-19  Bruno Haible  <bruno@clisp.org>
88723
88724         * lib/strtok_r.c: Move comments from here...
88725         * lib/strtok_r.h: ... to here.
88726
88727 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88728
88729         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
88730         implementations that mishandle size_t overflow.
88731
88732 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88733
88734         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
88735         might fail.  Problem reported by Yoann Vandoorselaere.
88736         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
88737         implementations that mishandle size_t overflow.
88738
88739 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88740
88741         * modules/canon-host (Depends-on): Add strdup.
88742
88743 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88744
88745         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
88746
88747 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88748
88749         * lib/canon-host.c: Include "strdup.h".
88750         (canon_host): Use getaddrinfo if available, so that IPv6 works.
88751         Use strdup instead of malloc/strcpy to duplicate strings.
88752
88753         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
88754         (human_space_before_unit): New constant.
88755         * lib/human.c (human_readable): Support it.
88756
88757         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
88758         (xgetcwd): Set errno correctly when failing.
88759         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
88760         the failure is actually due to a PATH_MAX problem.
88761
88762         Further getopt changes to make it more likely that glibc will
88763         buy the changes back.
88764         * lib/getopt.c (POSIXLY_CORRECT): New constant.
88765         (getopt): Use it, so to preserve glibc semantic
88766         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
88767         when compiling for libc.
88768         * lib/getopt_.h (__getopt_argv_const): Bring it back.
88769         (getopt_long, getopt_long_only): Use it.
88770
88771         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88772         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
88773         (getopt): Argv is now char * const *, as per standard.
88774         (_getopt_internal_r, _getopt_internal): Argv is now char **,
88775         not char *__getopt_argv_const *.
88776         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88777         _getopt_long_only_r): Likewise.
88778         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
88779         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88780         _getopt_long_r, _getopt_long_only_r): Likewise.
88781         * lib/getopt_.h (__getopt_argv_const): Remove.
88782         (getopt): Argv is now char * const *, as per standard.
88783
88784         * lib/getdate.y (tORDINAL): New token.
88785         (day, relunit): Allow it for relative times.
88786         (relative_time_table): Use tORDINAL for ordinals.
88787
88788 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88789
88790         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
88791         Document that "second" isn't allowed as an ordinal number.
88792
88793 2004-11-16  Jim Meyering  <jim@meyering.net>
88794
88795         * modules/closeout (Depends-on): Add fpending.
88796
88797 2004-11-15  Jim Meyering  <jim@meyering.net>
88798
88799         * lib/closeout.c: Include "__fpending.h" once again.
88800         Include <stdbool.h>.
88801         (close_stdout): Don't fail just because stdout was closed initially,
88802         since some programs don't write to stdout in the normal course of
88803         operation (other than --version and --help), and we don't want this
88804         function to make e.g. `touch file >&-' fail.
88805         But do fail if it was closed and someone has tried to write to it.
88806         E.g., `printf foo >&-' must fail.
88807
88808 2004-11-13  Jim Meyering  <jim@meyering.net>
88809
88810         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
88811
88812 2004-11-12  Simon Josefsson  <jas@extundo.com>
88813
88814         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
88815         small doc fix is still pending.
88816
88817 2004-11-11  Simon Josefsson  <jas@extundo.com>
88818
88819         * modules/strtok_r: New file.
88820
88821         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88822         strtok_r.
88823
88824 2004-11-11  Simon Josefsson  <jas@extundo.com>
88825
88826         * m4/strtok_r.m4: New file.
88827
88828         * m4/getopt.m4: Replace opterr.
88829
88830 2004-11-11  Simon Josefsson  <jas@extundo.com>
88831
88832         * lib/strtok_r.h, strtok_r.c: New file.
88833
88834 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88835
88836         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
88837         of replacing opterr, getopt, etc.  This should handle the
88838         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
88839
88840 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88841
88842         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
88843         we can stop lying to compilers about the constness of argv when we
88844         are compiled outside glibc.
88845         (getopt, getopt_long, getopt_long_only): Use it.
88846         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88847         _getopt_internal, getopt): Likewise.
88848         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88849         _getopt_long_only_r): Likewise.
88850         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88851         _getopt_long_r, _getopt_long_only_r): Likewise.
88852
88853         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
88854         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
88855         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
88856         the other external symbols.
88857         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
88858         declaration, since the above renaming now works around collisions.
88859
88860 2004-11-11  Jim Meyering  <jim@meyering.net>
88861
88862         * lib/linebreak.c: Remove trailing blanks.
88863         * lib/alloca_.h: Likewise.
88864         * lib/acosl.c: Likewise.
88865         * lib/euidaccess.c: Likewise.
88866         * lib/allocsa.h: Likewise.
88867
88868 2004-11-10  Simon Josefsson  <jas@extundo.com>
88869
88870         * m4/getaddrinfo.m4: New file.
88871
88872 2004-11-10  Simon Josefsson  <jas@extundo.com>
88873
88874         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
88875
88876 2004-11-10  Simon Josefsson  <jas@extundo.com>
88877
88878         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88879         getaddrinfo.
88880
88881         * modules/getaddrinfo: New file.
88882
88883 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88884
88885         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
88886
88887 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88888
88889         * lib/mktime.c (SHR): New macro, which is a portable
88890         substitute for >> that should work even on Crays.
88891         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
88892         Problem reported by Mark D. Baushke in
88893         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
88894         * lib/getdate.y (SHR): Likewise.
88895         (tm_diff): Use it.
88896         * lib/strftime.c (SHR): Likewise.
88897         (tm_diff): Use it.
88898         * lib/quotearg.c (struct quoting_options): Use unsigned int for
88899         quote_these_too, so that right shifts are well defined.  All uses
88900         changed.
88901
88902 2004-11-10  Jim Meyering  <jim@meyering.net>
88903
88904         Ensure that no close failure goes unreported.
88905         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
88906         return early when it seems there's nothing to flush.
88907         Don't include __fpending.h.
88908
88909 2004-11-10  Jim Meyering  <jim@meyering.net>
88910
88911         * modules/closeout (Depends-on): Remove fpending.
88912
88913 2004-11-10  Jim Meyering  <jim@meyering.net>
88914
88915         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
88916
88917 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88918
88919         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
88920         gl_FUNC_STRFTIME.
88921         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
88922         and AC_REQUIRE when possible, to avoid duplicate checks.
88923         Check for <wchar.h>.
88924
88925 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88926
88927         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
88928
88929 2004-11-09  Bruno Haible  <bruno@clisp.org>
88930
88931         * m4/sockpfaf.m4: New file.
88932
88933 2004-11-05  Bruno Haible  <bruno@clisp.org>
88934
88935         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
88936         Reported by Mark D. Baushke <mdb@cvshome.org>.
88937
88938 2004-11-04  Bruno Haible  <bruno@clisp.org>
88939
88940         2004-09-11  Bruno Haible  <bruno@clisp.org>
88941                 * allocsa.valgrind: New file.
88942         2004-02-06  Bruno Haible  <bruno@clisp.org>
88943                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
88944                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
88945                 Reported by Christopher Seip <chris.seip@hp.com>.
88946
88947 2004-11-04  Bruno Haible  <bruno@clisp.org>
88948
88949         * modules/allocsa (Files): Add lib/allocsa.valgrind.
88950         (Makefile.am): Distribute it.
88951
88952 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
88953
88954         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
88955         with errno == ERANGE if the buffer is too small.
88956         Problem reported by Mark D. Baushke.
88957
88958 2004-11-03  Albert Chin  <china@thewrittenword.com>
88959             Paul Eggert  <eggert@cs.ucla.edu>
88960
88961         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
88962         equivalent, substitute $ac_type for equivalent type rather than
88963         blindly using uint32_t *always* which won't work if uint32_t is not
88964         available.  Define _UINT32_T to work around typedef of uint32_t if
88965         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
88966         2.5.1.
88967
88968 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88969
88970         * m4/jm-macros.m4: Sync from coreutils.
88971         (gl_MACROS): Check for mbrlen, for pathchk.
88972         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
88973
88974 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88975
88976         * lib/xreadlink.c (MAXSIZE): New macro.
88977         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
88978         size does not exceed MAXSIZE.  Avoid cast.
88979         As suggested by Mark D. Baushke in
88980         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
88981         if readlink fails with buffer size just under MAXSIZE, try again
88982         with MAXSIZE.
88983
88984 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88985
88986         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
88987
88988 2004-11-02  Derek R. Price  <derek@ximbiot.com>
88989         and  Paul Eggert  <eggert@cs.ucla.edu>
88990
88991         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
88992         (get_date): Overparenthesize to avoid GCC warning.
88993
88994 2004-11-02  Bruno Haible  <bruno@clisp.org>
88995
88996         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
88997         returns void.
88998
88999 2004-11-02  Bruno Haible  <bruno@clisp.org>
89000
89001         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
89002         function returns void.
89003
89004 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89005
89006         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
89007         fflush_unlocked, flockfile, funlockfile, funlockfile,
89008         fputs_unlocked, putc_unlocked.
89009
89010 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89011
89012         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89013         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
89014         already declared.
89015
89016 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89017
89018         * modules/getdate (Files): Add doc/getdate.texi.
89019         (Depends-on): Add setenv, xalloc.
89020
89021 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89022
89023         * lib/getdate.y: Add support for TZ="foo" within a date string.
89024         Fix some bugs near time_t boundaries.  Reject dates with
89025         out-of-range components, e.g., "Sept 31".
89026         Include <stdlib.h>, "setenv.h", "xalloc.h".
89027         (ISDIGIT_LOCALE): Remove; unused.
89028         Note that the TZ and time functions used here are not reentrant.
89029         (mktime_ok, get_tz): New functions.
89030         (TZBUFSIZE): New constant.
89031         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
89032         This requires that we sometimes generate our own TZ="XXX..." setting.
89033
89034 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89035
89036         * doc/getdate.texi: New file, from coreutils with modifications for
89037         the new TZ parsing.
89038
89039 2004-10-27  Derek R. Price  <derek@ximbiot.com>
89040
89041         * lib/mktime.c (not_equal_tm): Remove redundant check.
89042
89043 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89044
89045         * modules/regex (lib_SOURCES): Add regex.c.
89046         Reported by James Youngman in
89047         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
89048
89049 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89050
89051         * lib/getdate.y: Use Bison 1.875 features, and some minor
89052         code cleanups.  This change does not affect semantics.
89053         Don't include <stdlib.h>; no longer needed.
89054         Don't include unlocked-io.h; only the "#if TEST" code uses
89055         stdio, and performance isn't crucial there.
89056         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
89057         Bison 1.875 features as described below.
89058         All uses of "PC." replaced by "pc->".
89059         (YYSTYPE): Add a forward declaration.
89060         (yylex, yyerror): Use full prototypes in forward decls.
89061         Use "%pure-parser" rather than obsolescent "%pure_parser".
89062         Use %parse-param and %lex-param instead of obsolescent
89063         YYPARSE_PARAM and YYLEX_PARAM.
89064         (meridian_table, month_and_day_table, time_units_table,
89065         relative_time_table, time_zone_table, military_table,
89066         lookup_zone, lookup_word, get_date):
89067         Use NULL instead of 0 where appropriate.
89068         (to_hour): Avoid abort (), to avoid a dependency on
89069         stdlib.h.
89070         (yyerror, yylex): Now accepts parser_control * arg.
89071         (main) [TEST]: Use '\0' rather than 0 for char.
89072
89073 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89074
89075         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
89076
89077 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89078
89079         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
89080         It's now the caller's responsibility to handle the case where
89081         !HAVE_GETPAGESIZE && !defined getpagesize.
89082
89083         * lib/mktime.c (leapyear): Arg is long int, not int.
89084
89085 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
89086
89087         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
89088
89089 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
89090
89091         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
89092         missing.  Problem reported by James Youngman.
89093
89094 2004-10-16  Simon Josefsson  <jas@extundo.com>
89095
89096         * gnulib-tool: Fix comments.  Fix parse problem.
89097         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
89098
89099 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
89100
89101         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
89102         implementation of getopt_long.  Problem reported by Alexander Taler in:
89103         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
89104
89105 2004-10-15  Bruno Haible  <bruno@clisp.org>
89106
89107         * gnulib-tool: Untabify. Initialize supplied_libname.
89108         (func_usage): More homogenous output.
89109         (func_modules_transitive_closure, func_modules_to_filelist,
89110         func_emit_lib_Makefile_am): New functions.
89111         (func_import): New function, extracted from big case statement. Use
89112         func_get_license, func_modules_transitive_closure,
89113         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
89114         opt_lgpl. Don't use test -a, as it's not portable.
89115         (func_create_testdir): Use func_modules_transitive_closure,
89116         func_modules_to_filelist, func_emit_lib_Makefile_am.
89117
89118 2004-10-15  Bruno Haible  <bruno@clisp.org>
89119
89120         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
89121
89122 2004-10-15  Bruno Haible  <bruno@clisp.org>
89123
89124         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
89125         the portions belonging to each module.
89126         Suggested by Derek Robert Price <derek@ximbiot.com>.
89127
89128 2004-10-12  Simon Josefsson  <jas@extundo.com>
89129
89130         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89131         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
89132         to real functions.
89133
89134 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89135
89136         * modules/vsnprintf: New file.
89137
89138 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89139
89140         * m4/vsnprintf.m4: New file.
89141
89142 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89143
89144         * lib/vsnprintf.h: New file.
89145         * lib/vsnprintf.c: New file.
89146
89147 2004-10-11  Bruno Haible  <bruno@clisp.org>
89148
89149         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
89150         vsnprintf.
89151
89152 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
89153
89154         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
89155
89156 2004-10-07  Bruno Haible  <bruno@clisp.org>
89157
89158         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
89159         fits into the provided buffer.
89160
89161 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
89162
89163         * lib/diacrit.c, diacrit.h: Add GPL notice.
89164
89165         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
89166         notice.
89167         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
89168         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
89169         This avoids a potential constant-folding bug.
89170
89171 2004-10-05  Bruno Haible  <bruno@clisp.org>
89172
89173         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
89174         for the declaration of strsep.
89175
89176 2004-10-05  Bruno Haible  <bruno@clisp.org>
89177
89178         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
89179
89180 2004-10-04  Simon Josefsson  <jas@extundo.com>
89181
89182         * modules/memmem: New file.
89183         * tests/test-memmem.c: New file.
89184         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
89185
89186 2004-10-04  Simon Josefsson  <jas@extundo.com>
89187
89188         * m4/memmem.m4: New file.
89189
89190 2004-10-04  Simon Josefsson  <jas@extundo.com>
89191
89192         * lib/memmem.h: New file.
89193         * lib/memmem.c: New file, taken from glibc.
89194
89195 2004-10-04  Simon Josefsson  <jas@extundo.com>
89196
89197         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
89198         '#ifdef USE_UNLOCKED_IO'.
89199
89200 2004-10-04  Simon Josefsson  <jas@extundo.com>
89201
89202         * config/srclist.txt: Add memmem from glibc.
89203
89204 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89205
89206         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
89207
89208         * modules/argmatch, modules/argp, modules/closeout, modules/error,
89209         modules/exclude, modules/getdate, modules/getline,
89210         modules/getndelim2, modules/getpass, modules/getpass-gnu,
89211         modules/getusershell, modules/linebuffer, modules/md5,
89212         modules/mountlist, modules/posixtm, modules/readtokens,
89213         modules/readutmp, modules/regex, modules/sha1,
89214         modules/version-etc, modules/yesno:
89215         Remove dependency on unlocked-io.
89216
89217 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89218
89219         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
89220
89221         * m4/unlocked-io.m4: Add copyright notice.
89222         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
89223
89224 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89225
89226         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
89227         * lib/xmalloc.c (xmemdup): Likewise.
89228         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
89229         XFREE): Remove these long-obsolescent macros.
89230         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
89231         * lib/xstrdup.c: Remove.
89232
89233         * lib/regex.c (re_comp): Cast gettext return value to char *,
89234         Problem reported by Martin Neitzel via Mark D. Baushke.
89235
89236 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89237
89238         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
89239         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
89240         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
89241         regex.c, sha1.c, version-etc.c, yesno.c:
89242         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
89243         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
89244         the includer's responsibility.
89245
89246         Sync from coreutils.
89247
89248         * lib/modechange.c (mode_compile): Don't decrement a pointer that
89249         points to the start of a string, as the C Standard says the
89250         resulting behavior is undefined.
89251
89252         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
89253         simple -> simple_backups, numbered_existing ->
89254         numbered_existing_backups, numbered -> numbered_backups
89255         to avoid shadowing problems.  All uses changed.
89256         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
89257         * lib/backupfile.c (check_extension, numbered_backup):
89258         Rename locals to avoid shadowing 'basename'.
89259         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
89260         once.
89261
89262         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
89263         * lib/.cvsignore: Add getopt.h.
89264
89265 2004-10-04  Bruno Haible  <bruno@clisp.org>
89266
89267         * modules/README: New file.
89268         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
89269         not a module.
89270
89271 2004-10-02  Jim Meyering  <jim@meyering.net>
89272
89273         * lib/dirfd.h, getpagesize.h: Add copyright notice.
89274
89275 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89276
89277         * modules/strsep: New file.
89278
89279 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89280
89281         * m4/strsep.m4: New file.
89282
89283 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89284
89285         * lib/strsep.h: New file.
89286         * lib/strsep.c: New file.
89287
89288 2004-10-01  Simon Josefsson  <jas@extundo.com>
89289
89290         * lib/snprintf.c (snprintf): Handle size==0.
89291
89292 2004-10-01  Simon Josefsson  <jas@extundo.com>
89293             Bruno Haible  <bruno@clisp.org>
89294
89295         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
89296         (snprintf): Declare 'args'.
89297
89298 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
89299
89300         * lib/snprintf.c: Remove comments as to why each header is needed.
89301
89302 2004-10-01  Bruno Haible  <bruno@clisp.org>
89303
89304         * MODULES.html.sh: Add strsep.
89305
89306 2004-09-30  Simon Josefsson  <jas@extundo.com>
89307
89308         * modules/snprintf: New file.
89309
89310 2004-09-30  Simon Josefsson  <jas@extundo.com>
89311
89312         * m4/snprintf.m4: New file.
89313
89314 2004-09-30  Simon Josefsson  <jas@extundo.com>
89315
89316         * lib/snprintf.h, lib/snprintf.c: New files.
89317
89318 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89319
89320         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
89321         (hol_entry_help): Never translate an empty string.
89322         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
89323         * lib/argp.h (OPTION_NO_TRANS): New option.
89324
89325 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89326
89327         * modules/argp (Maintainer): Replace Simon Josefsson
89328         by Sergey Poznyakoff.
89329
89330 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89331
89332         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
89333         changes merged back into glibc.
89334
89335 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89336
89337         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
89338
89339 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
89340
89341         * lib/xvasprintf.c: Include xalloc.h.
89342         (xvasprintf): Use xalloc_die, not xmalloc_die.
89343
89344 2004-09-29  Bruno Haible  <bruno@clisp.org>
89345
89346         * modules/alloca-opt: New file, derived from modules/alloca.
89347         * modules/allocsa: Depend on alloca-opt instead of alloca.
89348         * modules/setenv: Likewise.
89349         * modules/vasnprintf: Likewise.
89350         * MODULES.html.sh: Add alloca-opt.
89351
89352 2004-09-28  Simon Josefsson  <jas@extundo.com>
89353
89354         * gnulib-tool: New parameter --lgpl, to asseert that modules are
89355         LGPL, and to replace license template from GPL to LGPL.
89356
89357 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89358
89359         * modules/dummy: Change license to LGPL.
89360
89361 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89362
89363         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
89364
89365 2004-09-24  Simon Josefsson  <jas@extundo.com>
89366
89367         * modules/minmax (License): Change from GPL to LGPL.
89368
89369 2004-09-23  Simon Josefsson  <jas@extundo.com>
89370
89371         * gnulib-tool (--import): Typo.
89372
89373 2004-09-23  Simon Josefsson  <jas@extundo.com>
89374
89375         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
89376
89377 2004-09-22  Bruno Haible  <bruno@clisp.org>
89378
89379         * modules/*: Add 'License' field.
89380         * gnulib-tool: Accept --extract-license option.
89381         (func_get_license): New function.
89382
89383 2004-09-21  Bruno Haible  <bruno@clisp.org>
89384
89385         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
89386         Reported by Simon Josefsson.
89387
89388 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89389
89390         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
89391         gl_AC_TYPE_LONG_LONG.
89392
89393 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89394
89395         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
89396
89397 2004-09-18  Simon Josefsson  <jas@extundo.com>
89398         and  Paul Eggert  <eggert@cs.ucla.edu>
89399
89400         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
89401         calls with autoreconf.  Define GL_LIB.
89402
89403 2004-09-14  Karl Berry  <karl@gnu.org>
89404
89405         * config/srclist.txt: unsync setenv.c, sigh.
89406
89407 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89408
89409         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
89410         Problem reported by Bruno Haible in:
89411         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
89412
89413 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89414
89415         * config/srclist.txt: Comment out argp-pvh.c.
89416
89417 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
89418
89419         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
89420         in case some system header has #define'd it.  Problem reported by
89421         Soeren D. Schulze in
89422         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
89423
89424 2004-09-09  Karl Berry  <karl@gnu.org>
89425
89426         * regex.[ch]: delete from the root.  These were supposed to be
89427                 synced with emacs cvs, but this has not happened for about
89428                 a year, and anyway nothing else uses emacs regex.[ch].
89429                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
89430                 lib/regex[.ch] is untouched.
89431
89432 2004-09-09  Bruno Haible  <bruno@clisp.org>
89433
89434         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
89435
89436 2004-09-09  Bruno Haible  <bruno@clisp.org>
89437
89438         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
89439         modifications.
89440         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
89441
89442 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89443
89444         * modules/xvasprintf: New file.
89445         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
89446
89447 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89448
89449         * lib/xvasprintf.h: New file.
89450         * lib/xvasprintf.c: New file.
89451         * lib/xasprintf.c: New file.
89452
89453 2004-09-08  Bruno Haible  <bruno@clisp.org>
89454
89455         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
89456
89457 2004-09-08  Bruno Haible  <bruno@clisp.org>
89458
89459         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
89460         length is > INT_MAX.
89461         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
89462         more.
89463
89464 2004-09-08  Bruno Haible  <bruno@clisp.org>
89465
89466         * lib/stdint_.h: New file, taken from GNU clisp.
89467
89468 2004-09-08  Bruno Haible  <bruno@clisp.org>
89469             Oskar Liljeblad  <oskar@osk.mine.nu>
89470
89471         * modules/stdint: New file.
89472         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
89473
89474 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89475
89476         Import from coreutils.
89477         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
89478         strings on unbounded length.  alloca's performance benefits aren't
89479         that important here.
89480         (V_STRDUP): Remove.
89481         (parse_with_separator): New function, with most of the internals
89482         of the old parse_user_spec.  Allow user to omit both user and group,
89483         for compatibility with FreeBSD.
89484         Clone only the user name, not the entire spec.
89485         Do not set *uid, *gid unless entirely successful.
89486         Avoid memory leak in some failing cases.
89487         Fix regression for USER.GROUP reported by Dmitry V. Levin in
89488         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
89489         (parse_user_spec): Rewrite to use parse_with_separator.
89490
89491 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89492
89493         * modules/userspec: Don't depend on alloca.
89494
89495 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89496
89497         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
89498
89499 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
89500
89501         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
89502         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
89503         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
89504
89505 2004-08-16  Simon Josefsson  <jas@extundo.com>
89506
89507         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
89508         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
89509         Add --dry-run for --import.
89510         Let user provided command line parameters override configure.ac
89511         settings.
89512
89513 2004-08-12  Simon Josefsson  <jas@extundo.com>
89514
89515         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
89516         as discussed with Paul Eggert in threads rooted at
89517         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
89518         and
89519         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
89520         Before, the test was empty, and relied on ELIDE_CODE in source
89521         code.)
89522         (gl_PREREQ_GETOPT): New macro.
89523         (gl_GETOPT): Use them.
89524
89525 2004-08-12  Simon Josefsson  <jas@extundo.com>
89526
89527         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
89528         * lib/getopt_.h: Renamed from getopt.h.
89529
89530 2004-08-12  Simon Josefsson  <jas@extundo.com>
89531
89532         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
89533         Change default library name from libfoo to libgnu.
89534         Now, if you have a configure.ac that says:
89535                 gl_SOURCE_BASE(gl)
89536                 gl_M4_BASE(gl/m4)
89537                 gl_MODULES(error getopt etcetera)
89538                 gl_INIT
89539         you can import all you need by running:
89540                 ../gnulib/gnulib-tool --import
89541
89542         * modules/getopt (Files): Rename getopt.h to getopt_.h.
89543         (Makefile.am): Rewrite, use logic from argz.
89544         (Include): Use <getopt.h> instead of "getopt.h".
89545
89546 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89547
89548         * modules/argp (Files): Add m4/unlocked-io.m4.
89549         (Depends-on): Add extensions.
89550
89551 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89552
89553         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
89554         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
89555         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
89556         Check for program_invocation_name, program_invocation_short_name,
89557         flockfile, funlockfile, features.h, _getopt_long_only_r.
89558
89559 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89560
89561         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
89562         its complicated substitute.
89563         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
89564         and program_invocation_name.
89565         (__argp_basename) [!_LIBC]: Remove; the only use was
89566         replaced by its body.
89567         (__argp_short_program_name): Change condition from
89568         !defined __argp_short_program_name to
89569         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
89570         to match argp-namefrob.h.
89571         (__argp_failure): Don't assume strerror_r returns char *.
89572         * lib/argp-parse.c (N_): Define unconditionally.
89573         (argp_default_options): Fill out initializers with 0 to avoid
89574         gcc warnings.
89575
89576 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89577
89578         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
89579         getopt1.c.
89580
89581 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89582
89583         Merge from coreutils.
89584
89585         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
89586
89587         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
89588         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
89589
89590 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89591
89592         Merge from coreutils.
89593
89594         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
89595         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
89596         for Reliant Unix 5.43.
89597
89598         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
89599         (union fooround): Use uintmax_t, not long int.
89600         The rest is a merge from libc:
89601         [defined _LIBC]: Include <shlib-compat.h>.
89602         (_obstack) [defined _LIBC]: Remove after 2.3.4.
89603
89604         * lib/settime.c (settime): Recode to avoid warning with
89605         Sun Forte C 6U2.
89606
89607         * lib/strverscmp.c: Convert to UTF-8.
89608
89609 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89610
89611         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
89612         m4/uintmax_t.m4.
89613
89614 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89615
89616         * modules/xalloc-die: New file.
89617         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
89618
89619         * modules/md5 (Files): Add m4/uint32_t.m4.
89620         * modules/sha1: Renamed from modules/sha.
89621         (Files):
89622         Rename lib/sha.h to lib/sha1.h.
89623         Rename lib/sha.c to lib/sha1.c.
89624         Rename m4/sha.m4 to m4/sha1.m4.
89625         (lib_SOURCES): Likewise.
89626         (configure.ac): Rename gl_SHA to gl_SHA1.
89627         (Include): sha.h -> sha1.h.
89628
89629 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89630
89631         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
89632         * m4/sha1.m4: Renamed from sha.m4.
89633         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
89634
89635 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89636
89637         * lib/obstack.h (obstack_empty_p):
89638         Don't assume that chunk->contents is suitably aligned.
89639         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
89640         Likewise. Problem reported by Benno in
89641         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
89642
89643         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
89644         readable.  This could be improved further but it'd take some work.
89645
89646 2004-08-08  Simon Josefsson  <jas@extundo.com>
89647
89648         * modules/xgethostname (Depends-on): Remove exit and error (not
89649         used).
89650
89651         * modules/getpass-gnu: Add getpass.h.
89652         (Depends-on): Add stdbool.
89653         * modules/getpass: Add getpass.h.
89654
89655 2004-08-08  Simon Josefsson  <jas@extundo.com>
89656
89657         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
89658         Check getpass declaration.
89659
89660 2004-08-08  Simon Josefsson  <jas@extundo.com>
89661
89662         * lib/xgethostname.c: Don't include error.h (not used).
89663
89664         * lib/getpass.h: Add.
89665         * lib/getpass.c: Include getpass.h first.
89666
89667 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
89668
89669         * lib/xalloc-die.c: New file.
89670         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
89671         All uses removed.
89672         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
89673         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
89674         xalloc-die.c.
89675         (_, N_, xalloc_die): Move to xalloc-die.c.
89676         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
89677         so that we needn't mess with xalloc_msg_memory_exhausted.
89678
89679         * lib/sha1.h: Renamed from sha.h.
89680         (SHA1_H): Renamed from _SHA_H.
89681         (sha1_ctx): Renamed from sha_ctx.
89682         (sha1_init_ctx): Renamed from sha_init_ctx.
89683         (sha1_process_block): Renamed from sha_process_block.
89684         (sha1_process_bytes): Renamed from sha_process_bytes.
89685         (sha1_finish_ctx): Renamed from sha_finish_ctx.
89686         (sha1_read_ctx): Renamed from sha_read_ctx.
89687         (sha1_stream): Renamed from sha_stream.
89688         (sha1_buffer): Renamed from sha_buffer.
89689         * lib/sha1.c: Likewise; renamed from sha.c.
89690         Do not include <sys/types.h>.
89691         Include <stddef.h> rather than <stdlib.h>.
89692
89693 2004-08-08  Bruno Haible  <bruno@clisp.org>
89694
89695         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
89696         FILESYSTEM_PREFIX_LEN.
89697         * lib/progreloc.c: Likewise.
89698         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
89699
89700 2004-08-06  Simon Josefsson  <jas@extundo.com>
89701
89702         * modules/progname (Depends-on): Don't depend on stdbool.
89703
89704 2004-08-06  Simon Josefsson  <jas@extundo.com>
89705
89706         * modules/getsubopt: New file.
89707         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89708         getsubopt.
89709
89710 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89711
89712         More merge from coreutils.
89713
89714         * m4/utimens.m4, m4/utimecmp.m4: New files.
89715         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
89716         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
89717         prereq.m4, sha.m4: Import changes from coreutils.
89718
89719 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89720
89721         More merge from coreutils.
89722         * modules/raise, modules/readtokens0, modules/utimens:
89723         * modules/utimecmp, module/xnanosleep: New files.
89724         * modules/strftime: Add lib/strftime.h.
89725         Change include from <time.h> to "strftime.h".
89726         * modules/yesno: Add lib/yesno.h.
89727         * modules/backupfile: Remove lib/addext.c.
89728         * modules/euidaccess: Add stat-macros.h.
89729         * modules/canonicalize, modules/euidaccess,
89730         modules/filemode, modules/lchown, modules/makepath,
89731         modules/rmdir, modules/stat: Likewise.
89732
89733 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89734
89735         Merge from tar.
89736         * lib/argp-help.c (make_hol, hol_append): Don't assume that
89737         SIZE_MAX is a valid preprocessor constant.
89738         (__argp_basename): Change from "#ifndef _LIBC"
89739         to "#ifndef __argp_short_program_name", so that
89740         we don't compile these functions for tar.
89741
89742         More merges from coreutils.
89743         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
89744         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
89745         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
89746         * lib/addext.c: Remove; no longer needed.
89747         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
89748         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
89749         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
89750         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
89751         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
89752         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
89753         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
89754         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
89755         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
89756         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
89757         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
89758         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
89759         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
89760         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
89761         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
89762         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
89763         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
89764         Import changes from coreutils.
89765
89766 2004-08-05  Simon Josefsson  <jas@extundo.com>
89767
89768         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
89769
89770 2004-08-05  Simon Josefsson  <jas@extundo.com>
89771
89772         * m4/getsubopt.m4: New file.
89773
89774 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89775
89776         Merge from coreutils.
89777
89778         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
89779         * m4/getcwd-path-max.m4: New files.
89780
89781         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
89782         FILESYSTEM_PREFIX_LEN ->
89783         FILE_SYSTEM_PREFIX_LEN.
89784         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
89785         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
89786         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
89787         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
89788
89789         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
89790         prerequisite modules now handle the DOS stuff.
89791         Don't check for unistd.h.
89792
89793 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89794
89795         Merge from coreutils.
89796
89797         * lib/.gdb-history: Remove; this doesn't belong here.
89798
89799         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
89800         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
89801         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
89802         * lib/getcwd.c: New files.
89803
89804         * lib/dirname.h: Include <stdbool.h>.
89805         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
89806         for consistency with POSIX terminology.  All uses changed.
89807         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
89808         (strip_trailing_slashes): Use bool for booleans.
89809         * lib/stripslash.c (strip_trailing_slashes): Likewise.
89810
89811         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
89812         sometimes returns a positive errno value even when it succeeds.
89813         (print_errno_message) [!LIBC]: Fall back on strerror if
89814         __strerror_r fails.
89815
89816         * lib/path-concat.c (mempcpy): Don't define if a system header defines
89817         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
89818         (longest_relative_suffix): New function.
89819         (path_concat): Use it.  Assume first argument is not NULL.
89820         Port to DOS.  Omit redundant separators.
89821         Report an error instead of returning NULL.
89822         Use mempcpy instead of memcpy.
89823         (xpath_concat): Remove: not declared or used.
89824
89825         * lib/same.h: Include <stdbool.h>
89826         (same_name): Return bool, not int.
89827         * lib/same.c (same_name): Likewise.
89828         (errno): Don't declare; we assume C89 or better now.
89829
89830         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
89831         if not already defined.
89832
89833         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
89834         * lib/dup-safer.c (errno): Likewise.
89835
89836 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89837
89838         Merge from coreutils.
89839         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
89840         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
89841         * modules/path-concat: Don't depend on strdup.
89842
89843 2004-08-03  Simon Josefsson  <jas@extundo.com>
89844
89845         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
89846         * lib/progname.h: Don't include stdbool.h.
89847
89848 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89849
89850         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
89851         * MODULES.html.sh (func_all_modules): Remove fatal.
89852
89853 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89854
89855         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
89856
89857 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89858
89859         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
89860         working.
89861
89862 2004-08-02  Simon Josefsson  <jas@extundo.com>
89863
89864         * lib/getsubopt.h: New file, with comments from Bruno Haible.
89865         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
89866         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
89867
89868 2004-08-01  Simon Josefsson  <jas@extundo.com>
89869
89870         * lib/xgetdomainname.c: Include stdlib.h, for free().
89871
89872 2004-07-19  Bruno Haible  <bruno@clisp.org>
89873
89874         * MODULES.html.sh (func_all_modules): Add dummy.
89875
89876 2004-07-16  Simon Josefsson  <jas@extundo.com>
89877
89878         * modules/dummy: New file.
89879
89880 2004-07-16  Simon Josefsson  <jas@extundo.com>
89881
89882         * lib/dummy.c: New file.
89883
89884 2004-07-16  Bruno Haible  <bruno@clisp.org>
89885
89886         * lib/backupfile.h: Add extern "C" for C++.
89887         * lib/closeout.h: Likewise.
89888         * lib/copy-file.h: Likewise.
89889         * lib/findprog.h: Likewise.
89890         * lib/full-write.h: Likewise.
89891         * lib/pathname.h: Likewise.
89892         * lib/progname.h: Likewise.
89893         * lib/stpcpy.h: Likewise.
89894         * lib/stpncpy.h: Likewise.
89895         * lib/strcase.h: Likewise.
89896         * lib/strstr.h: Likewise.
89897         * lib/xalloc.h: Likewise.
89898
89899         * lib/mbswidth.h: Add extern "C" for C++.
89900         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
89901
89902 2004-07-13  Robert Millan  <robertmh@gnu.org>
89903
89904         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
89905
89906 2004-07-09  Simon Josefsson  <jas@extundo.com>
89907
89908         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
89909         failed without this.)
89910
89911 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89912
89913         * modules/chown (Files): Add lib/fchown-stub.c, since
89914         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
89915
89916 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89917
89918         * lib/fchown-stub.c: New file.
89919
89920 2004-06-24  Jim Meyering  <jim@meyering.net>
89921
89922         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
89923
89924 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89925
89926         * modules/argz: Omit "#include".
89927
89928         * MODULES.html.sh (func_all_modules): Add calloc, to match
89929         2004-06-01 addition of calloc module.
89930
89931 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89932
89933         * m4/argz.m4: New file, which is autoupdated from libtool.
89934
89935 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89936
89937         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
89938         libtool.
89939
89940 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89941
89942         * config/srclist-update: Don't insist on "USA." before the
89943         close-comment, as libtool omits the period and puts the */ on a
89944         separate line.
89945         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
89946         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
89947
89948 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
89949
89950         * modules/argz: New file.
89951         * MODULES.html.sh (func_all_modules): Add argz.
89952
89953 2004-06-12  Jim Meyering  <jim@meyering.net>
89954         and  Paul Eggert  <eggert@cs.ucla.edu>
89955
89956         * modules/hash (Files): Add lib/xalloc.h.
89957         * modules/pipe (Depends-on): Add wait-process.
89958         * modules/stat (Depends-on): Add xalloc.
89959         * modules/userspec (Files): Add lib/userspec.h.
89960         * modules/xstrto
89961
89962         Upgrade from gettext-0.13.
89963         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
89964         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
89965         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
89966
89967 2004-06-10  Jim Meyering  <jim@meyering.net>
89968
89969         * lib/calloc.c: New file.
89970
89971 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
89972
89973         * lib/getdate.y (yylex): Allow space between sign and number.
89974         Problem reported by Dan Jacobson.
89975
89976 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89977
89978         Merge from coreutils CVS.
89979
89980         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
89981         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
89982         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
89983         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
89984         xstrtol.m4: Fix copyright date and/or serial number.
89985
89986         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
89987         See if we need an fchown replacement.
89988         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
89989         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
89990         and use the replacement function if we detect either defect.
89991
89992         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
89993         gl_UTIMECMP.
89994
89995 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89996         and  Jim Meyering  <jim@meyering.net>
89997
89998         Merge from coreutils CVS.
89999
90000         * lib/stat-macros.h: New file, with contents from file-type.h
90001         and coreutils' system.h.
90002         * lib/file-type.c: Include "stat-macros.h".
90003         * lib/file-type.h (file_type): Move all macro definitions to new file,
90004         stat-macros.h.
90005
90006         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
90007         Wrap old code with this conditional.
90008         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
90009         function that does not dereference symlinks.
90010         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
90011
90012         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
90013         dependency problems.
90014         (xreadlink): Accept new arg SIZE, for efficiency.
90015         All decls and uses changed.
90016         * lib/xreadlink.h: Include <stddef.h>, for size_t.
90017
90018         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
90019         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
90020
90021         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
90022         sysexits.h.
90023
90024 2004-06-01  Jim Meyering  <jim@meyering.net>
90025
90026         * m4/calloc.m4: New file.
90027
90028 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
90029
90030         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
90031         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
90032         Also, fix a typo in a diagnostic.
90033
90034 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90035
90036         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
90037         or AC_FUNC_REALLOC.
90038
90039 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90040
90041         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
90042         macros to be defined.
90043         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
90044         the allocator returns NULL because the requested size is zero.
90045
90046 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
90047
90048         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
90049         var.  Add comment explaining why libc still defines it.  This
90050         merges the following patch from glibc:
90051         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
90052
90053 2004-05-20  Andreas Schwab  <schwab@suse.de>
90054
90055         * m4/free.m4: Replace free if it not known to work, not the other
90056         way round.
90057
90058 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
90059
90060         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
90061         present in glibc since revision 1.1 of this file.
90062         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
90063         obstack_alignment_mask, obstack_alloc, obstack_base,
90064         obstack_blank, obstack_blank_fast, obstack_chunk_size,
90065         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
90066         obstack_grow0, obstack_init, obstack_int_grow,
90067         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
90068         obstack_next_free, obstack_object_size, obstack_ptr_grow,
90069         obstack_ptr_grow_fast, obstack_room): Remove declarations of
90070         nonexistent functions.
90071
90072 2004-05-18  Karl Berry  <karl@gnu.org>
90073
90074         * config/srclist.txt: break link for vasnprintf.c.
90075
90076 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90077
90078         Port obstack to the AS/400, where pointers are 16 bytes wide and
90079         you cannot cast an integer to a valid pointer.  This patch is
90080         currently waiting to be integrated into glibc; see
90081         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
90082
90083         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
90084         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
90085         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
90086         (struct obstack): temp member is now a union of a pointer and
90087         an integer, instead of an integer.  All integer uses changed.
90088         This does not affect the physical layout of struct obstack,
90089         except on hosts (like the AS/400) where the size or alignment of
90090         void * is greater than that of ptrdiff_t.
90091         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
90092         __STDC__)]: Store temporary in pointer member of union, not
90093         integer member.
90094         * lib/obstack.c: Include <stddef.h>, for offsetof.
90095         (struct fooalign): Remove; it doesn't need a name.
90096         (union fooround): Change double to long double, and add void *.
90097         (DEFAULT_ALIGNMENT): Use offsetof to compute.
90098         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
90099         not a macro.  Hence the values are always int; so remove all
90100         casts-to-int in uses.
90101
90102 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90103
90104         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
90105         we can get this patch merged into glibc.
90106
90107 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90108             Paul Eggert  <eggert@cs.ucla.edu>
90109
90110         * m4/argp: Depend on alloca.
90111
90112 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90113             Paul Eggert  <eggert@cs.ucla.edu>
90114
90115         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
90116         freecoding.
90117
90118 2004-05-17  Bruno Haible  <bruno@clisp.org>
90119
90120         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
90121         precision that consists of a '.' followed by an empty digit string.
90122         Patch by Tor Lillqvist <tml@iki.fi>.
90123
90124 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90125
90126         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
90127         for backward compatibility with older code.  We need our own
90128         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
90129         it under some other name, and our alloca.h will define it.
90130
90131 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90132             Derek Price  <derek@ximbiot.com>
90133
90134         * lib/alloca.c: Include <alloca.h>, to get our interface.
90135         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
90136         include <alloca.h> first.  Use C89 prototype for alloca; this
90137         requires including <stddef.h> for size_t.  Use extern "C" if C++.
90138         Use #elif for simplicity, since we can assume C89 now.
90139         Don't try to source the system alloca.h since it will not be found
90140         and to prevent recursively including its replacement.
90141         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
90142         * lib/regex.c: Likewise.
90143
90144 2004-05-16  Derek Price  <derek@ximbiot.com>
90145             Paul Eggert  <eggert@cs.ucla.edu>
90146
90147         getline cleanup.  This changes the getndelim2 API: both order of
90148         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
90149         no delimiter).
90150
90151         * lib/getline.c: Don't include stddef.h or stdio.h, since our
90152         interface does that.
90153         (getline): Always use getdelim, so that we don't have two
90154         copies of this code.
90155         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
90156         if available.
90157         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
90158         (GETNDELIM2_MAXIMUM): New macro.
90159         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
90160         instead of the old practice of delim2==0.  All callers changed.
90161         Return -1 on overflow, instead of returning junk.
90162         Do not set *linesize unless allocation succeeds.
90163         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
90164         that we include sys/types.h.
90165         * lib/getnline.h: Likewise.
90166         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
90167         (getndelim2): Reorder arguments.
90168         * lib/getnline.c (getnline, getndelim):
90169         Don't discard the NMAX argument.
90170         (getnline): Invoke getndelim, to avoid code duplication.
90171         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
90172         of (size_t) -1 by callers of the getnline family.
90173
90174 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90175
90176         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
90177         Check for gettimeofday.
90178         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
90179         Check for settimeofday, stime.
90180
90181 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90182
90183         * lib/nanosleep.c (suspended): Change its type from int to
90184         sig_atomic_t volatile.
90185         (first_call): Make it private to rpl_nanosleep, and have it
90186         be zero initially as that's a bit faster.
90187         (my_usleep): Round up fractional times instead of truncating them,
90188         as this is the usual meaning for 'sleep'.
90189
90190         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
90191         doesn't work.
90192         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
90193         (ENOSYS): Define if not defined.
90194         (settime): Fall back on stime if it exists and settimeofday fails.
90195         But don't bother with fallbacks if a method fails with errno == EPERM.
90196
90197 2004-05-11  Jim Meyering  <jim@meyering.net>
90198
90199         Prior to this change, the save_cwd caller required read access to the
90200         current directory on most systems (ones with the fchdir function).
90201
90202         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
90203         fails, try write-only, and finally, resort to using xgetcwd.
90204
90205 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
90206
90207         * lib/obstack.c, obstack.h: Import changes from libc.
90208
90209 2004-04-28  Bruno Haible  <bruno@clisp.org>
90210
90211         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
90212         also implicitly appends .exe to executables.
90213         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
90214         accepts Windows pathnames.
90215         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90216         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90217         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90218         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90219         Reported by Derek Robert Price <derek@ximbiot.com>.
90220
90221 2004-04-21  Karl Berry  <karl@gnu.org>
90222
90223         * config/srclist.txt (localcharset.c): break sync.
90224
90225 2004-04-20  Paul Eggert  <eggert@twinsun.com>
90226
90227         * m4/host-os.m4: Add a copyright notice.
90228
90229 2004-04-20  Jim Meyering  <jim@meyering.net>
90230
90231         Change UTILS_ to gl_ in AC_DEFINE'd names.
90232         Change utils_- and jm_-prefixed variables, too.
90233         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
90234         UTILS_FUNC_MKDIR_TRAILING_SLASH.
90235         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
90236
90237         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
90238         Don't emit trailing blanks.
90239         Also rename jm_-prefixed variables to have gl_ prefix.
90240
90241         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
90242         Also rename jm_-prefixed variables to have gl_ prefix.
90243
90244         * m4/jm-macros.m4: Reflect the renamings.
90245         * m4/prereq.m4: Likewise.
90246
90247 2004-04-20  Jim Meyering  <jim@meyering.net>
90248
90249         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
90250         memory.
90251
90252 2004-04-20  Jim Meyering  <jim@meyering.net>
90253             Bruno Haible  <bruno@clisp.org>
90254
90255         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
90256         memory when realloc fails.
90257
90258 2004-04-19  Jim Meyering  <jim@meyering.net>
90259
90260         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
90261         now that readutmp.c may call `free (0)'.
90262
90263 2004-04-19  Bruno Haible  <bruno@clisp.org>
90264
90265         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
90266         * m4/inttypes_h.m4: Likewise.
90267         * m4/stdint_h.m4: Likewise.
90268         * m4/intmax_t.m4: Likewise.
90269         * m4/uintmax_t.m4: Likewise.
90270
90271 2004-04-18  Jim Meyering  <jim@meyering.net>
90272
90273         * m4/prereq.m4: Don't forbid jm_ prefix.
90274
90275         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
90276         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
90277         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
90278         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
90279         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
90280         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
90281         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
90282         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
90283         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
90284         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
90285         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
90286         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
90287         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
90288         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
90289         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
90290         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
90291         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
90292         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
90293         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
90294
90295 2004-04-18  Jim Meyering  <jim@meyering.net>
90296
90297         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
90298         failure, don't leak memory and do call END_UTMP_ENT.
90299
90300 2004-04-16  Jim Meyering  <jim@meyering.net>
90301
90302         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
90303         coreutils' stat program.
90304         (gl_PREREQ): Don't require jm_PREREQ_STAT.
90305
90306 2004-04-11  Paul Eggert  <eggert@twinsun.com>
90307
90308         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
90309         C89.
90310         (CHAR_BIT): Remove, since we assume C89.
90311         Include <stdint.h> if available, as per current Autoconf CVS advice.
90312
90313 2004-03-31  Jim Meyering  <jim@meyering.net>
90314
90315         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
90316         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
90317         * m4/xalloc.m4: Likewise.
90318
90319 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90320
90321         Merge from coreutils.
90322
90323         * m4/inttostr.m4: New file.
90324         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
90325         Require AM_STDBOOL_H and gl_TIMESPEC instead.
90326         Require gl_CLOCK_TIME.
90327         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
90328
90329 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90330
90331         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
90332         not bool, to be more consistent with Unix conventions.
90333         Suggested by Bruno Haible.
90334
90335         Merge from coreutils.
90336
90337         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
90338         * lib/umaxtostr.c: New files.
90339
90340         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
90341         the usual <time.h> dance.
90342         (get_date): Change signature to support fractional time stamps.
90343         All callers changed.
90344         * lib/getdate.y: Include "getdate.h" first, as we can now
90345         assume C89 and don't need to worry about 'const'.
90346         Similarly, include "unlocked-io.h" near start, not in middle.
90347         Include <limits.h>.
90348         (textint.value): Use long int rather than int.
90349         (textint.digits): Use size_t rather than int.
90350         (BILLION, LOG10_BILLION): New constants.
90351         (parser_control): New member rel_ns.  Members day_ordinal,
90352         time_zone, month, day, hour, minutes, rel_year, rel_month,
90353         rel_day, rel_hour, rel_minutes, rel_seconds
90354         are now long int, not int.  Member seconds is now struct timespec,
90355         not int.  New member timespec_seen.  Members dates_seen, days_seen,
90356         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
90357         not int.
90358         (%union.intval): Now long int, not int.
90359         New member timespec.
90360         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
90361         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
90362         (spec): Now is a timespec or an item list.
90363         (timespec, items): New nonterminals.
90364         (time, rel, relunit, number, get_date):
90365         Add support for fractional seconds.
90366         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
90367         (gmtime, localtime, mktime): Remove decls; not needed with C89.
90368         (to_hour): First arg is now long int, not int.
90369         (to_year): Returns long int, not int.
90370         Don't treat year -70 like 70.
90371         (tm_diff): Returns long int, not int.
90372         (lookup_word): Use bool instead of int when appropriate.
90373         (yylex): Use size_t for count, not int.
90374         Detect overflow when parsing large integer constants.
90375         Add support for fractions.
90376         (get_date): Make pointers 'const' if possible.
90377         Use more-portable code to detect integer overflow.
90378         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
90379         Don't use ctime; it's not reliable if the year has >4 digits.
90380
90381         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
90382         This is for compatibility with BSD.
90383
90384         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
90385         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
90386         From coreutils' system.h.
90387
90388         * lib/userspec.c: Don't include "posixver.h".
90389         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
90390         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
90391         compatible extension.  Simplify code by removing a boolean int
90392         that was always nonzero if a string was nonnull.
90393
90394 2004-03-30  Jim Meyering  <jim@meyering.net>
90395
90396         Merge from coreutils.
90397
90398         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
90399         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
90400         on some systems one must include <grp.h> before it.
90401         Reported by Christian Krackowizer.
90402
90403 2004-03-30  Jim Meyering  <jim@meyering.net>
90404
90405         Merge from coreutils.
90406
90407         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
90408
90409         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
90410         an empty input stream.
90411
90412         * lib/readtokens.c: Include <stdbool.h>.
90413         (readtoken): Use `size_t' rather than int/long.
90414         All callers adjusted.
90415         Use `bool' rather than `int' where appropriate.
90416         Use memset rather than an explicit loop.
90417         Use x2nrealloc rather than xrealloc.
90418         Allow the use of `\0' as a delimiter.
90419         (readtokens): Likewise.
90420         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
90421
90422 2004-03-30  Jim Meyering  <jim@meyering.net>
90423
90424         * m4/realloc.m4: Remove file, since now it does no more than
90425         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
90426         the `configure.ac' section of module/realloc.
90427         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
90428
90429 2004-03-30  Bruno Haible  <bruno@clisp.org>
90430
90431         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
90432         nonnull.
90433
90434 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90435
90436         Merge changes to getloadavg.c from coreutils and Emacs.
90437
90438         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
90439         Define to an expression, not to the empty string.
90440         Include cloexec.h and xalloc.h.
90441         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
90442         Use set_cloexec_flag rather than rolling our own.
90443         * lib/cloexec.c, lib/cloexec.h: New files.
90444
90445 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90446
90447         * m4/cloexec.m4: New file.
90448
90449 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90450
90451         * lib/getopt.h: Sync with libc CVS.
90452
90453 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90454             Bruno Haible  <bruno@clisp.org>
90455
90456         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
90457         mbswidth.
90458
90459 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90460             Bruno Haible  <bruno@clisp.org>
90461
90462         * lib/mbswidth.h: Include <wchar.h> only if
90463         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
90464         <wchar.h>.
90465         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
90466
90467 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90468
90469         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
90470         Sync with libc CVS.
90471         * lib/getopt_int.h: New file, also synced from libc.
90472
90473 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90474
90475         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
90476         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
90477         Bring back getopt.c, getopt.h, getopt1.c.
90478
90479 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90480
90481         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
90482         All uses changed.  Check for sa_sigaction member; this fixes
90483         a bug first reported by Jason Andrade in
90484         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90485
90486 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90487
90488         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
90489         '#if' expressions.  Unlike the code it replaces, it does not
90490         depend on (defined _SC_PAGESIZE).  However, it does depend on
90491         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
90492         first reported by Jason Andrade in
90493         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90494
90495 2004-02-25  Simon Josefsson  <jas@extundo.com>
90496
90497         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
90498
90499 2004-02-25  Simon Josefsson  <jas@extundo.com>
90500
90501         * lib/strdup.h: New file.
90502         * lib/strdup.c: Include it.
90503         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
90504         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
90505
90506 2004-02-23  Karl Berry  <karl@gnu.org>
90507
90508         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
90509         (from fencepost.gnu.org:/gd/gnuorg).
90510
90511 2004-02-23  Karl Berry  <karl@gnu.org>
90512
90513         * config/srclistvars.sh (GNUORG) [karl]: redefine.
90514         * config/srclist.txt: add maintain/standards documents.
90515
90516 2004-02-18  Bruno Haible  <bruno@clisp.org>
90517
90518         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
90519         Reported by Derek Robert Price <derek@ximbiot.com>.
90520
90521 2004-02-16  Karl Berry  <karl@gnu.org>
90522
90523         * config/mkinstalldirs, install-sh: update from automake.
90524
90525 2004-02-06  Karl Berry  <karl@gnu.org>
90526
90527         * m4/po.m4: update from gettext 0.14.1.
90528
90529 2004-02-06  Karl Berry  <karl@gnu.org>
90530
90531         * lib/config.charset: update from gettext 0.14.1.
90532
90533 2004-02-05  Paul Eggert  <eggert@twinsun.com>
90534
90535         Add comments and code, prompted by suggestions from Bruno Haible
90536         for sh-quote.
90537         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
90538         describing the enum quoting_style values.
90539         * lib/quotearg.c (quotearg_alloc): New function.
90540         (quotearg_buffer_restyled): Treat lone { and } as special.
90541         Treat = as special.  Work around bug with older shells
90542         that "see" a '\' that is really the 2nd byte of a multibyte char.
90543         Quote empty string with shell_quoting_style.
90544
90545 2004-02-03  Bruno Haible  <bruno@clisp.org>
90546
90547         * m4/pipe.m4: New file, from GNU gettext.
90548
90549 2004-02-03  Bruno Haible  <bruno@clisp.org>
90550
90551         * lib/pipe.h: New file, from GNU gettext.
90552         * lib/pipe.c: New file, from GNU gettext.
90553
90554 2004-01-27  Bruno Haible  <bruno@clisp.org>
90555
90556         * m4/execute.m4: New file, from GNU gettext.
90557
90558 2004-01-27  Bruno Haible  <bruno@clisp.org>
90559
90560         * lib/execute.h: New file, from GNU gettext.
90561         * lib/execute.c: New file, from GNU gettext.
90562         * lib/w32spawn.h: New file, from GNU gettext.
90563
90564 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90565
90566         Merge from diffutils.
90567
90568         * lib/file-type.c (file_type): Add typed memory objects.
90569         * lib/file-type.h (S_TYPEISTMO): New macro.
90570
90571         * lib/c-stack.h (c_stack_action): Remove argv argument.
90572         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
90573         (die): Don't calculate message unless segv_action returns.
90574         (get_stack_location, min_address_from_argv, max_address_from_argv,
90575         volatile stack_base, volatile_stack_size): Remove.
90576         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
90577         that every segmentation violation is a stack overflow.  (Ouch!)
90578         See Debian bug 136249 (still outstanding) for more info about why
90579         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
90580
90581 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90582
90583         Exit-status fix from coreutils.
90584
90585         Use exit_failure consistently in place of EXIT_FAILURE,
90586         so that program exit statuses are consistent on failure.
90587
90588         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
90589         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
90590         * lib/argmatch.h: Comment fix to match the above.
90591         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
90592         Now a macro referring to exit_failure, instead of a separate
90593         variable.  Include "exitfail.h" to get it.
90594         * lib/xstrtol.h: Include "exitfail.h".
90595         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
90596
90597         * lib/long-options.c (parse_long_options): Use prototype
90598         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
90599         for clarity.
90600
90601 2004-01-21  Jim Meyering  <jim@meyering.net>
90602
90603         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
90604         so as not to conflict with a different-sized __mktime_internal
90605         function in GNU libc.
90606         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
90607         Problem building statically-linked `ls' reported by Michael Brunnbauer.
90608
90609 2004-01-20  Karl Berry  <karl@gnu.org>
90610
90611         * config/config.guess: update from config.
90612
90613         * config/srclistvars.sh: GNUWWWLICENSES for karl.
90614
90615 2004-01-20  Bruno Haible  <bruno@clisp.org>
90616
90617         Safer stack allocation.
90618         * lib/setenv.c: Include allocsa.h.
90619         (alloca): Remove fallback definition.
90620         (freea): Remove macro.
90621         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
90622         instead of freea.
90623
90624 2004-01-20  Bruno Haible  <bruno@clisp.org>
90625
90626         * m4/eealloc.m4: New file, from GNU gettext.
90627
90628 2004-01-20  Bruno Haible  <bruno@clisp.org>
90629
90630         * m4/allocsa.m4: New file, from GNU gettext.
90631
90632 2004-01-20  Bruno Haible  <bruno@clisp.org>
90633
90634         * lib/xallocsa.h: New file, from GNU gettext.
90635         * lib/xallocsa.c: New file, from GNU gettext.
90636
90637 2004-01-20  Bruno Haible  <bruno@clisp.org>
90638
90639         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
90640
90641 2004-01-20  Bruno Haible  <bruno@clisp.org>
90642
90643         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
90644         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
90645         specially.
90646
90647 2004-01-20  Bruno Haible  <bruno@clisp.org>
90648
90649         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
90650         patch.
90651
90652 2004-01-20  Bruno Haible  <bruno@clisp.org>
90653
90654         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
90655
90656 2004-01-20  Bruno Haible  <bruno@clisp.org>
90657
90658         * lib/eealloc.h: New file.
90659
90660 2004-01-20  Bruno Haible  <bruno@clisp.org>
90661
90662         * lib/binary-io.h: Avoid warnings on Cygwin.
90663
90664 2004-01-20  Bruno Haible  <bruno@clisp.org>
90665
90666         * lib/allocsa.h: New file, from GNU gettext.
90667         * lib/allocsa.c: New file, from GNU gettext.
90668
90669 2004-01-18  Karl Berry  <karl@gnu.org>
90670
90671         * doc/gpl.texi, doc/lgpl.texi: new files.
90672
90673 2004-01-18  Karl Berry  <karl@gnu.org>
90674
90675         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
90676         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
90677
90678 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90679
90680         Merge from coreutils.
90681
90682         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
90683         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
90684         (gl_DEFAULT_POSIX2_VERSION): Move
90685         the documentation from 'configure' into 'config.hin',
90686         so that 'configure --help' isn't burdened by it and
90687         we don't have to worry about its formatting there.
90688         Reword the documentation so that it's more succinct
90689         and can be run together into a single paragraph.
90690         * m4/same.m4 (gl_SAME): Check for pathconf.
90691
90692 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90693
90694         Merge from coreutils.
90695
90696         * lib/posixver.c: Include posixver.h.
90697
90698         * lib/same.c: Include <stdbool.h>, <limits.h>.
90699         (_POSIX_NAME_MAX): Define if not defined.
90700         (MIN): New macro.
90701         (same_name): If file names are silently truncated, report
90702         that the file names are the same if they are the same after
90703         the silent truncation.
90704
90705         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
90706         conversion function.
90707         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
90708         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
90709         longer needed.
90710
90711 2004-01-15  Jim Meyering  <jim@meyering.net>
90712
90713         Merge from coreutils.
90714
90715         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
90716         if no library is required.
90717         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
90718         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
90719         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
90720         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
90721         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
90722         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
90723         value, $ac_cv_search_crypt, if it's "none required".
90724         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
90725         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
90726         not gl_FUNC_GETLOADAVG.
90727         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
90728         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
90729
90730 2004-01-15  Jim Meyering  <jim@meyering.net>
90731
90732         Merge from coreutils.
90733
90734         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
90735         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
90736         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
90737
90738         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
90739         optional configure-time default.
90740
90741         * lib/version-etc.c (version_etc_copyright): Update copyright date.
90742
90743         * lib/xreadlink.c (xreadlink): Correct outdated comment.
90744
90745 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
90746
90747         Merge from coreutils.
90748
90749         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
90750         value, $ac_cv_search_nanosleep, if it's "none required".
90751
90752 2004-01-14  Paul Eggert  <eggert@twinsun.com>
90753
90754         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
90755         with like-named macro in fnmatch.c.
90756         (EXT): Use an internal constant instead.
90757
90758         Merge fnmatch patches from glibc.
90759         * lib/fnmatch.c (mbsinit): Remove define.
90760         Add libc_hidden_ver (__fnmatch, fnmatch).
90761         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
90762         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
90763
90764 2004-01-14  Karl Berry  <karl@gnu.org>
90765
90766         * config/install-sh: update from automake.
90767
90768 2004-01-13  Karl Berry  <karl@gnu.org>
90769
90770         * config/install-sh: update from automake.
90771
90772 2004-01-09  Karl Berry  <karl@gnu.org>
90773
90774         * config/install-sh: update from automake.
90775
90776 2004-01-05  Karl Berry  <karl@gnu.org>
90777
90778         * config/config.{sub,guess}: update from config.
90779
90780 2003-12-31  Karl Berry  <karl@gnu.org>
90781
90782         * config/depcomp: update from automake.
90783
90784 2003-12-14  Karl Berry  <karl@gnu.org>
90785
90786         * lib/config.charset: update from gettext-runtime.
90787
90788 2003-12-03  Paul Eggert  <eggert@twinsun.com>
90789
90790         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
90791         Bug reported by Alfred M. Szmidt.
90792
90793 2003-12-03  Bruno Haible  <bruno@clisp.org>
90794
90795         * m4/gettext.m4: Upgrade from gettext-0.13.
90796         * m4/po.m4: Upgrade from gettext-0.13.
90797         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
90798         * m4/intmax.m4: New file, from gettext-0.13.
90799         * m4/printf-posix.m4: New file, from gettext-0.13.
90800
90801 2003-11-29  Karl Berry  <karl@gnu.org>
90802
90803         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
90804
90805 2003-11-25  Paul Eggert  <eggert@twinsun.com>
90806             Bruno Haible  <bruno@clisp.org>
90807
90808         * lib/printf-parse.h: Don't include sys/types.h.
90809         (ARG_NONE): New macro.
90810         (char_directive): Change type of *arg_index fields to size_t.
90811         * lib/printf-parse.c: Don't include sys/types.h.
90812         (SSIZE_MAX): Remove macro.
90813         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
90814         Remove unnecessary overflow check.
90815         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
90816         fields.
90817
90818 2003-11-25  Bruno Haible  <bruno@clisp.org>
90819
90820         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
90821
90822 2003-11-25  Bruno Haible  <bruno@clisp.org>
90823
90824         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
90825         gt_TYPE_SSIZE_T.
90826
90827 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90828
90829         * modules/alloca: Remove dependency on xalloc.
90830
90831 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90832
90833         * lib/alloca.c: Remove dependency on xalloc module.
90834         (xalloc_die): Remove.
90835         (memory_full) [!defined emacs]: New macro.
90836         [!defined emacs]: Don't include xalloc.h.
90837         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
90838         address arithmetic overflows.  Change datatypes a bit to avoid
90839         unnecessary casts.
90840
90841 2003-11-22  Jim Meyering  <jim@meyering.net>
90842
90843         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
90844         s/size/size_t/.
90845
90846 2003-11-21  Karl Berry  <karl@gnu.org>
90847
90848         * config/config.{sub,guess}: update from config.
90849
90850 2003-11-18  Karl Berry  <karl@gnu.org>
90851
90852         * config/config.{sub,guess}: update from config.
90853
90854         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
90855
90856 2003-11-17  Paul Eggert  <eggert@twinsun.com>
90857
90858         * README: Mention that S+T cannot overflow if S is the size of
90859         an existing object and T is sufficiently small.
90860
90861 2003-11-17  Jim Meyering  <jim@meyering.net>
90862
90863         On systems without utime and without a utimes function capable of
90864         dealing with a NULL struct utimbuf* argument, this utime replacement
90865         could -- in unusual circumstances -- leak a file descriptor.
90866         * lib/utime.c: Include <unistd.h> and <errno.h>.
90867         (utime_null): Be sure to close `fd' and to preserve errno.
90868         Reported by Geoff Collyer via Arnold Robbins.
90869
90870 2003-11-17  Bruno Haible  <bruno@clisp.org>
90871
90872         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
90873         (Depends-on): Add xsize.
90874
90875 2003-11-17  Bruno Haible  <bruno@clisp.org>
90876
90877         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
90878
90879 2003-11-17  Bruno Haible  <bruno@clisp.org>
90880
90881         * lib/vasnprintf.c (alloca): Remove fallback definition.
90882         (freea): Remove definition.
90883         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
90884         Reported by Paul Eggert.
90885
90886 2003-11-16  Paul Eggert  <eggert@twinsun.com>
90887             Bruno Haible  <bruno@clisp.org>
90888
90889         Protect against address arithmetic overflow.
90890         * lib/printf-args.h: Include stddef.h.
90891         (arguments): Change type of field 'count' to size_t.
90892         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
90893         'unsigned int' where appropriate.
90894         * lib/printf-parse.h: Include sys/types.h.
90895         (char_directive): Change type of *arg_index fields to ssize_t.
90896         (char_directives): Change type of fields 'count', max_*_length to
90897         size_t.
90898         * lib/printf-parse.c: Include sys/types.h and xsize.h.
90899         (SSIZE_MAX): Define fallback value.
90900         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
90901         instead of 'int' where appropriate. Check a_allocated, d_allocated
90902         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
90903         * lib/vasnprintf.c: Include xsize.h.
90904         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
90905         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
90906         overflow. Avoid wraparound when converting a width or precision from
90907         decimal to binary.
90908
90909 2003-11-16  Bruno Haible  <bruno@clisp.org>
90910
90911         Update from GNU gettext.
90912         * lib/printf-parse.c: Generalize to it can be compiled for wide
90913         strings.
90914         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
90915         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
90916         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
90917         SNPRINTF): New macros.
90918         Don't include <alloca.h> if the file is used inside libintl.
90919         (local_wcslen): New function, for Solaris 2.5.1.
90920         (VASNPRINTF): Use it instead of wcslen.
90921
90922 2003-11-16  Bruno Haible  <bruno@clisp.org>
90923
90924         * lib/xsize.h (xmax): New function.
90925         (xsum, xsum3, xsum4): Declare as "pure" functions.
90926
90927 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90928
90929         * modules/xalloc (Files): Undo latest change, since xalloc.h
90930         no longer needs SIZE_MAX or PTRDIFF_MAX.
90931
90932 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90933
90934         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
90935         gl_PTRDIFF_MAX.
90936
90937 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90938
90939         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
90940         "return", to pacify some unknown compiler.  Problem reported
90941         by Joerg Schilling.
90942
90943 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90944
90945         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
90946         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
90947         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
90948         heuristic is just as accurate as far as we know, and it removes a
90949         dependency on size_max.m4 and ptrdiff_max.m4.
90950
90951 2003-11-11  Bruno Haible  <bruno@clisp.org>
90952
90953         * modules/xsize (Files): Add m4/size_max.m4.
90954         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
90955
90956 2003-11-11  Bruno Haible  <bruno@clisp.org>
90957
90958         * m4/size_max.m4: New file.
90959         * m4/ptrdiff_max.m4: New file.
90960         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
90961         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
90962         (gl_XALLOC): Invoke it.
90963
90964 2003-11-11  Bruno Haible  <bruno@clisp.org>
90965
90966         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
90967         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
90968         defined.
90969
90970 2003-11-10  Paul Eggert  <eggert@twinsun.com>
90971
90972         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
90973         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
90974         rejected some allocations of exactly SIZE_MAX - 2 bytes.
90975         From Bruno Haible.
90976         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
90977         not (size_t) -1, since it's defined here.
90978
90979 2003-11-09  Karl Berry  <karl@gnu.org>
90980
90981         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
90982
90983 2003-11-06  Paul Eggert  <eggert@twinsun.com>
90984
90985         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
90986         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
90987         Reject sizes of exactly SIZE_MAX bytes.
90988         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
90989         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
90990
90991 2003-11-05  Bruno Haible  <bruno@clisp.org>
90992
90993         * lib/xsize.h: Include limits.h, to avoid a possible collision with
90994         SIZE_MAX defined in <limits.h> on Solaris.
90995
90996 2003-11-04  Jim Meyering  <jim@meyering.net>
90997
90998         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
90999         variable names, rather than @VAR@.
91000         * modules/poll: Likewise.
91001
91002 2003-11-04  Bruno Haible  <bruno@clisp.org>
91003
91004         * modules/xsize: New file.
91005         * modules/linebreak: Depend on xsize.
91006         * MODULES.html.sh (func_all_modules): Add xsize.
91007
91008 2003-11-04  Bruno Haible  <bruno@clisp.org>
91009
91010         * m4/xsize.m4: New file.
91011
91012 2003-11-04  Bruno Haible  <bruno@clisp.org>
91013
91014         * lib/xsize.h: New file.
91015         * lib/linebreak.c: Include xsize.h.
91016         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
91017         argument for overflow.
91018         Suggested by Paul Eggert.
91019
91020 2003-11-03  Karl Berry  <karl@gnu.org>
91021
91022         * config/config.{guess,sub}: update from config.
91023
91024 2003-11-03  Jim Meyering  <jim@meyering.net>
91025
91026         * modules/userspec (lib_SOURCES): Add userspec.h.
91027         (Include): Add "userspec.h".
91028         Improve description.
91029
91030 2003-11-03  Jim Meyering  <jim@meyering.net>
91031
91032         * lib/userspec.c: Include "userspec.h".
91033         * lib/userspec.h: New file.
91034
91035 2003-11-03  Bruno Haible  <bruno@clisp.org>
91036
91037         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
91038
91039 2003-11-03  Bruno Haible  <bruno@clisp.org>
91040
91041         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
91042         available, to avoid (extremely rare) race condition.
91043         Suggested by Paul Eggert.
91044
91045 2003-11-02  Karl Berry  <karl@gnu.org>
91046
91047         * config/srclist.txt (vasprintf.c): sync broken, sigh.
91048
91049 2003-10-31  Paul Eggert  <eggert@twinsun.com>
91050
91051         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
91052         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
91053         (read_filesystem_list): Set and use me_type_malloced.
91054         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
91055         whatever the type happens to be), for brevity and consistency.
91056         Check for size calculation overflow on Alphas running OSF/1.
91057
91058 2003-10-31  Jim Meyering  <jim@meyering.net>
91059
91060         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
91061
91062         * lib/linebuffer.c: Include <string.h> for declaration of memset.
91063
91064 2003-10-30  Paul Eggert  <eggert@twinsun.com>
91065             Bruno Haible  <bruno@clisp.org>
91066
91067         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
91068         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
91069
91070 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
91071
91072         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
91073         netbsd*-gnu*.  Suggested by Robert Millan.
91074
91075 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91076
91077         * modules/group-member: Depend on stdbool.
91078
91079 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91080
91081         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
91082
91083 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91084
91085         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
91086         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
91087         after the 'gnu' in these cases.  This fixes some bugs in the
91088         previous change, and is based on suggestions by Robert Millan.
91089
91090 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91091
91092         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
91093         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
91094         no longer needed.
91095         * lib/quotearg.c (quotearg_n_options): Use it.
91096         * lib/group-member.c: Include <stdbool.h>.
91097         (free_group_info): Arg is now const *; don't free arg.
91098         (get_group_info): Now returns bool and accepts struct group_info *,
91099         rather than returning a malloc'ed struct group_info *.
91100         All uses changed.  Check for overflow in internal size calculation.
91101
91102         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
91103         rather than xmalloc/xrealloc.
91104         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
91105         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
91106         conformance bug: the old code used a pointer after freeing the
91107         storage that it addressed.
91108         * lib/hash.c (hash_initialize): Simplify the code by using
91109         xalloc_oversized rather than doing it by hand.
91110         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
91111         the buffer preserved.  Use free and xmalloc instead.
91112         * lib/quotearg.c (quotearg_n_options): Likewise.
91113         Use a simpler test for size overflow.  Don't use xalloc_oversized
91114         because unsigned int might be wider than size_t (!); this suggests
91115         that we should switch from unsigned int to size_t for slot numbers.
91116
91117 2003-10-28  Paul Eggert  <eggert@twinsun.com>
91118
91119         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
91120         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
91121         NetBSD kernels.  Requested by Richard Stallman.
91122
91123 2003-10-27  Paul Eggert  <eggert@twinsun.com>
91124
91125         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
91126         to allocate the returned structure.  Do not allocate a subarray,
91127         as x2nrealloc will do that.
91128         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
91129         instead of xnrealloc.
91130         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
91131
91132 2003-10-27  Bruno Haible  <bruno@clisp.org>
91133
91134         * lib/stdbool_.h: Better support for BeOS.
91135
91136 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91137
91138         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
91139         now uses inline.
91140
91141 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91142
91143         * lib/xalloc.h (xalloc_oversized): New static inline function, for
91144         callers that want to do their own size-overflow checking.  Include
91145         <stdbool.h>, since xalloc_oversized returns bool.
91146         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
91147         to use xalloc_oversized.
91148
91149         Add two functions x2realloc, x2nrealloc, for programs that grow
91150         arrays dynamically by doubling their sizes.
91151         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
91152         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
91153         New functions.
91154
91155         Port to C99 semantics for 'inline' of external functions.
91156         Bug reported by Bruno Haible.
91157         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
91158         with the old contents of xnmalloc.
91159         (xnmalloc, xmalloc): Use it.
91160         (xnrealloc_inline): New static inline function,
91161         with the old contents of xnrealloc.
91162         (xnrealloc, xrealloc): Use it.
91163
91164         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
91165         that.
91166
91167 2003-10-26  Karl Berry  <karl@gnu.org>
91168
91169         * config/srclist.txt (COPYING.DOC): no longer available from
91170         /gd/gnuorg; don't know where the ultimate source is.
91171
91172 2003-10-25  Paul Eggert  <eggert@twinsun.com>
91173
91174         Fix several address-calculation bugs in the hash modules,
91175         plus some minor code cleanup.
91176
91177         * lib/hash.h: Include <stdbool.h>, for bool.
91178         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
91179         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
91180         hash_get_n_entries, hash_get_max_bucket_length,
91181         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
91182         hash_rehash): Use size_t rather than unsigned.
91183         * lib/hash.c (struct hash_table, hash_get_n_buckets,
91184         hash_get_n_buckets_used, hash_get_n_entries,
91185         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
91186         hash_get_entries, hash_do_for_each, hash_string, is_prime,
91187         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
91188         Likewise.
91189         (SIZE_MAX): Define if not defined.
91190         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
91191         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
91192         hash_print):
91193         Use const * when possible.
91194         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
91195         (check_tuning): Fix bug: if tuning parameters were very close to
91196         0 or 1, rounding errors could have caused subscript violations.
91197         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
91198         (hash_initialize): Add 'fail:' label
91199         to free table and return NULL, and use it to simplify code.
91200         Use calloc rather than clearing the storage ourself.
91201         (hash_initialize, hash_rehash): Check for arithmetic overflow in
91202         buffer size calculations.
91203         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
91204         Include <stddef.h>, for size_t.
91205         * lib/hash-pjw.c (hash_pjw): Likewise.
91206         Switch to method described by Bruno Haible.
91207         Include <limits.h>, for CHAR_BIT.
91208         (SIZE_BITS): New macro.
91209
91210 2003-10-23  Paul Eggert  <eggert@twinsun.com>
91211
91212         * m4/getline.m4 (AM_FUNC_GETLINE):
91213         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
91214         hosts.  Problem reported by Derek Robert Price in
91215         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
91216         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
91217         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
91218
91219 2003-10-21  Paul Eggert  <eggert@twinsun.com>
91220
91221         * lib/getndelim2.c (getndelim2): When size calculation overflows,
91222         ceiling the allocation at NMAX bytes rather than silently
91223         discarding input bytes before NMAX is reached.  This makes
91224         a difference only if NMAX exceeds SIZE_MAX / 2.
91225
91226         * lib/obstack.c: Merge from glibc.
91227         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
91228         Add libc_hidden_def (_obstack_newchunk).
91229         (_obstack_free) [! defined _LIBC]: Remove.
91230         [defined _LIBC]: Make a strong alias from obstack_free, rather than
91231         a clone of the function body.
91232         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
91233         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
91234
91235         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
91236         glibc.
91237         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
91238         arg to memcpy.
91239
91240         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
91241         (obstack_ptr_grow_fast, obstack_int_grow_fast):
91242         Don't use lvalue casts, as GCC plans to remove support for them
91243         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
91244         was also present in the non-GCC version, indicating that this
91245         code had always been buggy and had never been widely used.
91246         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
91247         Use the fast variant of each macro, rather than copying the
91248         definiens of the fast variant; that way, we'll be more likely to
91249         catch future bugs in the fast variants.
91250
91251 2003-10-20  Bruno Haible  <bruno@clisp.org>
91252
91253         * modules/wait-process: New file.
91254         * MODULES.html.sh (func_all_modules): Add wait-process.
91255
91256 2003-10-20  Bruno Haible  <bruno@clisp.org>
91257
91258         * m4/wait-process.m4: New file.
91259
91260 2003-10-20  Bruno Haible  <bruno@clisp.org>
91261
91262         * lib/wait-process.h: New file, from GNU gettext.
91263         * lib/wait-process.c: New file, from GNU gettext.
91264
91265 2003-10-19  Jim Meyering  <jim@meyering.net>
91266
91267         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
91268         HPUX 10.20.
91269
91270 2003-10-18  Karl Berry  <karl@gnu.org>
91271
91272         * config/config.guess: update from config.
91273
91274 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91275
91276         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
91277         (getgroups): First arg is int, not size_t.
91278         Don't let 'free' mangle errno.
91279
91280 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91281
91282         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
91283
91284 2003-10-16  Karl Berry  <karl@gnu.org>
91285
91286         * config/config.{guess,sub}: update from config.
91287
91288 2003-10-16  Jim Meyering  <jim@meyering.net>
91289
91290         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
91291         memcpy.
91292
91293 2003-10-15  Paul Eggert  <eggert@twinsun.com>
91294
91295         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
91296         (SIZE_MAX): Remove.
91297         (new_exclude, add_exclude_file): Initial size no longer needs to
91298         be a power of 2.
91299         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
91300         our own address arithmetic overflow checking.
91301
91302         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
91303         (fnmatch): Do not alloca more than 2000 wide characters;
91304         instead, use malloc for large buffers.
91305         Check for address arithmetic overflow, and return -1
91306         with errno set to ENOMEM in that case.
91307         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
91308         (NEW_PATTERN): Do not alloca more than 8000 bytes;
91309         instead, return -1.  Check for address arithmetic overflow.
91310
91311 2003-10-14  Paul Eggert  <eggert@twinsun.com>
91312
91313         Handle invalid suffixes and overflow independently, so that
91314         callers can treat them independently as needed.  Fix some bugs in
91315         suffix handling, e.g., "100k@" was not diagnosed as an invalid
91316         suffix for a human-readable blocksize.  The major caller-visible
91317         change is the addition of a new
91318         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
91319         that both overflow and suffix chars were found.
91320
91321         * lib/human.c (humblock): Don't check separately for invalid suffix
91322         char; that is xstrtoumax's job (now that its bug is fixed).
91323         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
91324         INTMAX_MAX]: New macros.
91325         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
91326         TYPE_MAXIMUM): New macros.
91327         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
91328         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
91329         if overflow occurs, as it's what __strtol does and it's more useful
91330         in practice.
91331         (__xstrtol): If __strtol reports some error other than ERANGE,
91332         reflect it to the caller as LONGINT_INVALID.  If it reports
91333         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
91334         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
91335         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
91336         value.
91337         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
91338         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
91339         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
91340         [defined UINTMAX_MAX]: New macros.
91341
91342 2003-10-14  Bruno Haible  <bruno@clisp.org>
91343
91344         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
91345
91346 2003-10-14  Bruno Haible  <bruno@clisp.org>
91347
91348         * m4/sig_atomic_t: New file, from GNU gettext.
91349         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
91350
91351 2003-10-14  Bruno Haible  <bruno@clisp.org>
91352
91353         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
91354         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
91355         Also use volatile where needed.
91356
91357 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91358
91359         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
91360         Change maintainer from Bruno Haible to 'all'.
91361
91362 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91363
91364         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
91365
91366 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91367
91368         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
91369         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
91370         and define in terms of the other primitives.
91371         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
91372         (SIZE_MAX): Define if not already defined.
91373         (array_size_overflow): New function.
91374         (xalloc_die): Abort instead of exiting if 'error' returns.
91375         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
91376         (xmalloc, xrealloc): Use them.
91377         (xcalloc): Check for address arithmetic overflow.
91378         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
91379         a bit faster than strcpy.
91380
91381 2003-10-10  Simon Josefsson  <jas@extundo.com>
91382
91383         * modules/argp (Depends-on): Add restrict and strcase.
91384
91385 2003-10-10  Simon Josefsson  <jas@extundo.com>
91386
91387         * m4/argp.m4: Add AC_C_INLINE.
91388
91389 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91390
91391         Merge getpass from libc, plus a few fixes.
91392
91393         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
91394         Include <stdbool.h>.
91395         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
91396         __fsetlocking to empty.
91397         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
91398         do include <bits/libc-lock.h>.
91399         Do not include <fcntl.h>; not needed.
91400         [_LIBC]: Include <wchar.h>.
91401         (NOTCANCEL_MODE): New macro.
91402         (flockfile, funlockfile) [_LIBC]: New macros.
91403         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
91404         [!_LIBC]: New macros.
91405         (call_fclose): New function.
91406         (getpass): Use it.  Save tty stream separately; this simplifies the
91407         code and makes it more reliable if stdin happens to equal stdout.
91408         Invoke __fsetlocking on tty.
91409         Handle thread cancellation if needed.
91410         Namespace cleanup (use __tcgetattr, __getline).
91411         Use bool for Booleans.
91412         [USE_IN_LIBIO]: Handle wide streams.
91413         [!_LIBC]: Unconditionally do the fseek, since we don't know what
91414         stream might go where.
91415
91416         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
91417         doesn't have to include <stdio.h> before us.
91418         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
91419         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
91420         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
91421         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
91422         if not declared, so that we can use getpass.c code from libc without
91423         rewriting it.
91424         (flockfile, ftrylockfile, funlockfile): New macros.
91425
91426 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91427
91428         * modules/getpass: Depend on stdbool.
91429
91430 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91431
91432         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
91433
91434 2003-10-07  Karl Berry  <karl@gnu.org>
91435
91436         * config/config.{guess,sub}: update from config.
91437
91438 2003-10-06  Jim Meyering  <jim@meyering.net>
91439             Bruno Haible  <bruno@clisp.org>
91440
91441         This lets translators provide better translations for the
91442         "Written by ..." part of --version output.
91443         * lib/version-etc.h: Include stdarg.h.
91444         (version_etc_copyright): Declare as readonly.
91445         (version_etc): Make this function variadic with a NULL-terminated list
91446         of author name strings.
91447         (version_etc_va): New declaration.
91448         * lib/version-etc.c: Include stdarg.h, stdlib.h.
91449         (version_etc_copyright): Declare as readonly.
91450         (version_etc_va): New function. Provide a different translatable string
91451         for each possible number of authors < 10. Abbreviate when there are 10
91452         authors or more.
91453         (version_etc): Make this function variadic. Call version_etc_va.
91454         Suggestion from Gary V. Vaughan.
91455
91456         * lib/long-options.h (parse_long_options): Change prototype: the
91457         authors string is moved to the end and becomes variadic.
91458         * lib/long-options.c: Include stdarg.h.
91459         (parse_long_options): Make this function variadic, too.
91460         Call version_etc_va, not version_etc.
91461
91462 2003-10-06  Bruno Haible  <bruno@clisp.org>
91463
91464         * modules/version-etc-2: Remove file.
91465         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
91466
91467 2003-10-06  Bruno Haible  <bruno@clisp.org>
91468
91469         * modules/fatal-signal: New file.
91470         * MODULES.html.sh (func_all_modules): Add fatal-signal.
91471
91472 2003-10-06  Bruno Haible  <bruno@clisp.org>
91473
91474         * m4/fatal-signal.m4: New file.
91475         * m4/signalblocking.m4: New file, from GNU gettext.
91476
91477 2003-10-06  Bruno Haible  <bruno@clisp.org>
91478
91479         * lib/version-etc-2.h: Remove file.
91480         * lib/version-etc-2.c: Remove file.
91481
91482 2003-10-06  Bruno Haible  <bruno@clisp.org>
91483
91484         * lib/fatal-signal.h: New file, from GNU gettext.
91485         * lib/fatal-signal.c: New file, from GNU gettext.
91486
91487 2003-10-05  Paul Eggert  <eggert@twinsun.com>
91488
91489         * README: Rework advice for preventing empty .o files.
91490         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
91491         not <sys/types.h>.
91492
91493 2003-10-04  Karl Berry  <karl@gnu.org>
91494
91495         * lib/argp*: update from libc.
91496
91497 2003-10-04  Karl Berry  <karl@gnu.org>
91498
91499         * config/config.{guess,sub}: update from config.
91500
91501 2003-10-02  Bruno Haible  <bruno@clisp.org>
91502
91503         * modules/lchown (Include): Add lchown.h.
91504         * modules/time_r (Include): Use "..." syntax.
91505         * modules/xgetdomainname (Include): Add xgetdomainname.h.
91506
91507 2003-10-01  Simon Josefsson  <jas@extundo.com>
91508
91509         * MODULES.html.sh (func_all_modules): Move gethostname from section
91510         'based on' to section 'lacking' POSIX:2001.
91511
91512 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
91513
91514         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
91515         to output mode on the same stream.
91516
91517 2003-09-29  Paul Eggert  <eggert@twinsun.com>
91518
91519         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
91520         Fix arg typo in previous patch.
91521
91522 2003-09-28  Jim Meyering  <jim@meyering.net>
91523
91524         * lib/error.c: Correct cpp indentation.
91525
91526 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91527
91528         * modules/free: New file.
91529
91530 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91531
91532         * m4/free.m4: New file.
91533
91534 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91535
91536         * lib/minmax.h (MIN, MAX)
91537         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
91538         Omit the special code that used __typeof__, since we worry that
91539         it could be more trouble than it's worth.  See:
91540         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
91541         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
91542
91543         * lib/free.c: New file.
91544
91545 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
91546
91547         Trivial fixes to Makefile.am parts of module listings.
91548         * modules/strstr: Append strstr.h to lib_SOURCES.
91549         * modules/strcase: Likewise, for strcase.h.
91550
91551 2003-09-27  Karl Berry  <karl@gnu.org>
91552
91553         * config/mkinstalldirs: update from automake.
91554
91555 2003-09-26  Paul Eggert  <eggert@twinsun.com>
91556
91557         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
91558         (error_tail): Do not loop, reallocating temporary buffer, since
91559         the output cannot contain more wide characters than the input
91560         contains bytes, the size must be big enough already.  This avoids
91561         one potential size overflow calculation.  Check for size overflow
91562         when calculating temporary buffer size.  Free temporary buffer
91563         when done, if it was allocated with malloc; this plugs a memory
91564         leak.  Remove casts from void * to pointers, that are no longer
91565         needed now that we're assuming C89 or better.
91566
91567         Merge error changes from glibc.
91568
91569         * lib/error.c, error.h: Update copyright notice header to match glibc.
91570         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
91571         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
91572         Disable cancellation while printing error.
91573         * lib/error.h: Prepend __ to parameter names.
91574
91575 2003-09-26  Jim Meyering  <jim@meyering.net>
91576
91577         * lib/error.c (error_tail): Move some declarations
91578         into inner scope where the local variables are used.
91579
91580 2003-09-26  Bruno Haible  <bruno@clisp.org>
91581
91582         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
91583         stpncpy().
91584         Don't define stpncpy through config.h; it's now done through stpncpy.h.
91585
91586 2003-09-26  Bruno Haible  <bruno@clisp.org>
91587
91588         * lib/stpncpy.h (gnu_stpncpy): New declaration.
91589         (stpncpy): Define as alias for gnu_stpncpy.
91590         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
91591
91592 2003-09-25  Simon Josefsson  <jas@extundo.com>
91593
91594         * lib/xgetdomainname.h: New file.
91595         * lib/xgetdomainname.c: New file.
91596
91597 2003-09-25  Simon Josefsson  <jas@extundo.com>
91598             Bruno Haible  <bruno@clisp.org>
91599
91600         * modules/getdomainname: New file.
91601         * modules/xgetdomainname: New file.
91602         * MODULES.html.sh (func_all_modules): Add getdomainname,
91603         xgetdomainname.
91604
91605 2003-09-25  Simon Josefsson  <jas@extundo.com>
91606             Bruno Haible  <bruno@clisp.org>
91607
91608         * m4/getdomainname.m4: New file.
91609
91610 2003-09-25  Simon Josefsson  <jas@extundo.com>
91611             Bruno Haible  <bruno@clisp.org>
91612
91613         * lib/getdomainname.h: New file.
91614         * lib/getdomainname.c: New file.
91615
91616 2003-09-25  Karl Berry  <karl@gnu.org>
91617
91618         * lib/argp-fmtstream.c, argp-help.c: update from libc.
91619
91620 2003-09-25  Karl Berry  <karl@gnu.org>
91621
91622         * config/install-sh: update from automake.
91623
91624 2003-09-25  Bruno Haible  <bruno@clisp.org>
91625
91626         * modules/version-etc-2: New file, from modules/version-etc with
91627         modifications.
91628         * MODULES.html.sh (func_all_modules): Add version-etc-2.
91629
91630 2003-09-25  Bruno Haible  <bruno@clisp.org>
91631
91632         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
91633         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
91634
91635 2003-09-24  Simon Josefsson  <jas@extundo.com>
91636
91637         * modules/xgethostname: Add xgethostname.h.
91638
91639 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91640
91641         * lib/linebuffer.c (freebuffer): Don't free the argument, just
91642         the buffer associated with the argument.  Bug reported by
91643         Simon Josefsson.
91644
91645 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91646
91647         * README: Document assumptions that 'int' is at least 32 bits
91648         wide, that integer arithmetic is 2's complement without overflow,
91649         that there are no holes in integer values, that adding sizes of
91650         two nonoverlapping objects can't overflow, and that all-bits-zero
91651         yields scalar zero.  Fix spelling and capitalization typos.
91652
91653 2003-09-19  Karl Berry  <karl@gnu.org>
91654
91655         * lib/argp.h: update from libc.
91656
91657 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91658
91659         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
91660         to avoid spurious warnings like "AC_RUN_IFELSE was called before
91661         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
91662
91663 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91664
91665         * gnulib-tool: Use "test -h", not "test -L", for portability
91666         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
91667         (tags_regexp): Remove, since \| doesn't conform to POSIX.
91668         (sed_extract_prog): Issue s commands one-by-one, rather than
91669         using \| in one s command.
91670
91671 2003-09-16  Paul Eggert  <eggert@twinsun.com>
91672
91673         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
91674         input error, instead of returning NULL the next time we are called
91675         (and therefore losing track of errno).
91676
91677 2003-09-16  Bruno Haible  <bruno@clisp.org>
91678
91679         * gnulib-tool (func_create_testdir): Warn about duplicated
91680         dependencies.
91681
91682 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91683
91684         * modules/argmatch, modules/fatal, modules/obstack,
91685         modules/xalloc, modules/xgethostname: Sort dependencies by
91686         importance, not alphabetically.
91687
91688 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91689
91690         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
91691         fails, so that the caller gets the proper errno.
91692
91693         * lib/readutmp.c (read_utmp): Likewise.
91694         Check for fstat error.  Close stream and free storage
91695         when failing.
91696
91697 2003-09-14  Karl Berry  <karl@gnu.org>
91698
91699         * config/srclist.txt (strdup.c): disable for c89 changes.
91700
91701 2003-09-14  Jim Meyering  <jim@meyering.net>
91702
91703         * lib/getloadavg.c: Correct cpp indentation.
91704         * lib/strdup.c: Likewise.
91705         * lib/vasnprintf.c: Likewise.
91706
91707 2003-09-14  Bruno Haible  <bruno@clisp.org>
91708
91709         * modules/fwriteerror: New file.
91710         * MODULES.html.sh (func_all_modules): Add fwriteerror.
91711
91712 2003-09-14  Bruno Haible  <bruno@clisp.org>
91713
91714         * lib/fwriteerror.h: New file.
91715         * lib/fwriteerror.c: New file.
91716
91717 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91718
91719         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
91720         modules/xgethostname, modules/xalloc: Depend on exit.
91721
91722 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91723
91724         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
91725
91726         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
91727         and AC_MINIX, too, so that their extensions are available.
91728
91729         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
91730         This macro has been superseded by gl_BACKUPFILE.
91731
91732         More patches to assume C89 or better.
91733
91734         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
91735
91736         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
91737         unconditionally.
91738         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
91739         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
91740         Include <string.h>, <stdlib.h> unconditionally.
91741         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
91742         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
91743         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
91744         headers or for string.h.
91745         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
91746         or strtoul.
91747
91748         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
91749         headers.
91750         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
91751         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91752         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
91753         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
91754         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91755         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
91756         memcpy, memset.
91757         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
91758         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
91759         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
91760         strtol.
91761         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
91762         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
91763         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
91764         strtoul.
91765
91766 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91767
91768         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
91769         * lib/obstack.c [!defined _LIBC]: Likewise.
91770         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
91771         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
91772         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
91773
91774         More changes to assume C89 or better.
91775
91776         * lib/error.c (error_tail): Assume vprintf.
91777
91778         * lib/argmatch.c (getenv): Remove decl.
91779         * lib/progreloc.c (get_full_program_name): Define via prototype.
91780         * lib/setenv.c (clearenv): Likewise.
91781         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
91782         needed.
91783         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
91784         (malloc, memcpy): Remove decls.
91785         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
91786         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
91787         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91788         (memcpy): Remove macro.
91789         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
91790         (__P): Remove.  All uses removed.
91791         (PTR): Remove.  All uses changed to void *.
91792         (CHAR_BIT, NULL): Remove.
91793         (spaces, zeros, memset_space, memset_zero)
91794         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
91795         Remove.
91796         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
91797         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
91798         Define with prototype.
91799         Remove now-unnecessary prototype decl.
91800         (extra_args_spec): Assume ANSI C.  All uses changed.
91801         (extra_args_spec_iso): Remove.
91802         (my_strftime, emacs_strftimeu): Define via prototype.
91803         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
91804         unconditionally.
91805         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
91806         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
91807         (strtoul, strtol): Remove decls.
91808         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
91809         LONG_MAX): Remove.
91810         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91811         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
91812         (LOCALE_PARAM_PROTO): New macro.
91813         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
91814         (INTERNAL (strtol), strtol): Define with a prototype.
91815         (PARAMS): Remove.  All uses removed.
91816         * lib/tempname.c: Include <string.h> unconditionally.
91817         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
91818         * lib/xgethostname.c (main): Define with a prototype.
91819         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
91820         Include <stdlib.h> unconditionally.
91821         (calloc, malloc, realloc, free): Remove decls.
91822         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
91823         Include <stdlib.h> unconditionally.  Sort include file names.
91824         (strtod): Remove.
91825         (xstrtod): Define with a prototype.
91826         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
91827         (strtol, strtoul): Remove decls.
91828
91829 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91830
91831         More patches to assume C89 or better.
91832         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
91833         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
91834         string.h, memchr, STDC_HEADERS.
91835
91836 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91837
91838         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
91839         Include <stdlib.h>, <string.h> unconditionally.
91840         Remove now-unnecessary cast to char *.
91841         * lib/strnlen.c: Include <string.h> unconditionally.
91842         * lib/yesno.c (yesno): Define with a prototype.
91843
91844 2003-09-11  Bruno Haible  <bruno@clisp.org>
91845
91846         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
91847
91848 2003-09-10  Jim Meyering  <jim@meyering.net>
91849
91850         * lib/error.c: Correct indentation of cpp directives.
91851
91852 2003-09-10  Bruno Haible  <bruno@clisp.org>
91853
91854         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
91855         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
91856         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
91857         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
91858         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
91859         <stdlib.h> and <string.h> checks.
91860         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
91861         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
91862
91863 2003-09-10  Bruno Haible  <bruno@clisp.org>
91864
91865         * lib/strcspn.c: Include <string.h> unconditionally.
91866         * lib/strpbrk.c: Include <string.h> unconditionally.
91867         * lib/strstr.c: Include <string.h> unconditionally.
91868         * lib/unicodeio.c: Include <string.h> unconditionally.
91869         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
91870         * lib/unsetenv.c: Likewise.
91871         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
91872         * lib/yesno.c: Include <stdlib.h> unconditionally.
91873         (rpmatch): Add prototype.
91874
91875 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91876
91877         More patches to assume C89 or better.
91878         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
91879         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
91880         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
91881         or for string.h.
91882         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
91883         stdlib.h.
91884         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
91885         C headers.
91886         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
91887         string.h.
91888         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
91889         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
91890         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
91891         or for string.h.
91892         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
91893         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
91894         C headers.
91895         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
91896         memcpy.
91897         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
91898         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
91899         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
91900         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
91901         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
91902         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
91903         string.h, free.
91904         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
91905         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
91906         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
91907         C headers, or for string.h.
91908         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
91909         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
91910         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
91911         headers, memory.h, stdlib.h, string.h, strings.h.
91912         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
91913         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
91914         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
91915         strchr.
91916         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
91917         headers, memory.h, string.h.
91918         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
91919         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
91920         free.
91921         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
91922         headers.
91923         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
91924         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
91925         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
91926         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
91927         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
91928
91929 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91930
91931         More K&R removal.
91932
91933         * lib/acosl.c (main): Use a prototype.
91934         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
91935         tanl.c: Likewise.
91936
91937         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
91938
91939         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
91940         (getopt, etopt_long, getopt_long_only, _getopt_internal)
91941         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
91942         with a prototype.
91943         * lib/getopt.c (const): Remove macro.
91944         Include <string.h> unconditionally.
91945         (my_index): Remove; all uses changed to strchr.
91946         (strlen): Remove decl.
91947         (exchange): Remove forward decl; no longer needed.
91948         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
91949         Define with prototype.
91950         * lib/getopt1.c (const): Remove macro.
91951         (getopt_long, getopt_long_only, main): Define with prototype.
91952
91953         * lib/getugroups.c: Include <string.h> unconditionally.
91954
91955         * lib/getusershell.c: Include <stdlib.h> unconditionally.
91956         (getusershell, setusershell, endusershell, readname, main):
91957         Define with prototypes.
91958
91959         * lib/group-member.c: Include group-member.h first.
91960         Include <stdlib.h> unconditionally.
91961
91962         * lib/hard-locale.c: Include hard-locale.h first.
91963         Include <stdlib.h>, <string.h> unconditionally.
91964
91965         * lib/hash.c (free, malloc): Remove decls.
91966         Include <stdlib.h> unconditionally.
91967
91968         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
91969         (getenv): Do not declare.
91970
91971         * lib/idcache.c: Include <string.h> unconditionally.
91972
91973         * lib/long-options.c: Include long-options.h first, to test interface.
91974         Include <stdlib.h> unconditionally.
91975
91976         * lib/makepath.c: Include makepath.h first, to test interface.
91977         Include <stdlib.h> and <string.h> unconditionally.
91978
91979         * lib/linebuffer.c: Include <stdlib.h>.
91980         (free): Remove decl.
91981
91982         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
91983         stddef.h. rpl_malloc returns void *, not char *.
91984         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
91985         prototype.
91986
91987         * lib/md5.h: Include <limits.h> unconditionally.
91988         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
91989         (__P): Remove; all uses removed.
91990         * lib/md5.c: Include "md5.h" first.
91991         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
91992         md5_buffer, md5_process_bytes, md5_process_block):
91993         Define with prototypes.
91994         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
91995         * lib/sha.c: Include "sha.h" first.
91996         Include <stdlib.h>, <string.h> unconditionally.
91997
91998         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
91999         * lib/memcmp.c (__ptr_t): Likewise.
92000         * lib/memrchr.c (__ptr_t): Likewise.
92001         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
92002         Include <string.h> unconditionally.
92003         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
92004         * lib/memchr.c: Include <stdlib.h> unconditionally.
92005         * lib/memchr.c (LONG_MAX): Remove.
92006         * lib/memrchr.c (LONG_MAX): Likewise.
92007         * lib/memchr.c (__memchr): Define via a prototype.
92008         * lib/memrchr.c (__memrchr): Likewise.
92009         * lib/memcmp.c (__P): Remove, and remove all uses.
92010         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
92011         Remove forward decls; no longer needed.
92012         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
92013         Use types required by C89 in prototype.
92014
92015         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
92016         * lib/savedir.c: Likewise.
92017         * lib/mkdir.c (free): Remove decl.
92018         * lib/rmdir.c (rmdir): Define with a prototype.
92019         * lib/savedir.c: Include savedir.h first, to test interface.
92020
92021         * lib/mktime.c (STDC_HEADERS): Remove.
92022         Include <stdlib.h>, <string.h> unconditionally.
92023
92024         * lib/modechange.c: Include <stdlib.h> unconditionally.
92025         (malloc): Remove decl.
92026
92027         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
92028         (free): Remove decl.
92029
92030         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
92031         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
92032         (This type really should be intptr_t, but that's a C99ism.)
92033         (_obstack_memcpy): Remove: all uses changed to memcpy.
92034         Include <string.h> unconditionally.
92035         (struct obstack): Assume __STDC__ for types of members
92036         chunkfun, freefun, extra_arg.
92037         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
92038         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
92039         obstack_begin, obstack_specify_allocation,
92040         obstack_specify_allocation_with_arg, obstack_chunkfun,
92041         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
92042         Remove unprototyped decls and the macros that use them.
92043         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
92044         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
92045         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
92046         (defined __STDC__ && __STDC__)]:
92047         Remove nonprototyped code.
92048         Include <stdlib.h> unconditionally.
92049         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
92050         _obstack_allocated_p, _obstack_free, obstack_free,
92051         _obstack_memory_used, print_and_abort):
92052         Define using prototypes.
92053         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
92054         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
92055         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
92056         obstack_next_free, obstack_object_size, obstack_room) [0]:
92057         Remove unused, unprototyped code.
92058
92059         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
92060
92061         * lib/physmem.c (physmem_total, physmem_available, main): Define
92062         with prototypes.
92063
92064         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
92065         (main): Define with a prototype.
92066
92067         * lib/posixver.c (getenv): Remove decl.
92068
92069         * lib/putenv.c (malloc): Returns void *, not char *.
92070         Include <string.h> unconditionally.
92071         (strchr, memcpy, NULL): Do not define.
92072
92073         * lib/readtokens.c: Include readtokens.h first, to test interface.
92074         Include <stdlib.h>, <string.h> unconditionally.
92075         (init_tokenbuffer): Define with a prototype.
92076
92077         * lib/regex.c (PARAMS): Remove.  All uses removed.
92078         All uses of _RE_ARGS removed, too.
92079         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
92080         unconditionally.
92081         (bzero): Assume memset exists.
92082         (memcmp, memcpy, NULL): Remove.
92083         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
92084         char, or assignments to local vars of type signed char.
92085         (init_syntax_once, PREFIX(extract_number_and_incr),
92086         PREFIX(print_partial_compiled_pattern),
92087         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
92088         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
92089         PREFIX(regex_grow_registers), PREFIX(regex_compile),
92090         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
92091         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
92092         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
92093         wcs_compile_range, byte_compile_range, truncate_wchar,
92094         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
92095         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
92096         count_mbs_length, wcs_re_match_2_internal,
92097         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
92098         PREFIX(alt_match_null_string_p),
92099         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
92100         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
92101         regfree, PREFIX(extract_number)): Define with prototype.  Remove
92102         now-unnecessary declaration, if any.
92103         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
92104         regcomp, regexec):
92105         Remove now-unnecessary casts among pointer types.
92106         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
92107
92108         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
92109         (free): Remove decl.
92110
92111         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
92112
92113         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
92114         (free): Remove decl.
92115
92116         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
92117         * lib/xgetcwd.c: Likewise.
92118
92119         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
92120         (free): Remove decl.
92121
92122         * lib/strchrnul.c (strchrnul): Define with a prototype.
92123         Fix bug: c_in was not converted to char before searching.
92124
92125         The following changes are not K&R related:
92126
92127         * lib/group-member.h: Include <sys/types.h>, so that this file is
92128         self-contained.
92129         * lib/makepath.h: Likewise.
92130
92131         * lib/getusershell.c (readname, default_index, line_size, readname):
92132         Use size_t, not int, for sizes.
92133         (readname): If the size overflows, report an error instead of
92134         looping forever.
92135
92136 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92137
92138         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
92139         libc.
92140
92141 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92142
92143         * README: New section: portability guidelines.
92144
92145 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92146
92147         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
92148         C89 spec.
92149
92150 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92151
92152         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
92153
92154 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92155
92156         Assume C89 or better; remove K&R cruft.
92157         A few of these changes were first proposed by Derek Robert Price
92158         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
92159
92160         * lib/addext.c: Include <string.h> unconditionally.
92161         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
92162         Don't declare getenv or malloc.
92163
92164         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
92165         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
92166         (NULL): Remove.
92167         (find_stack_direction, alloca): Use prototypes.
92168
92169         * lib/atexit.c (atexit): Define using a prototype.
92170
92171         * lib/basename.c, dirname.c, stripslash.c:
92172         Include <string.h> unconditionally.
92173
92174         * lib/bcopy.c: Include <stddef.h>.
92175         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
92176
92177         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
92178
92179         * lib/error.h (error, error_at_line, error_print_progname)
92180         [! (defined (__STDC__) && __STDC__)]: Remove decls.
92181         * lib/error.c: Include error.h first, to check interface.
92182         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92183         (VA_START): Remove; all uses changeed to va_start.
92184         (exit, strerror): Remove decls.
92185         (error_print_progname): Prototype uncondionally.
92186         Don't include <errno.h>; no longer needed.
92187         (private_strerror): Remove.
92188         (error_tail): Always define.
92189         (error, error_at_line): Assume C89 or better; always use prototypes.
92190         * lib/fatal.c: Include "fatal.h" first, to test interface.
92191         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92192         (VA_START): Remove; all uses changed to va_start.
92193         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
92194         this case.
92195         (exit): Remove decl.
92196         (fatal): Prototype unconditionally.  Assume va_start works.
92197         Abort at end, to pacify gcc.
92198
92199         * lib/euidaccess.c (main): Define with a prototype.
92200
92201         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
92202
92203         * lib/exitfail.c: Include <stdlib.h> unconditionally.
92204
92205         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
92206         prototypes.
92207         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
92208         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
92209         (getenv): Remove decl.
92210         (fnmatch): Define using a prototype.
92211         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
92212         (FCT): Define using a prototype.
92213
92214         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
92215
92216         * lib/gethostname.c: Include <stddef.h>.
92217         (gethostname): Define with prototype.  Length is size_t, not int.
92218
92219 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92220
92221         Assume C89 or better; remove K&R cruft.
92222         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
92223         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
92224         string.h, getenv, malloc.
92225         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
92226         headers.
92227         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
92228         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
92229         do not check for strerror.
92230         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
92231         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
92232         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
92233         do not check for doprnt or vprintf.
92234         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
92235         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
92236
92237 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92238
92239         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
92240         getversion.c should have been removed then, but was accidentally
92241         preserved.
92242
92243         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
92244         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
92245
92246 2003-09-08  Karl Berry  <karl@gnu.org>
92247
92248         * config/config.sub, config.guess, srclistvars.sh: update from savannah
92249                 config, forget about prep.
92250
92251         * config/depcomp, missing: update from automake.
92252
92253 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92254
92255         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
92256         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92257
92258 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92259
92260         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
92261         copy_tm_result.  Bug reported by Simon Josefsson in
92262         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92263
92264 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92265
92266         * m4/time_r.m4: New file.
92267         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
92268         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
92269         is. Check for timegm declaration.
92270         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
92271         Do not check for gmtime_r.
92272         Replace mktime if __mktime_internal does not exist and if mktime
92273         hasn't been replaced already.
92274
92275 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92276
92277         * lib/time_r.c, lib/time_r.h: New files.
92278
92279         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
92280         __localtime_r.
92281         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
92282         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
92283
92284         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
92285         __gmtime_r.
92286         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
92287         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
92288         Include <time_r.h>.
92289
92290         * lib/timegm.c: Switch to glibc implementation, with the following
92291         changes:
92292         [defined HAVE_CONFIG_H]: Include <config.h>.
92293         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
92294         (__mktime_internal) [!defined _LIBC]: New decl.
92295         (__gmtime_r) [!defined _LIBC]: New macro and function.
92296         (timegm): Use a prototype, since gnulib assumes C89.
92297         Do not bother declaring tmp to be const, as it's not really usefu.
92298         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
92299         (timegm): Declare only if HAVE_DECL_TIMEGM.
92300
92301 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92302
92303         * MODULES.html.sh (func_all_modules): Add time_r.
92304         * modules/time_r: New file.
92305         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
92306         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
92307
92308 2003-09-03  Paul Eggert  <eggert@twinsun.com>
92309
92310         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
92311         Bug reported by Lute Kamstra in
92312         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
92313
92314         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
92315         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
92316         course with correspondingly smaller numbers for tomorrow and
92317         yesterday.  From Tadayoshi Funaba.  Originally installed into
92318         sh-utils on 1999-08-07, but the patch got lost (I guess during the
92319         coreutils merge?).
92320
92321 2003-08-31  Simon Josefsson  <jas@extundo.com>
92322
92323         * modules/timegm: New file.
92324         * MODULES.html.sh (func_all_modules): Add timegm.
92325
92326 2003-08-31  Simon Josefsson  <jas@extundo.com>
92327
92328         * m4/timegm.m4: New file.
92329
92330 2003-08-31  Simon Josefsson  <jas@extundo.com>
92331
92332         * lib/timegm.h: New file.
92333         * lib/timegm.c: New file.  Based on
92334         wget-1.8.2/src/http.c:mktime_from_utc.
92335
92336 2003-08-31  Karl Berry  <karl@gnu.org>
92337
92338         * lib/argp.h: update from libc.
92339
92340 2003-08-28  Bruno Haible  <bruno@clisp.org>
92341
92342         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
92343         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
92344         followed by '#define fnmatch fnmatch_posix' gives an error.
92345
92346 2003-08-28  Bruno Haible  <bruno@clisp.org>
92347
92348         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
92349         warning on QNX, which defines O_BINARY to 000000.
92350
92351 2003-08-27  Jim Meyering  <jim@meyering.net>
92352
92353         * m4/mkstemp.m4: Require that the system mkstemp be able to create
92354         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
92355         would fail after 32.  Reported by Danny Levinson.  Details here:
92356         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
92357
92358 2003-08-24  Bruno Haible  <bruno@clisp.org>
92359
92360         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
92361         MSVC7 <stdio.h> is included later.
92362
92363 2003-08-22  Simon Josefsson  <jas@extundo.com>
92364
92365         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
92366
92367 2003-08-20  Karl Berry  <karl@gnu.org>
92368
92369         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
92370
92371 2003-08-20  Bruno Haible  <bruno@clisp.org>
92372
92373         * modules/progname: New file.
92374         * MODULES.html.sh (func_all_modules): Add progname.
92375
92376 2003-08-20  Bruno Haible  <bruno@clisp.org>
92377
92378         * lib/progname.h: New file, from GNU gettext.
92379         * lib/progname.c: New file, from GNU gettext.
92380         * lib/progreloc.c: New file, from GNU gettext.
92381
92382 2003-08-19  Jim Meyering  <jim@meyering.net>
92383
92384         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
92385         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
92386
92387 2003-08-19  Bruno Haible  <bruno@clisp.org>
92388
92389         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
92390         more.
92391
92392 2003-08-19  Bruno Haible  <bruno@clisp.org>
92393
92394         * lib/xstrdup.c: Assume <string.h> exists.
92395
92396 2003-08-18  Paul Eggert  <eggert@twinsun.com>
92397
92398         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
92399         in makefile rules.
92400
92401 2003-08-18  Jim Meyering  <jim@meyering.net>
92402
92403         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
92404         * m4/lib-ld.m4: Likewise.
92405
92406 2003-08-18  Jim Meyering  <jim@meyering.net>
92407
92408         * lib/setenv.h: Indent nested cpp directive.
92409         * lib/vasnprintf.c: Remove trailing blanks.
92410
92411 2003-08-17  Simon Josefsson  <jas@extundo.com>
92412
92413         * modules/xstrndup: New file.
92414         * MODULES.html.sh (func_all_modules): Add xstrndup.
92415
92416 2003-08-17  Simon Josefsson  <jas@extundo.com>
92417
92418         * modules/argp: Fix autoconf macro name. Add more dependencies.
92419
92420 2003-08-17  Simon Josefsson  <jas@extundo.com>
92421
92422         * m4/xstrndup.m4: New file.
92423
92424 2003-08-17  Simon Josefsson  <jas@extundo.com>
92425
92426         * m4/argp.m4: New file.
92427
92428 2003-08-17  Simon Josefsson  <jas@extundo.com>
92429             Bruno Haible  <bruno@clisp.org>
92430
92431         * lib/xstrndup.h: New file.
92432         * lib/xstrndup.c: New file.
92433
92434 2003-08-17  Bruno Haible  <bruno@clisp.org>
92435
92436         * modules/strndup (Files, Include): Add lib/strndup.h.
92437
92438 2003-08-17  Bruno Haible  <bruno@clisp.org>
92439
92440         * modules/euidaccess (Files): Add lib/euidaccess.h.
92441
92442 2003-08-17  Bruno Haible  <bruno@clisp.org>
92443
92444         * lib/strndup.h: New file.
92445
92446 2003-08-17  Bruno Haible  <bruno@clisp.org>
92447
92448         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
92449         like AC_GNU_SOURCE.
92450         * modules/extensions (configure.ac): Comment out the invocation of
92451         gl_USE_SYSTEM_EXTENSIONS.
92452
92453 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92454
92455         Merges from coreutils, etc.
92456         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
92457         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
92458         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
92459         fixing a typo.
92460         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
92461         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
92462
92463 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92464
92465         Document merge from coreutils.
92466         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
92467         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
92468         * modules/utime: Add m4/utimes-null.m4.
92469
92470 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92471
92472         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
92473         space, undoing this 2003-08-12 change:
92474         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92475
92476 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92477
92478         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
92479         strtoul.c from libc, undoing this 2003-08-12 change:
92480         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92481
92482 2003-08-16  Jim Meyering  <jim@meyering.net>
92483
92484         Merges from coreutils.
92485         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
92486         prefix.  Adjust cache variables similarly.  Create 500 rather than
92487         just 300 files, to exercise bug on Darwin6.5, too.
92488         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
92489         $missing_dir.
92490         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
92491         AM_SYS_POSIX_TERMIOS.
92492         Reported by mkc@mathdogs.com.
92493         Also change use of $am_cv_sys_posix_termios
92494         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
92495         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
92496         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
92497         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
92498         in /proc/mounts until it finds one with matching device number.  This
92499         is unnecessary when the FILE argument *is* a mount point.  No stat call
92500         is necessary in that case.  So, disable the statvfs-testing code on
92501         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
92502         as RedHat bug# 84846.
92503         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92504         to 1MB, so as not to render systems with no stack size limit (e.g.,
92505         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92506         Include <unistd.h>.  On some systems,
92507         it is required for the definition of _SC_PAGESIZE.
92508
92509 2003-08-16  Jim Meyering  <jim@meyering.net>
92510
92511         Merge from coreutils.
92512         * lib/xstrtoimax.c: #else #if -> #elif.
92513         * lib/xstrtoumax.c: Likewise.
92514
92515 2003-08-16  Jim Meyering  <jim@meyering.net>
92516
92517         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
92518         * m4/utimes.m4: Removed.
92519         * m4/utimes-null.m4: Renamed from utimes.m4.
92520
92521         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92522         to 1MB, so as not to render systems with no stack size limit (e.g.,
92523         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92524         Include <unistd.h>.  On some systems,
92525         it is required for the definition of _SC_PAGESIZE.
92526
92527 2003-08-16  Jim Meyering  <jim@meyering.net>
92528         and Paul Eggert  <eggert@cs.ucla.edu>
92529
92530         Merges from coreutils, etc.
92531
92532         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
92533         using the latest version from cvs.  This avoids problems with #line
92534         directives using a vendor (Sun) compiler.
92535         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
92536         Don't set GETGROUPS_LIB here; now it's
92537         done via getgroups.m4's wrapper function.
92538         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
92539         rather than just in sh-util/configure.in, so that the
92540         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
92541         same.
92542         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
92543         AC_FUNC_GETLOADAVG where to find getloadavg.c.
92544         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
92545         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
92546         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
92547         Remove code that is now done by the newly-required macros.
92548         Append $(EXEEXT) to DF_PROG.
92549         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
92550         Do not invoke or require the following here,
92551         since prereq.m4 or some gnulib .m4 now does this for us:
92552         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
92553         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
92554         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
92555         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
92556         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
92557         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
92558         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
92559         AC_FUNC_OBSTACK.
92560         Do not replace the following functions, as this is now the job
92561         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
92562         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
92563         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
92564         atexit getpass, strdup, getpagesize.
92565         Replace 'raise'.
92566         Do not check for the following functions, as this is now the job
92567         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
92568         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
92569         setregid.
92570         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
92571         Check for sys/sysctl.h.
92572         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
92573         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
92574         of checking for ssize_t ourselves.
92575
92576         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
92577         Require every macro that gnulib/modules/* suggests for us.
92578         (jm_PREREQ_ADDEXT): New macro.
92579         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
92580         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
92581
92582         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
92583         (gl_PHYSMEM): Use it.
92584         Also check for `table' function.
92585         Check for new headers and functions.
92586         Add check for sys/sysmp.h.
92587         With suggestions from Kaveh Ghazi.
92588         Ignore headers that are present but cannot be compiled.  This
92589         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
92590         C 5.4.
92591
92592 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92593
92594         Document merge from coreutils.
92595         * modules/userspec: Depend on posixver.
92596         * modules/strftime: Depend on tzset.
92597
92598 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92599
92600         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
92601         rather than tab, after '#' in shell-script copyright notices.
92602         Suggested by Bruno Haible.
92603
92604 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92605
92606         * config/srclist-update: Use three spaces, rather than tab, after '#'
92607         in shell-script copyright notices.  Suggested by Bruno Haible.
92608         Remove unnecessary parenthesization in regular expression.
92609
92610 2003-08-15  Jim Meyering  <jim@meyering.net>
92611
92612         Merge from coreutils.
92613         * lib/xgethostname.c: Include <stdlib.h>.
92614         (xghostname): Don't exit for anything other than memory-related
92615         failure; just return NULL.
92616         * lib/userspec.c: Include "posixver.h".
92617         (parse_user_spec): Accept `.' as a separator only
92618         in pre-POSIX-200112 mode.
92619         * lib/strtoimax.c: Use #elif rather than #else #if.
92620         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
92621         Remove function, now that we can rely on a working tzset function.
92622         [!_LIBC]: Ensure that the required autoconf test has been run.
92623         [!defined _NL_CURRENT && HAVE_STRFTIME]:
92624         Use underlying_strftime for %r.
92625         * lib/sha.c: Merge in some clean-up and optimization changes from
92626         glibc.
92627         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
92628         Ensure that it is a multiple of 64.
92629         Rearrange loop exit tests so as to avoid performing an
92630         additional fread after encountering an error or EOF.
92631         * lib/realloc.c: Update copyright date.
92632
92633 2003-08-15  Jim Meyering  <jim@meyering.net>
92634         and Paul Eggert  <eggert@twinsun.com>
92635
92636         Merge from coreutils.
92637         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
92638         member but strut utmpx does not.  Needed for AIX 4.3.3.
92639         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
92640
92641 2003-08-15  Jim Meyering  <jim@meyering.net>
92642         and Paul Eggert  <eggert@cs.ucla.edu>
92643
92644         Merges from coreutils, etc.
92645         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
92646         Require gl_FUNC_TZSET_CLOBBER.
92647         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
92648         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
92649         members.
92650
92651 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92652
92653         Help the merge from coreutils.
92654         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
92655         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
92656         * m4/tzset.m4: Use it too.
92657
92658 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92659
92660         * modules/tzset: New file.
92661
92662 2003-08-14  Jim Meyering  <jim@meyering.net>
92663
92664         Merges from coreutils.
92665         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
92666         variable names, rather than @FNMATCH_H@.
92667         * modules/alloca: Likewise for $(ALLOCA_H).
92668
92669         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
92670         the three copies of the literal target, `fnmatch.h'.
92671         * modules/alloca (alloca.h): Likewise.
92672
92673 2003-08-14  Jim Meyering  <jim@meyering.net>
92674
92675         Merge from coreutils.
92676         * m4/tzset.m4: New file.
92677         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
92678         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
92679         otherwise, AIX 5.1 systems would end up using the latter.
92680         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
92681         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
92682         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
92683         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
92684
92685 2003-08-14  Jim Meyering  <jim@meyering.net>
92686
92687         Merge from coreutils.
92688         * lib/obstack.h: Whitespace changes.
92689         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
92690         and xcalloc return values.
92691         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
92692         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
92693         hang on OSF/1 5.1 for DIR on both local and remote file systems.
92694         Reported by (and fix confirmed by) Nelson H. F. Beebe.
92695         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
92696         error from mntctl.
92697         Use mntctl's return value to drive the entry-processing loop, since
92698         we can't rely on the value of the vmt_length member in the last
92699         entry.  On some systems doing so could result in exhausting
92700         virtual memory.  Based in part on a patch from Mike Jetzer.
92701
92702 2003-08-14  Jim Meyering  <jim@meyering.net>
92703         and Paul Eggert  <eggert@twinsun.com>
92704
92705         Merges from coreutils, plus other fixes.
92706         * lib/physmem.c: Merge in portability changes from gcc/libiberty
92707         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
92708         for credits and details.  Thanks to Kaveh Ghazi for helping
92709         to keep these files in sync.
92710         (ARRAY_SIZE): Define it.
92711         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
92712         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
92713         (memcasecmp): Don't assume size_t fits in unsigned int.
92714         Remove casts and duplicate code.
92715         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
92716         (memcpy): Remove definition.
92717         Merge in some clean-up and optimization changes from glibc.
92718         [BLOCKSIZE]: Move definition to top of file.
92719         Ensure that it is a multiple of 64.
92720         Rearrange loop exit tests so as to avoid performing an
92721         additional fread after encountering an error or EOF.
92722         * lib/md5.h (md5_uintptr): Define.
92723         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
92724         return to the initial working directory.  Preserve errno
92725         for caller.
92726         * lib/idcache.c: Include "xalloc.h".
92727         (xmalloc, xrealloc): Remove decls.
92728         (getuser): Remove casts no longer required in C89.
92729         * lib/human.c: Include stdio.h, for sprintf.
92730         * lib/group-member.c: Include "xalloc.h".
92731         (xmalloc, xrealloc): Remove decls.
92732         (get_group_info): Remove casts no longer required in C89.
92733         * lib/getusershell.c (readname): Remove casts no longer required in
92734         C89.
92735         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
92736         * lib/getline.c: Whitespace fix, from coreutils.
92737
92738 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92739
92740         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
92741         Check for isascii.
92742
92743         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92744         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92745         Undo previous (whitespace-only) change.
92746
92747 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92748
92749         * lib/exclude.c: Include <ctype.h>
92750         (IN_CTYPE_DOMAIN): New macro.
92751         (is_space): New fn.
92752         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
92753         and empty lines.
92754
92755         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92756         Undo previous (whitespace-only) change.
92757
92758 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92759
92760         * config/srclist-update: Change update back to the old behavior,
92761         leaving whitespace alone.  Use one 'sed' command rather than a
92762         pipeline.
92763         (fixlicense): Now a variable, not a function.
92764         (remove_trailing_blanks): Remove.
92765         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
92766         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92767         Undo previous (whitespace-only) change.
92768
92769 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92770
92771         Merge from coreutils.
92772         * modules/euidaccess: Add lib_SOURCES, include for new
92773         file euidaccess.h
92774
92775 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92776
92777         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92778         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92779         Normalize leading white space and remove trailing white space.
92780
92781         Merge from coreutils
92782         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
92783
92784         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
92785         0.12.1.  These files are now being upgraded automatically by
92786         ../config/srclist-update.
92787
92788 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92789
92790         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92791         Normalize leading white space and remove trailing white space.
92792         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
92793         notice, as per ../config/srclist-update.
92794
92795         Merge from coreutils.
92796         * lib/euidaccess.h: New file.
92797         * lib/euidaccess.c: Include it.
92798         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
92799         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
92800         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
92801
92802 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92803
92804         * config/srclist-update: Add copyright notice.
92805         (remove_id_lines, remove_trailing_blanks): New constants.
92806         (fixfile): Use them to normalize spacing a bit in copied files.
92807         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92808         Normalize leading white space and remove trailing white space.
92809
92810         * config/texinfo.tex: Sync with texinfo.
92811
92812         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
92813         strtoul.c from libc, to merge coreutils whitespace changes.
92814
92815         * config/srclist.txt: Get the following m4 files from gettext:
92816         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
92817         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
92818         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
92819         wint_t.m4.
92820
92821 2003-08-12  Karl Berry  <karl@gnu.org>
92822
92823         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
92824         been made.
92825
92826 2003-08-11  Paul Eggert  <eggert@twinsun.com>
92827
92828         * modules/gnu-source, m4/gnu-source.m4:
92829         Remove; we're assuming Autoconf 2.54 or later now.
92830         Suggested by Bruno Haible.
92831         * MODULES.html.sh (func_all_modules): Remove gnu-source.
92832
92833 2003-08-11  Bruno Haible  <bruno@clisp.org>
92834
92835         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
92836
92837 2003-08-11  Bruno Haible  <bruno@clisp.org>
92838
92839         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
92840         (vasnprintf): Use it instead of wcslen.
92841
92842 2003-08-11  Bruno Haible  <bruno@clisp.org>
92843
92844         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
92845         value to ensure that _Bool promotes to int. Use #define for _Bool when
92846         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
92847
92848 2003-08-10  Karl Berry  <karl@gnu.org>
92849
92850         * lib/regex.h: update from libc (whitespace fix).
92851
92852 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92853
92854         Merge some files from coreutils.  These changes were
92855         originally made by Jim Meyering.
92856         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
92857         many older Unixes require this.
92858         * lib/alloca.c (alloca): Remove cast to argument of free;
92859         no longer needed in C89.
92860         * lib/alloca_.h, regex.h: Fix white space to match
92861         what GNU indent does.
92862
92863 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92864
92865         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
92866         apparently Emacs's Unicode mode got confused before my 2003-08-05
92867         checkin.
92868
92869 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92870
92871         * m4/extensions.m4: New file.
92872         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
92873         Require gl_USE_SYSTEM_EXTENSIONS.
92874         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
92875         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
92876
92877 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92878
92879         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
92880         * modules/extensions, modules/gnu-source: New files.
92881         * modules/timespec, modules/unlocked-io: Depend on extensions.
92882
92883 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92884
92885         * modules/restrict: New file.
92886         * MODULES.html.sh (func_all_modules): Add restrict.
92887         * modules/regex: Depend on restrict.
92888
92889 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92890
92891         * m4/restrict.m4: New file.
92892         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
92893
92894 2003-08-07  Bruno Haible  <bruno@clisp.org>
92895
92896         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
92897         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
92898
92899 2003-08-07  Bruno Haible  <bruno@clisp.org>
92900
92901         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
92902         makes the module 'getndelim2' compatible with the module 'getline'.
92903
92904 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92905
92906         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
92907         byte with "\201" to avoid glitches when editing that source file
92908         with multi-gnome-terminal.
92909
92910 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92911
92912         * lib/bumpalloc.h: Remove.
92913
92914 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92915
92916         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
92917         * modules/bumpalloc: Remove.
92918
92919 2003-08-04  Paul Eggert  <eggert@twinsun.com>
92920
92921         * lib/getloadavg.c: Change copyright notice and spacing to conform to
92922         GNU coding style.
92923
92924         Merge from coreutils.
92925         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
92926         1. From glibc.
92927         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
92928         from Karl Berry, implemented by Jim Meyering.
92929         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
92930         from Dmitry V. Levin.
92931         Remove anachronistic cast of xrealloc.
92932         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
92933         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
92934         type. Otherwise, it wouldn't compile with at least /bin/cc on
92935         ymp-cray-unicos9.0.2.X.
92936         Combine two mostly-identical uses of alloca into one.
92937         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
92938
92939 2003-08-04  Dave Love  <d.love@dl.ac.uk>
92940
92941         [From Emacs.]
92942
92943         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
92944         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
92945         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
92946         obsolete NLIST_NAME_UNION.
92947         [__GNU__]: Undef BSD and FSCALE.
92948         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
92949
92950 2003-08-03  Paul Eggert  <eggert@twinsun.com>
92951
92952         * lib/stdbool_.h (_Bool): Make it signed char, instead of
92953         an enum type, so that it's guaranteed to promote to int.  See:
92954         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
92955
92956 2003-08-03  Karl Berry  <karl@gnu.org>
92957
92958         * config/depcomp: update from automake.
92959
92960 2003-07-31  Paul Eggert  <eggert@twinsun.com>
92961
92962         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
92963         (strerror): Don't assume that a printable int fits in 14 bytes.
92964
92965 2003-07-31  Bruno Haible  <bruno@clisp.org>
92966
92967         * modules/getpass-gnu: New file.
92968         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
92969
92970 2003-07-31  Bruno Haible  <bruno@clisp.org>
92971
92972         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
92973
92974 2003-07-24  Karl Berry  <karl@gnu.org>
92975
92976         * config/missing: update from automake.
92977
92978 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
92979             Bruno Haible  <bruno@clisp.org>
92980
92981         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
92982         * lib/getline.c (getline, getdelim): Likewise.
92983         Remove _GNU_SOURCE define; now it's defined in config.h through
92984         m4/getline.m4.
92985
92986 2003-07-23  Karl Berry  <karl@gnu.org>
92987
92988         * config/config.sub: update from prep.
92989
92990 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92991
92992         * modules/xalloc (Depends-on): Add exitfail.
92993         * modules/xmemcoll: Likewise.
92994
92995 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92996
92997         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
92998         over-parenthesization in macros.
92999
93000         Sync with coreutils.
93001
93002         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
93003         required by C99.
93004
93005         Use `exit_failure' for xalloc and xmemcoll instead of their own
93006         private exit-failure variables.
93007         * lib/xalloc.h (xalloc_exit_failure): Remove.
93008         * lib/xmalloc.c: Likewise.  Include exitfail.h.
93009         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
93010         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
93011         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
93012         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
93013
93014 2003-07-20  Jim Meyering  <jim@meyering.net>
93015
93016         * modules/closeout (Depends-on): Add exitfail.
93017         Suggestion from Bruno Haible.
93018
93019 2003-07-19  Karl Berry  <karl@gnu.org>
93020
93021         * config/config.sub: update from prep.
93022
93023 2003-07-18  Paul Eggert  <eggert@twinsun.com>
93024
93025         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
93026         Remove.
93027         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
93028         to test that it can stand by itself.  Include "exitfail.h".
93029         Clients should set exit_failure instead.
93030         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
93031
93032 2003-07-18  Bruno Haible  <bruno@clisp.org>
93033
93034         * modules/getndelim2: New file.
93035         * modules/getline: Share files with module getndelim2.
93036         * modules/getnline: Depend on getndelim2 instead of sharing files with
93037         it. Add getnline.c to lib_SOURCES.
93038         * MODULES.html.sh (func_all_modules): Add getndelim2.
93039
93040 2003-07-18  Bruno Haible  <bruno@clisp.org>
93041
93042         * m4/getndelim2.m4: New file.
93043         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
93044         invoke gl_PREREQ_GETNDELIM2.
93045         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
93046         gl_PREREQ_GETNDELIM2.
93047         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
93048         gl_GETNDELIM2.
93049
93050 2003-07-18  Bruno Haible  <bruno@clisp.org>
93051
93052         * lib/getndelim2.h: New file.
93053         * lib/getndelim2.c: Make into a module of its own. Include config.h,
93054         getndelim2.h.
93055         (getndelim2): Make non-static. Change return type to ssize_t.
93056         * lib/getline.h: Change argument names.
93057         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
93058         * lib/getnline.c: Include getndelim2.h.
93059
93060 2003-07-18  Andreas Schwab  <schwab@suse.de>
93061
93062         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
93063
93064 2003-07-17  Karl Berry  <karl@gnu.org>
93065
93066         * config/config.sub: update from prep.
93067
93068 2003-07-17  Bruno Haible  <bruno@clisp.org>
93069
93070         * modules/getnline: New file.
93071         * modules/getline: Add lib/getndelim2.c to source file list.
93072         * MODULES.html.sh (func_all_modules): Add getnline.
93073
93074 2003-07-17  Bruno Haible  <bruno@clisp.org>
93075
93076         * m4/getnline.m4: New file.
93077
93078 2003-07-17  Bruno Haible  <bruno@clisp.org>
93079
93080         * m4/Makefile.am.in: Remove file.
93081         * m4/Makefile.am: Remove file.
93082         * m4/Makefile.in: Remove file.
93083
93084 2003-07-17  Bruno Haible  <bruno@clisp.org>
93085
93086         * lib/getnline.h: New file.
93087         * lib/getnline.c: New file.
93088         * lib/getndelim2.c: New file, extracted from getline.c.
93089         (getndelim2): Renamed from getdelim2, with added nmax argument.
93090         * lib/getline.c: Include getndelim2.c.
93091         (getdelim2): Moved out to getndelim2.c.
93092         (getline, getdelim): Update.
93093
93094 2003-07-17  Bruno Haible  <bruno@clisp.org>
93095
93096         * lib/Makefile.am: Remove file.
93097         * lib/Makefile.in: Remove file.
93098
93099 2003-07-17  Bruno Haible  <bruno@clisp.org>
93100
93101         * configure.in: Remove file.
93102         * Makefile.in: Remove file.
93103
93104 2003-07-17  Bruno Haible  <bruno@clisp.org>
93105
93106         * MODULES.html.sh: Put the </BODY> right before </HTML>.
93107
93108 2003-07-16  Karl Berry  <karl@gnu.org>
93109
93110         * config/srclist-update: was running fixlicense twice, which caused
93111                 texinfo.tex to be nullified for some reason.  Simplify,
93112                 $gplsrc is no longer needed as far as I can see?
93113
93114 2003-07-16  Jim Meyering  <jim@meyering.net>
93115
93116         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
93117
93118 2003-07-15  Paul Eggert  <eggert@twinsun.com>
93119
93120         * config/srclist.txt: Get the following files from gettext-runtime/intl
93121         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
93122         ref-del.sin.  From Bruno Haible.
93123         * config/srclist-update (fixfile): Change grep pattern again, since the
93124         previous fix didn't work (there was another trailing $).  Use
93125         '[$]' to escape the $s.
93126
93127 2003-07-15  Karl Berry  <karl@gnu.org>
93128
93129         * lib/vasnprintf.c: update from gettext.
93130
93131 2003-07-15  Karl Berry  <karl@gnu.org>
93132
93133         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
93134         gets expanded when surrounded by '$'.
93135
93136 2003-07-15  Jim Meyering  <jim@meyering.net>
93137
93138         * modules/save-cwd: Don't depend on error.  From Derek Price.
93139
93140 2003-07-15  Jim Meyering  <jim@meyering.net>
93141
93142         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
93143
93144 2003-07-14  Simon Josefsson  <jas@extundo.com>
93145
93146         * modules/mempcpy: New file.
93147         * MODULES.html.sh (func_all_modules): Add mempcpy.
93148
93149 2003-07-14  Simon Josefsson  <jas@extundo.com>
93150
93151         * m4/mempcpy.m4: New file.
93152
93153 2003-07-14  Simon Josefsson  <jas@extundo.com>
93154
93155         * lib/mempcpy.h: New file.
93156         * lib/mempcpy.c: New file.
93157
93158 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93159
93160         * modules/getdate, modules/posixtm: Depend on mktime.
93161
93162 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93163
93164         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
93165         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
93166         unicodeio.c, unicodeio.h, unlocked-io.h:
93167         Switch from LGPL to GPL.
93168
93169 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93170
93171         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
93172         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
93173         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
93174         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
93175         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
93176         updated automatically by ../config/srclist-update.  This changes
93177         their license from LPGL to GPL.
93178
93179 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93180
93181         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
93182         assumed to refer to the root of the most recent stable gettext version.
93183         * config/srclistvars.sh: Add defaults for eggert.
93184         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
93185         Match "This program" as well as "The program".  This is needed
93186         for gettext.
93187
93188 2003-07-14  Jim Meyering  <jim@meyering.net>
93189
93190         Don't emit diagnostics.  Let callers do that.
93191         * lib/save-cwd.c: Don't include "error.h".
93192         (save_cwd): Don't call error.  Ensure that errno is valid
93193         when returning nonzero.
93194
93195         * lib/save-cwd.h (restore_cwd): Update prototype.
93196         * lib/save-cwd.c (restore_cwd): Remove two parameters.
93197         Simplify.  Don't call error upon failure.  Let callers do that.
93198         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
93199         when auditing is enabled.  But don't bother updating the #if.
93200
93201 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
93202
93203         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
93204         it breaks C++ compilation.
93205         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
93206
93207 2003-07-10  Simon Josefsson  <jas@extundo.com>
93208
93209         * modules/strchrnul (Makefile.am): Add strchrnul.h.
93210
93211 2003-07-10  Jim Meyering  <jim@meyering.net>
93212
93213         * m4/clock_time.m4: Remove trailing blank.
93214         * m4/intmax_t.m4: Likewise.
93215
93216 2003-07-10  Jim Meyering  <jim@meyering.net>
93217
93218         * lib/vasnprintf.c: Remove trailing blanks.
93219         Make cpp indentation consistent.
93220
93221 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93222
93223         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
93224         posixver.c, strftime.c, strnlen.c, strverscmp.c:
93225         Switch from LGPL to GPL.
93226
93227 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93228
93229         * config/srclist.txt: Sort sublists.  Add
93230         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
93231         that differ from gnulib for one reason or another; we'd like this list
93232         to be smaller but for now let's document what we have.
93233
93234 2003-07-08  Paul Eggert  <eggert@twinsun.com>
93235
93236         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
93237         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
93238         and sweeter "eval x=$x".
93239         * config/srclist.txt: Get lib/argp* from glibc.
93240
93241 2003-07-07  Paul Eggert  <eggert@twinsun.com>
93242
93243         * lib/mktime.c: Fix some boundary cases and remove need for floating
93244         point.
93245
93246         Issue a compile-time diagnostic if time_t is floating point, or if
93247         two's complement arithmetic is not in effect, or if arithmetic
93248         right shift does not propagate the sign.  These assumptions were
93249         all in the original code but they weren't checked.
93250
93251         (TIME_T_MIDPOINT, verify): New macros.
93252         (__isleap): Remove; it has integer overflow problems.
93253         (leapyear): New function, without those problems.
93254         (ydhms_tm_diff): Remove; splitting into two parts.
93255         (ydhms_diff): New function, containing the arithmetic part of
93256         the old ydhms_tm_diff function.  Issue a compile-time
93257         diagnostic if we are not using C99 integer division.
93258         Avoid casts when possible.
93259         (guess_time_tm): New function, containing the checking part of
93260         the old ydhms_tm_diff function.  Return the new value, rather than
93261         the difference between it and the old.  Accept a new argument T
93262         so that *T specifies the old value.  Check for overflow in the result.
93263
93264         (__mktime_internal): Use a time_t offset, not a long int offset.
93265         This undoes the 2003-06-04 change, which is no longer needed now
93266         that we have better overflow checking.
93267         (localtime_offset): Likewise.
93268
93269         (__mktime_internal): Avoid harmful overflow on hosts where time_t
93270         and long are 64-bit but int is only 32-bit.
93271         (ydhms_diff): Use long int to store year1 and yday1.
93272         Issue a compile-time diagnostic if long int is not wide enough.
93273
93274         (__mktime_internal): Use long int to store adjusted year and yday.
93275         Use plain C rather than preprocessor commands, if that doesn't
93276         affect efficiency.
93277         Check for overflow (and try to repair) after each probe
93278         rather than checking only at the very end.  This avoids some bugs
93279         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
93280         does not equal GMT offset at maximum time).
93281         Use integer to check for overflow rather than floating point; this
93282         is more portable to non-IEEE hosts, and is a tad faster.
93283         When we detect that we are oscillating between two values,
93284         don't check whether tm_isdst has the requested value, since
93285         we already know the answer.  When tm_isdst has the wrong value,
93286         use a different heuristic to find the right one, based on the
93287         extreme values actually observed in practice in tz2003a,
93288         rather than the (overly optimistic) "previous 3 calendar quarters".
93289
93290         (not_equal_tm, print_tm, check_result): Use "const T" rather than
93291         "T const" to accommodate glibc style.
93292         (check_result): Use less-confusing report format.  "long" -> "long int.
93293         (main): Likewise.
93294         Don't loop if the iteration overflows time_t.
93295         Allow a negative step in the iteration.
93296
93297 2003-07-06  Karl Berry  <karl@gnu.org>
93298
93299         * config/depcomp: update from automake.
93300         * config/config.sub: update from prep.
93301
93302 2003-07-03  Karl Berry  <karl@gnu.org>
93303
93304         * config/config.guess: update from prep.
93305
93306 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93307
93308         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
93309         xreadlink.c now includes it unconditionally.
93310
93311 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93312
93313         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
93314         having it depend on HAVE_SYS_TYPES_H.
93315
93316 2003-07-01  Bruno Haible  <bruno@clisp.org>
93317
93318         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
93319         <sys/types.h> should be sufficient.
93320         Reported by Paul Eggert.
93321
93322 2003-06-26  Karl Berry  <karl@gnu.org>
93323
93324         * config/depcomp: update from automake.
93325
93326 2003-06-26  Bruno Haible  <bruno@clisp.org>
93327
93328         * modules/human: Depend on module stdbool.
93329
93330 2003-06-25  Bruno Haible  <bruno@clisp.org>
93331
93332         * modules/readlink: New file.
93333         * modules/xreadlink: Depend on it.
93334         * MODULES.html.sh (func_all_modules): Add readlink.
93335
93336 2003-06-25  Bruno Haible  <bruno@clisp.org>
93337
93338         * m4/readlink.m4: New file.
93339
93340 2003-06-25  Bruno Haible  <bruno@clisp.org>
93341
93342         * lib/readlink.c: New file.
93343
93344 2003-06-22  Karl Berry  <karl@gnu.org>
93345
93346         * config/srclist.txt: update mkinstalldirs from automake.
93347         * config/mkinstalldirs: update.
93348
93349 2003-06-22  Bruno Haible  <bruno@clisp.org>
93350
93351         Portability to mingw32.
93352         * m4/ssize_t.m4: New file, from GNU gettext.
93353         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
93354         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
93355
93356 2003-06-22  Bruno Haible  <bruno@clisp.org>
93357
93358         * modules/safe-read: Add m4/ssize_t.m4.
93359         * modules/xreadlink: Add m4/ssize_t.m4.
93360
93361 2003-06-20  Bruno Haible  <bruno@clisp.org>
93362
93363         Assume C89, so PARAMS isn't needed.
93364         * lib/unicodeio.h (PARAMS): Remove.
93365         * lib/unicodeio.c: Don't use PARAMS.
93366
93367 2003-06-18  Karl Berry  <karl@gnu.org>
93368
93369         * config/config.{guess,sub}: update from prep.
93370
93371 2003-06-18  Jim Meyering  <jim@meyering.net>
93372
93373         Merge changes from coreutils.
93374         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
93375         Remove explicit declarations of xmalloc and realloc.
93376         Include xalloc.h.
93377         (read_utmp): Remove anachronistic cast of xmalloc.
93378
93379 2003-06-17  Paul Eggert  <eggert@twinsun.com>
93380
93381         Assume C89, so PARAMS isn't needed.
93382         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
93383         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
93384         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
93385         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
93386         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
93387         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
93388         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
93389         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
93390         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
93391         lib/xstrtod.h, lib/xstrtol.h: Likewise.
93392         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
93393         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
93394         no longer needed. Anyway, config.h should always be included before any
93395         other file.
93396
93397 2003-06-11  Simon Josefsson  <jas@extundo.com>
93398
93399         * modules/sysexits: New file.
93400         * MODULES.html.sh (func_all_modules): Add sysexits.
93401
93402 2003-06-11  Simon Josefsson  <jas@extundo.com>
93403
93404         * lib/sysexit_.h: New file.
93405
93406 2003-06-11  Derek Price  <derek@ximbiot.com>
93407
93408         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
93409         necessary.
93410
93411 2003-06-11  Bruno Haible  <bruno@clisp.org>
93412
93413         * m4/sysexits.m4: New file.
93414
93415 2003-06-10  Simon Josefsson  <jas@extundo.com>
93416
93417         * lib/argp.h: New file, from glibc.
93418         * lib/argp-ba.c: New file, from glibc.
93419         * lib/argp-eexst.c: New file, from glibc.
93420         * lib/argp-fmtstream.c: New file, from glibc.
93421         * lib/argp-fmtstream.h: New file, from glibc.
93422         * lib/argp-fs-xinl.c: New file, from glibc.
93423         * lib/argp-help.c: New file, from glibc.
93424         * lib/argp-namefrob.h: New file, from glibc.
93425         * lib/argp-parse.c: New file, from glibc.
93426         * lib/argp-pv.c: New file, from glibc.
93427         * lib/argp-pvh.c: New file, from glibc.
93428         * lib/argp-xinl.c: New file, from glibc.
93429
93430 2003-06-10  Simon Josefsson  <jas@extundo.com>
93431
93432         * modules/strchrnul: New file.
93433
93434 2003-06-10  Simon Josefsson  <jas@extundo.com>
93435
93436         * modules/argp: New file.
93437
93438 2003-06-10  Simon Josefsson  <jas@extundo.com>
93439
93440         * m4/strchrnul.m4: New file.
93441
93442 2003-06-10  Simon Josefsson  <jas@extundo.com>
93443
93444         * lib/strchrnul.h: New file.
93445         * lib/strchrnul.c: New file.
93446
93447 2003-06-10  Bruno Haible  <bruno@clisp.org>
93448
93449         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
93450
93451 2003-06-07  Karl Berry  <karl@gnu.org>
93452
93453         * config/config.{guess,sub}: update from prep.
93454
93455 2003-06-07  Jim Meyering  <jim@meyering.net>
93456
93457         * modules/strtod: Use $(...) notation, not @...@ for
93458         AC_REPLACE'd variables.
93459         * modules/localcharset: Likewise.
93460
93461 2003-06-07  Jim Meyering  <jim@meyering.net>
93462
93463         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
93464         in place of my name in the copyright comment.
93465         Remove definition and uses of __P.
93466
93467         From coreutils.
93468         * lib/stat.c: Don't declare xmalloc explicitly.
93469         Instead, include "xalloc.h".
93470         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
93471         xrealloc, and xcalloc return values.
93472         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
93473         Improve comment.
93474         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
93475
93476 2003-06-07  Bruno Haible  <bruno@clisp.org>
93477
93478         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
93479         avoid AC_CONFIG_LINKS.
93480         * modules/fnmatch (Makefile.am): Use explicit creation rule for
93481         fnmatch.h, to avoid AC_CONFIG_LINKS.
93482         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
93483
93484 2003-06-07  Bruno Haible  <bruno@clisp.org>
93485
93486         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
93487         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
93488         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93489         directory.
93490         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
93491         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93492         directory.
93493
93494 2003-06-06  Jim Meyering  <jim@meyering.net>
93495
93496         Merge from coreutils.
93497         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
93498         Consolidate declarations and initializations of *_base* locals.
93499
93500         Merge from coreutils.
93501         This avoids a core dump on systems without GNU putenv,
93502         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
93503         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
93504         (unsetenv): New static function, from GNU libc.
93505         (rpl_putenv): Use it.
93506
93507         * lib/modechange.c: Remove trailing blanks.
93508
93509         Merge from coreutils.
93510         * lib/fsusage.c: Remove declaration of statfs.
93511         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
93512
93513         * lib/posixtm.c: Include <stdbool.h> unconditionally.
93514
93515 2003-06-06  Jim Meyering  <jim@meyering.net>
93516
93517         * lib/stdbool_.h: Renamed from stdbool.h.in.
93518
93519 2003-06-06  Jim Meyering  <jim@meyering.net>
93520             Bruno Haible  <bruno@clisp.org>
93521
93522         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
93523         Adjust Makefile.am snippet not to redirect directly to target.
93524         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
93525
93526 2003-06-05  Paul Eggert  <eggert@twinsun.com>
93527
93528         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
93529         mismatch, look in future quarters as well as past.  This fixes a
93530         bug when processing fall-backwards gaps immediately after a long
93531         period of daylight-saving time.
93532
93533         * lib/mktime.c: Assume freestanding C89 or better.
93534         (HAVE_LIMITS_H): Remove.  Assume it's 1.
93535         (__P): Remove; not used.
93536         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
93537         (mktime, not_equal_tm, print_tm, check_result,
93538         main): Use prototypes.  Use const * where appropriate.
93539         (main): Fix typo in testing code that uncovered by above changes.
93540         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
93541
93542 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93543
93544         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
93545         locale.h, localeconv.  This merges changes from coreutils.
93546
93547         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
93548         It can be removed after the next Autoconf is released.
93549         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
93550         needed.
93551
93552 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93553
93554         * lib/mktime.c: Fix Debian bug 177940
93555         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
93556         (localtime_offset): Now long int, not time_t, because we want it
93557         to be guaranteed to be signed.  All uses changed.
93558         (__mktime_internal): If overflow would occur when adding offset,
93559         don't add it.
93560
93561         Merge 'human' changes from coreutils.  Rewrite to support
93562         locale-specific notations like thousands separators.
93563         * lib/human.c: Simplify authorship notice.
93564         Include human.h immediately after config.h.
93565         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
93566         <limits.h>: Do not include, since human.h does.
93567         (SIZE_MAX, UINTMAX_MAX): New macros.
93568         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
93569         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
93570         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
93571         (power_letter): Renamed from suffixes.
93572         (generate_suffix_backwards): Remove.
93573         (adjust_value): Now takes int style (because of human.h changes)
93574         and long double value (for greater precision on some platforms).
93575         (group_number): New function.
93576         (human_readable): Use it.  Use integer options, not enum.
93577         Put the options before the sizes in the arg list.
93578         Support all the new options.
93579         The old human_readable function has been removed;
93580         use inttostr.h instead.
93581         (human_readable, default_block_size, humblock):
93582         Use uintmax_t, not int, for block sizes.
93583         (human_readable_inexact, block_size_types): Remove.
93584         (block_size_opts): New constant.
93585         (human_options): Renamed from human_block_size, with new signature
93586         that allows block sizes up to UINTMAX_MAX.  All callers changed.
93587         * lib/human.h: Add copyright and authorship notice.
93588         Include <limits.h> and <stdbool.h> unconditionally.
93589         (PARAMS): Remove.  All uses removed.
93590         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
93591         (enum human_inexact_style): Remove tag; now a nameless enum.
93592         (human_floor, human_ceiling, human_round_to_even): Now have
93593         values 2, 0, 1 rather than -1, 1, 0.
93594         (human_group_digits, human_suppress_point_zero, human_autoscale,
93595         human_base_1024, human_SI, human_B): New constants.
93596         (human_readable_inexact, human_block_size): Remove.
93597         (human_readable): Size args are now uintmax_t, not int.
93598         (human_options): New decl.
93599
93600         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
93601         unnecessary now that we assume C89 or better.  This change
93602         imported from coreutils.
93603
93604         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93605         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
93606         in the 2003-05-30 sync from glibc.
93607
93608         .h files should stand alone, but we shouldn't include <sys/types.h>
93609         if we can get away with just <stddef.h>.
93610
93611         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
93612         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
93613         rather than <sys/types.h>, as we merely need size_t.
93614         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
93615         to get size_t.
93616         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
93617         Include <stdio.h>, to get FILE.
93618         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
93619         memcasecmp.h has included <stddef.h> and all we need is size_t.
93620         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
93621         our interface, instead of including <sys/types.h>
93622
93623 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93624
93625         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
93626         now, as glibc mktime is buggy on non-glibc systems.
93627
93628 2003-06-03  Karl Berry  <karl@gnu.org>
93629
93630         * config/config.sub: update from prep.
93631
93632 2003-06-02  Paul Eggert  <eggert@twinsun.com>
93633
93634         [from coreutils]
93635         Fix some minor time-related bugs with POSIX time arguments.
93636         Some valid time stamps were being rejected (notably -1, and
93637         time stamps before 1900 on 64-bit hosts).  And some invalid
93638         time stamps were being accepted, e.g. September 31.
93639
93640         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
93641         that we can return (time_t) -1 successfully.
93642         * lib/posixtm.c: Likewise.
93643         [HAVE_STDBOOL_H]: Include <stdbool.h>.
93644         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
93645         (t): Remove static var.
93646         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
93647         of static var.  All uses changed.
93648         (year): Do not reject years before 1900; they can occur with
93649         64-bit time_t.
93650         (posix_time_parse): Do not check for out-of-range components;
93651         that is now the caller's responsibility, since our checks were
93652         only approximations.
93653         (posixtime): Use mktime to check for out-of-range components,
93654         since it knows them exactly.
93655         If mktime returns (time_t) -1, check whether an error actually occurred
93656         by invoking localtime on -1.
93657         (main) [TEST_POSIXTIME]: Check for input data errors, and report
93658         posixtime failures better.
93659         Improve the test data (in comments only).
93660
93661 2003-06-02  Karl Berry  <karl@gnu.org>
93662
93663         * config/mkinstalldirs (version): new variable.
93664         (--version): new option.
93665         (usage): improve message.
93666
93667 2003-05-30  Karl Berry  <karl@gnu.org>
93668
93669         * lib/mktime.c: update from libc.
93670
93671 2003-05-30  Bruno Haible  <bruno@clisp.org>
93672
93673         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
93674         * config/config.rpath: Upgrade to gettext-0.12.1.
93675
93676 2003-05-30  Bruno Haible  <bruno@clisp.org>
93677
93678         * m4/gettext.m4: Upgrade to gettext-0.12.1.
93679         * m4/nls.m4: New file, from gettext-0.12.1.
93680         * m4/po.m4: New file, from gettext-0.12.1.
93681         * m4/progtest.m4: Upgrade to gettext-0.12.1.
93682
93683 2003-05-30  Bruno Haible  <bruno@clisp.org>
93684
93685         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
93686         * lib/localcharset.h: Likewise.
93687         * lib/localcharset.c: Likewise.
93688
93689 2003-05-29  Karl Berry  <karl@gnu.org>
93690
93691         * config/config.rpath: update from gettext.
93692
93693 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93694
93695         Assume the headers required for C89 freestanding compilers.
93696         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
93697         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
93698         * m4/human.m4 (gl_HUMAN): Likewise.
93699         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
93700         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
93701         * m4/userspec.m4 (gl_USERSPEC): Likewise.
93702         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
93703         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
93704         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
93705
93706 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93707
93708         Assume the headers required for C89 freestanding compilers.
93709         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
93710         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
93711         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
93712         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
93713         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
93714         define, since <limits.h> is guaranteed to do that.
93715         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
93716         * lib/exclude.c: Include <stdbool.h> unconditionally.
93717         * lib/tempname.c: Include <stddef.h> unconditionally.
93718         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
93719         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
93720         <stddef.h> does that.
93721         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
93722         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
93723         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
93724         needed.
93725         * lib/xstrtol.c: Likewise.
93726         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
93727         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
93728
93729         * lib/addext.c (addext): Use assignment rather than cast, to avoid
93730         warnings on some platforms.
93731
93732         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93733         arbitrarily.
93734
93735 2003-05-26  Jim Meyering  <jim@meyering.net>
93736
93737         Merge in a change from coreutils:
93738         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
93739         that is guaranteed to be `no'.  Use `no_such_member' to indicate
93740         that condition, rather than `-1' which is slightly misleading.
93741         Change the name of the cache variable to have the gl_ prefix.
93742         Prompted by a patch from Richard Dawe for DJGPP.
93743
93744 2003-05-24  Karl Berry  <karl@gnu.org>
93745
93746         * config/config.guess: update from prep.
93747
93748 2003-05-22  Karl Berry  <karl@gnu.org>
93749
93750         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
93751
93752 2003-05-20  Karl Berry  <karl@gnu.org>
93753
93754         * config/config.guess: update from prep.
93755
93756 2003-05-18  Karl Berry  <karl@gnu.org>
93757
93758         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
93759         might actually be set by the user.
93760
93761         * config/depcomp, install-sh, mdate-sh: update from automake.
93762
93763 2003-05-17  Bruno Haible  <bruno@clisp.org>
93764
93765         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
93766         invalid expansion for AC_EGREP_CPP.
93767         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
93768         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
93769         Suggested by Akim Demaille <akim@epita.fr> in
93770         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
93771
93772 2003-05-12  Jim Meyering  <jim@meyering.net>
93773
93774         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
93775         the space-padded-by-default conversion specifiers, %e, %k, %l.
93776
93777 2003-05-12  Bruno Haible  <bruno@clisp.org>
93778
93779         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
93780         the string is longer than 4 KB.
93781
93782 2003-05-11  Karl Berry  <karl@gnu.org>
93783
93784         * config/config.{guess,sub}: update from prep.
93785
93786 2003-05-09  Bruno Haible  <bruno@clisp.org>
93787
93788         * modules/error: Add m4/strerror_r.m4 to file list.
93789
93790 2003-05-03  Bruno Haible  <bruno@clisp.org>
93791
93792         Upgrade to Unicode-4.0.
93793         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
93794         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
93795         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
93796         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
93797         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
93798         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
93799         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
93800         Change width of U+E0100..U+E01EF from 1 to 0.
93801
93802 2003-04-25  Jim Meyering  <jim@meyering.net>
93803
93804         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
93805         of type size_t, not int.
93806
93807 2003-04-25  Bruno Haible  <bruno@clisp.org>
93808
93809         * lib/copy-file.c: Include <stddef.h>, for size_t.
93810
93811 2003-04-21  Paul Eggert  <eggert@twinsun.com>
93812
93813         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
93814         code which expansion is under static control.  Patch imported from
93815         Akim Demaille's patch to Bison; see
93816         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
93817
93818 2003-04-14  Bruno Haible  <bruno@clisp.org>
93819
93820         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
93821
93822 2003-04-11  Jim Meyering  <jim@meyering.net>
93823
93824         Merge changes from Coreutils.
93825
93826         2003-03-22  Jim Meyering  <jim@meyering.net>
93827
93828         * lib/strftime.c (widen): Cast alloca return value to proper type.
93829
93830         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
93831
93832         From GNU libc.
93833         * lib/strftime.c (my_strftime): Handle very large width
93834         specifications for numeric values correctly.  Improve checks for
93835         overflow.
93836
93837         2003-01-19  Jim Meyering  <jim@meyering.net>
93838
93839         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
93840         definitions.
93841         (nl_get_alt_digit) [! defined my_strftime]: Define.
93842         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
93843         _nl_get_alt_digit and _nl_get_walt_digit.
93844
93845         * lib/strftime.c (my_strftime): Merge in locale-related changes from
93846         libc. These changes have no effect outside of _LIBC.
93847
93848 2003-04-10  Bruno Haible  <bruno@clisp.org>
93849
93850         * modules/findprog: New file.
93851         * MODULES.html.sh (func_all_modules): Add it.
93852
93853 2003-04-10  Bruno Haible  <bruno@clisp.org>
93854
93855         * m4/findprog.m4: New file.
93856         * m4/eaccess.m4: New file.
93857
93858 2003-04-10  Bruno Haible  <bruno@clisp.org>
93859
93860         * lib/findprog.h: New file, from GNU gettext.
93861         * lib/findprog.c: New file, from GNU gettext.
93862
93863 2003-04-05  Jim Meyering  <jim@meyering.net>
93864
93865         Merge changes from Coreutils.
93866
93867         * lib/exclude.h (PARAMS): Remove definition and uses.
93868         * lib/exclude.c: Remove uses of `PARAMS'.
93869
93870         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
93871         Add test-cases for DOS filenames. Declare program_name.
93872         (main): Set up program_name.  Patch by Rich Dawe.
93873
93874         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93875         error from mntctl.
93876         Use mntctl's return value to drive the entry-processing loop, since
93877         we can't rely on the value of the vmt_length member in the last
93878         entry.  On some systems doing so could result in exhausting
93879         virtual memory.  Based in part on a patch from Mike Jetzer.
93880
93881 2003-04-04  Bruno Haible  <bruno@clisp.org>
93882
93883         * modules/linebreak: New file.
93884         * MODULES.html.sh (func_all_modules): Add it.
93885
93886 2003-04-04  Bruno Haible  <bruno@clisp.org>
93887
93888         * m4/linebreak.m4: New file.
93889
93890 2003-04-04  Bruno Haible  <bruno@clisp.org>
93891
93892         * lib/linebreak.h: New file, from GNU gettext.
93893         * lib/linebreak.c: New file, from GNU gettext with slight
93894         modifications.
93895         * lib/lbrkprop.h: New file, from GNU gettext.
93896
93897 2003-04-03  Bruno Haible  <bruno@clisp.org>
93898
93899         * modules/utf8-ucs4: New file.
93900         * modules/utf16-ucs4: New file.
93901         * modules/ucs4-utf8: New file.
93902         * modules/ucs4-utf16: New file.
93903         * MODULES.html.sh (func_all_modules): Add them.
93904
93905 2003-04-03  Bruno Haible  <bruno@clisp.org>
93906
93907         * m4/utf-ucs4.m4: New file.
93908         * m4/ucs4-utf.m4: New file.
93909
93910 2003-04-03  Bruno Haible  <bruno@clisp.org>
93911
93912         * lib/utf8-ucs4.h: New file, from GNU gettext.
93913         * lib/utf16-ucs4.h: New file, from GNU gettext.
93914         * lib/ucs4-utf8.h: New file, from GNU gettext.
93915         * lib/ucs4-utf16.h: New file, from GNU gettext.
93916
93917 2003-04-02  Bruno Haible  <bruno@clisp.org>
93918
93919         * modules/binary-io: New file.
93920         * MODULES.html.sh (func_all_modules): Add it.
93921
93922 2003-04-02  Bruno Haible  <bruno@clisp.org>
93923
93924         * lib/binary-io.h: New file, from GNU gettext.
93925
93926 2003-04-01  Bruno Haible  <bruno@clisp.org>
93927
93928         * modules/pathname: New file.
93929         * MODULES.html.sh (func_all_modules): Add it.
93930
93931 2003-04-01  Bruno Haible  <bruno@clisp.org>
93932
93933         * lib/pathname.h: New file, from GNU gettext.
93934         * lib/concatpath.c: New file, from GNU gettext.
93935
93936 2003-03-30  Bruno Haible  <bruno@clisp.org>
93937
93938         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
93939
93940 2003-03-30  Bruno Haible  <bruno@clisp.org>
93941
93942         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
93943         function chown() doesn't exist.
93944
93945 2003-03-28  Bruno Haible  <bruno@clisp.org>
93946
93947         * modules/copy-file: New file.
93948         * MODULES.html.sh (func_all_modules): Add it.
93949
93950 2003-03-28  Bruno Haible  <bruno@clisp.org>
93951
93952         * m4/copy-file.m4: New file.
93953
93954 2003-03-28  Bruno Haible  <bruno@clisp.org>
93955
93956         * lib/copy-file.h: New file, from GNU gettext.
93957         * lib/copy-file.c: New file, from GNU gettext.
93958
93959 2003-03-18  Jim Meyering  <jim@meyering.net>
93960
93961         * lib/quote.c (quote_n): Fix typo in comment.
93962
93963 2003-03-18  Bruno Haible  <bruno@clisp.org>
93964
93965         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
93966         checking.
93967         * m4/onceonly_2_57.m4: Likewise.
93968
93969 2003-03-17  Bruno Haible  <bruno@clisp.org>
93970
93971         * m4/onceonly.m4: Require autoconf 2.54 or newer.
93972         (m4_quote): Remove macro.
93973         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
93974
93975 2003-03-14  Jim Meyering  <jim@meyering.net>
93976
93977         Merge changes from Coreutils.
93978         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
93979         to be const, in order to avoid warnings.
93980         (obstack_room): Likewise.
93981         (obstack_empty_p): Likewise.
93982
93983 2003-03-14  Bruno Haible  <bruno@clisp.org>
93984
93985         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
93986         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
93987
93988 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93989
93990         Merge changes from Bison.
93991         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
93992         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
93993         when compiling Bison 1.875's `bitset bset = obstack_alloc
93994         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
93995         * lib/hash.c: Include <stdbool.h> unconditionally.
93996
93997 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93998
93999         * m4/onceonly.m4 (m4_quote): New macro.
94000         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
94001         Quote AC_FOREACH variable-expansions properly.
94002
94003 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94004
94005         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
94006
94007 2003-03-09  Paul Eggert  <eggert@twinsun.com>
94008
94009         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
94010         Reported by Bruce Becker; see:
94011         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
94012
94013 2003-03-03  Paul Eggert  <eggert@twinsun.com>
94014             Bruno Haible  <bruno@clisp.org>
94015
94016         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
94017         Reported by John Hughes, see
94018         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
94019
94020 2003-02-20  Bruno Haible  <bruno@clisp.org>
94021
94022         * MODULES.html.sh (func_all_modules): Add poll.
94023
94024 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94025
94026         * modules/poll: New file.
94027
94028 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94029
94030         * lib/poll_.h: New file.
94031         * lib/poll.c: New file.
94032
94033 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94034
94035         * m4/poll.m4: New file.
94036
94037 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94038
94039         * modules/mathl: New file.
94040
94041 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94042
94043         * lib/mathl.h: New file.
94044         * lib/acosl.c: New file.
94045         * lib/asinl.c: New file.
94046         * lib/atanl.c: New file.
94047         * lib/ceill.c: New file.
94048         * lib/cosl.c: New file.
94049         * lib/expl.c: New file.
94050         * lib/floorl.c: New file.
94051         * lib/frexpl.c: New file.
94052         * lib/ldexpl.c: New file.
94053         * lib/logl.c: New file.
94054         * lib/sincosl.c: New file.
94055         * lib/sinl.c: New file.
94056         * lib/sqrtl.c: New file.
94057         * lib/tanl.c: New file.
94058         * lib/trigl.c: New file.
94059         * lib/trigl.h: New file.
94060
94061 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94062
94063         * m4/mathl.m4: New file.
94064
94065 2003-02-18  Bruno Haible  <bruno@clisp.org>
94066
94067         * MODULES.html.sh (func_all_modules): Add mathl.
94068
94069 2003-02-17  Bruno Haible  <bruno@clisp.org>
94070
94071         * modules/mkdtemp: New module.
94072         * MODULES.html.sh (func_all_modules): Add it.
94073
94074 2003-02-17  Bruno Haible  <bruno@clisp.org>
94075
94076         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
94077
94078 2003-02-17  Bruno Haible  <bruno@clisp.org>
94079
94080         * lib/mkdtemp.h: New file, from GNU gettext.
94081         * lib/mkdtemp.c: New file, from GNU gettext.
94082
94083 2003-02-02  Jim Meyering  <jim@meyering.net>
94084
94085         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
94086         e.g. glibc-2.2.93.
94087
94088 2003-01-31  Bruno Haible  <bruno@clisp.org>
94089
94090         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
94091         'rpl_rename'.
94092         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
94093         'rpl_strnlen'.
94094         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
94095         'rpl_strtod'.
94096         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
94097         'rpl_utime'.
94098
94099 2003-01-31  Bruno Haible  <bruno@clisp.org>
94100
94101         * lib/rename.c: #undef rename before defining rpl_rename.
94102         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
94103
94104 2003-01-30  Bruno Haible  <bruno@clisp.org>
94105
94106         * modules/vasnprintf, modules/vasprintf: New modules.
94107         * MODULES.html.sh (func_all_modules): Add them.
94108
94109 2003-01-30  Bruno Haible  <bruno@clisp.org>
94110
94111         * m4/signed.m4: New file, from GNU gettext.
94112         * m4/longdouble.m4: New file, from GNU gettext.
94113         * m4/wchar_t.m4: New file, from GNU gettext.
94114         * m4/wint_t.m4: New file, from GNU gettext.
94115         * m4/vasnprintf.m4: New file.
94116         * m4/vasprintf.m4: New file.
94117
94118 2003-01-30  Bruno Haible  <bruno@clisp.org>
94119
94120         * lib/printf-args.h: New file, from GNU gettext.
94121         * lib/printf-args.c: New file, from GNU gettext.
94122         * lib/printf-parse.h: New file, from GNU gettext.
94123         * lib/printf-parse.c: New file, from GNU gettext.
94124         * lib/vasnprintf.h: New file, from GNU gettext.
94125         * lib/vasnprintf.c: New file, from GNU gettext.
94126         * lib/asnprintf.c: New file, from GNU gettext.
94127         * lib/vasprintf.h: New file, from GNU gettext with modifications.
94128         * lib/vasprintf.c: New file, from GNU gettext.
94129         * lib/asprintf.c: New file, from GNU gettext.
94130
94131 2003-01-29  Bruno Haible  <bruno@clisp.org>
94132
94133         * modules/stpncpy: New module.
94134         * MODULES.html.sh (func_all_modules): Add it.
94135
94136 2003-01-29  Bruno Haible  <bruno@clisp.org>
94137
94138         * m4/stpncpy.m4: New file.
94139
94140 2003-01-29  Bruno Haible  <bruno@clisp.org>
94141
94142         * lib/stpncpy.h: New file, from GNU gettext with modifications.
94143         * lib/stpncpy.c: New file, from GNU gettext with modifications.
94144
94145 2003-01-28  Bruno Haible  <bruno@clisp.org>
94146
94147         * modules/c-ctype: New module.
94148         * MODULES.html.sh (func_all_modules): Add it.
94149
94150 2003-01-28  Bruno Haible  <bruno@clisp.org>
94151
94152         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
94153         Paul Eggert.
94154         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
94155         Paul Eggert.
94156
94157 2003-01-27  Bruno Haible  <bruno@clisp.org>
94158
94159         * modules/xsetenv: New module.
94160         * MODULES.html.sh (func_all_modules): Add it.
94161
94162 2003-01-27  Bruno Haible  <bruno@clisp.org>
94163
94164         * lib/xsetenv.h: New file, from GNU gettext.
94165         * lib/xsetenv.c: New file, from GNU gettext.
94166
94167 2003-01-23  Jim Meyering  <jim@meyering.net>
94168
94169         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
94170         from working on systems without dirfd (at least Irix and OSF1/Tru64).
94171
94172 2003-01-23  Bruno Haible  <bruno@clisp.org>
94173
94174         * modules/minmax: New module.
94175         * MODULES.html.sh (func_all_modules): Add it.
94176
94177 2003-01-23  Bruno Haible  <bruno@clisp.org>
94178
94179         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
94180         Eggert.
94181
94182 2003-01-22  Bruno Haible  <bruno@clisp.org>
94183
94184         * modules/exit: New module.
94185         * MODULES.html.sh (func_all_modules): Add it.
94186
94187 2003-01-22  Bruno Haible  <bruno@clisp.org>
94188
94189         * lib/exit.h: New file, from GNU gettext.
94190
94191 2003-01-19  Bruno Haible  <bruno@clisp.org>
94192
94193         * gnulib-tool: Recognize option --extract-maintainer.
94194         (func_get_maintainer): New function.
94195         * modules/*: Add Maintainer entry.
94196
94197 2003-01-16  Jim Meyering  <jim@meyering.net>
94198
94199         * m4/regex.m4: The `regex' struct is both input and output.
94200         Initialize it before each use.  Patch by Tim Waugh.
94201
94202 2003-01-16  Bruno Haible  <bruno@clisp.org>
94203
94204         * MODULES.html.sh: Add a table of contents. Add the module name as
94205         leftmost column. Add hyperlinks.
94206
94207 2003-01-15  Bruno Haible  <bruno@clisp.org>
94208
94209         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
94210
94211 2003-01-15  Bruno Haible  <bruno@clisp.org>
94212
94213         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
94214         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
94215         suffix.
94216
94217 2003-01-15  Bruno Haible  <bruno@clisp.org>
94218
94219         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
94220
94221 2003-01-15  Bruno Haible  <bruno@clisp.org>
94222
94223         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
94224         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
94225
94226 2003-01-14  Jim Meyering  <jim@meyering.net>
94227
94228         * lib/same.c (same_name): Tweak a comment.
94229
94230 2003-01-14  Bruno Haible  <bruno@clisp.org>
94231
94232         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
94233         when a string comparison is sufficient.
94234
94235 2003-01-14  Bruno Haible  <bruno@clisp.org>
94236
94237         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
94238         'unsigned int'.
94239
94240 2003-01-14  Bruno Haible  <bruno@clisp.org>
94241
94242         * lib/hash-pjw.c: Add comment about low quality of this function.
94243
94244 2003-01-13  Bruno Haible  <bruno@clisp.org>
94245
94246         * modules/stpcpy: Distribute lib/stpcpy.h.
94247         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
94248
94249 2003-01-13  Bruno Haible  <bruno@clisp.org>
94250
94251         * modules/*: Add a description.
94252         * modules/strpbrk: Fix Makefile.am snippet.
94253         * modules/strtoimax: Fix dependencies.
94254         * modules/strtoumax: Likewise.
94255
94256 2003-01-13  Bruno Haible  <bruno@clisp.org>
94257
94258         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
94259         * modules/alloca (Makefile.am): All object files depend on alloca.h.
94260         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
94261
94262 2003-01-13  Bruno Haible  <bruno@clisp.org>
94263
94264         * gnulib-tool (func_create_testdir): Store config/* files in the main
94265         directory.
94266         * config.rpath: Move to ...
94267         * config/config.rpath: ... here.
94268         * modules/gettext: Contains config/config.rpath, not config.rpath.
94269         * modules/iconv: Likewise.
94270
94271 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94272
94273         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94274         to avoid collisions with libcurses and libreadline.
94275
94276         * m4/getstr.m4: Remove.
94277         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
94278
94279 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94280
94281         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94282         to avoid collisions with libcurses and libreadline.
94283
94284         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
94285         * lib/getstr.h, getstr.c: Remove.
94286         * lib/getline.c: Include "getline.h", to check interface.
94287         Move body of old getstr.c here: this defines MIN_CHUNK and
94288         declares getdelim2, which is renamed from getstr.
94289         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
94290
94291         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
94292         All uses changed.
94293         * lib/linebuffer.h: Likewise.
94294         (readline): Remove backward-compatibility macro.
94295
94296 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94297
94298         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94299         to avoid collisions with libcurses and libreadline.
94300         * getstr: Remove.
94301         * MODULES.html.sh: Remove getstr.
94302         * modules/getline: Depend on unlocked-io, not getstr.
94303
94304 2003-01-12  Jim Meyering  <jim@meyering.net>
94305
94306         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
94307
94308 2003-01-10  Bruno Haible  <bruno@clisp.org>
94309
94310         * modules/alloca: Change Makefile.am requirements. Simplify Include
94311         requirements. Add lib/alloca_.h to file list.
94312
94313 2003-01-10  Bruno Haible  <bruno@clisp.org>
94314
94315         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
94316
94317 2003-01-10  Bruno Haible  <bruno@clisp.org>
94318
94319         * lib/alloca_.h: New file.
94320         * lib/getdate.y: Unconditionally include alloca.h.
94321         * lib/makepath.c: Likewise.
94322         * lib/setenv.c: Likewise.
94323         * lib/userspec.c: Likewise.
94324
94325 2003-01-09  Karl Berry  <karl@gnu.org>
94326
94327         * MODULES.html.sh: include `dirname $0` in PATH, to find
94328         gnulib-tool.
94329
94330 2003-01-09  Bruno Haible  <bruno@clisp.org>
94331
94332         * modules/stdbool: Change configure.ac, Makefile.am requirements.
94333         Simplify Include requirements. Add lib/stdbool.h.in to file list.
94334
94335 2003-01-09  Bruno Haible  <bruno@clisp.org>
94336
94337         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
94338
94339 2003-01-09  Bruno Haible  <bruno@clisp.org>
94340
94341         * lib/stdbool.h.in: New file.
94342
94343 2003-01-09  Bruno Haible  <bruno@clisp.org>
94344
94345         * gnulib-tool (func_all_modules): Ignore files ending in ~.
94346         * MODULES.html.sh: Likewise.
94347
94348 2003-01-08  Jim Meyering  <jim@meyering.net>
94349
94350         * lib/full-write.c: Undefine and define-away `const' after inclusion
94351         of errno.h, not before.  Suggestion from Bruno Haible.
94352
94353 2003-01-08  Bruno Haible  <bruno@clisp.org>
94354
94355         * modules/full-read: Depend on full-write.
94356
94357 2003-01-08  Bruno Haible  <bruno@clisp.org>
94358
94359         * lib/safe-read.c: Include specification header first, to ensure its
94360         selfcontainedness.
94361         * lib/full-write.c: Likewise.
94362
94363 2003-01-07  Jim Meyering  <jim@meyering.net>
94364
94365         * lib/full-write.c: Rework so that it may serve to define full_read,
94366         too.
94367         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
94368
94369 2003-01-07  Bruno Haible  <bruno@clisp.org>
94370
94371         * lib/strtoimax.c: Include <stdint.h> as an alternative to
94372         <inttypes.h>.
94373         * lib/xstrtol.h: Likewise.
94374         * lib/xstrtoimax.c: Likewise.
94375         * lib/xstrtoumax.c: Likewise.
94376         * lib/human.h: Likewise.
94377
94378         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
94379         on systems that have <inttypes.h> but not <stdint.h>.
94380
94381 2003-01-07  Bruno Haible  <bruno@clisp.org>
94382
94383         * MODULES.html.sh: Add copyright notice.
94384         (missed_files): Omit CVS directory entries.
94385         (func_module): Make it work with sed-3.02.
94386         * MODULES.txt: Remove file.
94387
94388 2003-01-06  Jim Meyering  <jim@meyering.net>
94389
94390         * lib/version-etc.c: Update year in translatable copyright string.
94391
94392 2003-01-03  Karl Berry  <karl@gnu.org>
94393
94394         * config/config.{guess,sub}: update from prep.
94395
94396 2003-01-02  Karl Berry  <karl@gnu.org>
94397
94398         * doc/COPYING.DOC: belatedly updated to 1.2.
94399
94400 2003-01-01  Karl Berry  <karl@gnu.org>
94401
94402         * gnulib-tool (func_verify_module): report module name $module in
94403         error message, not $1.
94404         * gnulib-tool (create-testdir): don't complain if destdir couldn't
94405         be created, only if it doesn't exist.
94406         * gnulib-tool (last_checkin_date): don't expand the $Date here.
94407
94408 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94409
94410         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
94411
94412 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94413
94414         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
94415         memcmp if strcoll doesn't work.
94416
94417 2002-12-31  Bruno Haible  <bruno@clisp.org>
94418
94419         * lib/utime.c (utime_null): No need to call ftruncate if the file was
94420         nonempty.
94421
94422 2002-12-31  Bruno Haible  <bruno@clisp.org>
94423
94424         * lib/memcoll.c (STRCOLL): New macro.
94425         (memcoll): Use it.
94426
94427 2002-12-31  Bruno Haible  <bruno@clisp.org>
94428
94429         * lib/localcharset.h: New file.
94430         * lib/localcharset.c: Include it.
94431         * lib/unicodeio.c: Likewise.
94432
94433 2002-12-31  Bruno Haible  <bruno@clisp.org>
94434
94435         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
94436         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
94437
94438 2002-12-31  Bruno Haible  <bruno@clisp.org>
94439
94440         * lib/getline.h: Include <stddef.h>, for size_t.
94441
94442         * lib/unicodeio.h: Include <stddef.h>, for size_t.
94443         * lib/unicodeio.c: Don't include <stddef.h>.
94444
94445 2002-12-31  Bruno Haible  <bruno@clisp.org>
94446
94447         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
94448         HAVE_TM_ZONE.
94449
94450 2002-12-24  Karl Berry  <karl@gnu.org>
94451
94452         * config/config.guess: update from prep.
94453
94454 2002-12-24  Bruno Haible  <bruno@clisp.org>
94455
94456         General infrasructure.
94457         * m4/README: Rewritten.
94458         * m4/onceonly.m4: New file.
94459         * m4/onceonly_2_57.m4: New file.
94460
94461         Module atexit.
94462         * m4/atexit.m4: New file.
94463
94464         Module strtod.
94465         * m4/strtod.m4: New file.
94466
94467         Module strtol.
94468         * m4/strtol.m4: New file.
94469
94470         Module strtoul.
94471         * m4/strtoul.m4: New file.
94472
94473         Module memchr.
94474         * m4/memchr.m4: New file.
94475
94476         Module memcmp.
94477         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
94478         (jm_FUNC_MEMCMP): Invoke it.
94479
94480         Module memcpy.
94481         * m4/memcpy.m4: New file.
94482
94483         Module memmove.
94484         * m4/memmove.m4: New file.
94485
94486         Module memset.
94487         * m4/memset.m4: New file.
94488
94489         Module strcspn.
94490         * m4/strcspn.m4: New file.
94491
94492         Module strpbrk.
94493         * m4/strpbrk.m4: New file.
94494
94495         Module strstr.
94496         * m4/strstr.m4: New file.
94497
94498         Module strerror.
94499         * m4/strerror.m4: New file.
94500
94501         Module mktime.
94502         * m4/mktime.m4: Renamed from jm-mktime.m4.
94503         (gl_PREREQ_MKTIME): New macro.
94504         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
94505
94506         Module malloc.
94507         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
94508         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
94509         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
94510
94511         Module realloc.
94512         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
94513         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
94514         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
94515
94516         Module strftime.
94517         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
94518         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
94519         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
94520         gl_TM_GMTOFF.
94521         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
94522
94523         Module xalloc.
94524         * m4/xalloc.m4: New file.
94525
94526         Module alloca.
94527         * m4/alloca.m4: New file.
94528
94529         Module putenv.
94530         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
94531         (jm_FUNC_PUTENV): Invoke it.
94532
94533         Module setenv.
94534         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
94535         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
94536         when invoked twice.
94537         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
94538         gt_FUNC_SETENV.
94539
94540         Module memrchr.
94541         * m4/memrchr.m4: New file.
94542
94543         Module stpcpy.
94544         * m4/stpcpy.m4: New file.
94545
94546         Module strcase.
94547         * m4/strcase.m4: New file.
94548
94549         Module strdup.
94550         * m4/strdup.m4: New file.
94551
94552         Module strnlen.
94553         * m4/strnlen.m4: New file.
94554
94555         Module strndup.
94556         * m4/strndup.m4: New file.
94557
94558         Module xstrtod.
94559         * m4/xstrtod.m4: New file.
94560
94561         Module xstrtol.
94562         * m4/xstrtol.m4: New file.
94563
94564         Module getdate.
94565         * m4/getdate.m4: New file.
94566
94567         Module unlocked-io.
94568         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
94569         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
94570         * m4/jm-glibc-io.m4n: Remove file.
94571
94572         Module long-options.
94573         * m4/long-options.m4: New file.
94574
94575         Module md5.
94576         * m4/md5.m4: New file.
94577
94578         Module sha.
94579         * m4/sha.m4: New file.
94580
94581         Module getstr.
94582         * m4/getstr.m4: New file.
94583
94584         Module getline.
94585         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
94586         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
94587         <sys/types.h>, for size_t. Use the function name gnu_getline, not
94588         simply getline. Infoke gl_PREREQ_GETLINE.
94589
94590         Module obstack.
94591         * m4/obstack.m4: New file.
94592
94593         Module hash.
94594         * m4/hash.m4: New file.
94595
94596         Module readtokens.
94597         * m4/readtokens.m4: New file.
94598
94599         Module strverscmp.
94600         * m4/strverscmp.m4: New file.
94601
94602         Module stdbool.
94603         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
94604         OSF/1.
94605
94606         Module strtoll.
94607         * m4/strtoll.m4: New file.
94608
94609         Module strtoull.
94610         * m4/strtoull.m4: New file.
94611
94612         Module strtoimax.
94613         * m4/strtoimax.m4: New file.
94614
94615         Module strtoumax.
94616         * m4/strtoumax.m4: New file.
94617
94618         Module xstrtoimax.
94619         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
94620         jm_AC_PREREQ_XSTRTOIMAX.
94621         Moved the strtol prerequisites to strtol.m4.
94622         Moved the strtoll prerequisites to strtoll.m4.
94623         Moved the strtoimax prerequisites to strtoimax.m4.
94624
94625         Module xstrtoumax.
94626         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
94627         jm_AC_PREREQ_XSTRTOUMAX.
94628         Moved the strtoul prerequisites to strtoul.m4.
94629         Moved the strtoull prerequisites to strtoull.m4.
94630         Moved the strtoumax prerequisites to strtoumax.m4.
94631
94632         Module chown.
94633         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
94634         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
94635
94636         Module dup2.
94637         * m4/dup2.m4: New file.
94638
94639         Module ftruncate.
94640         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
94641         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
94642
94643         Module getgroups.
94644         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
94645         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
94646
94647         Module gettimeofday.
94648         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
94649         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
94650         gl_PREREQ_GETTIMEOFDAY.
94651
94652         Module mkdir.
94653         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
94654         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
94655
94656         Module mkstemp.
94657         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
94658         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
94659         jm_AC_TYPE_UINTMAX_T.
94660         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
94661
94662         Module stat.
94663         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
94664         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
94665
94666         Module lstat.
94667         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
94668         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
94669
94670         Module timespec.
94671         * m4/timespec.m4 (gl_TIMESPEC): New macro.
94672         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
94673         * m4/st_mtim.m4: Indentation.
94674
94675         Module nanosleep.
94676         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
94677         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
94678         gl_PREREQ_NANOSLEEP.
94679
94680         Module regex.
94681         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
94682         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
94683         (gl_REGEX): New macro.
94684
94685         Module rename.
94686         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
94687         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
94688
94689         Module rmdir.
94690         * m4/rmdir.m4: New file.
94691
94692         Module utime.
94693         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
94694         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
94695         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
94696
94697         Module dirname.
94698         * m4/dirname.m4: New file.
94699
94700         Module getopt.
94701         * m4/getopt.m4: New file.
94702
94703         Module unistd-safer.
94704         * m4/unistd-safer.m4: New file.
94705
94706         Module fnmatch.
94707         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
94708         declaration.
94709         (gl_PREREQ_FNMATCH_EXTRA): New macro.
94710         (gl_FUNC_FNMATCH_POSIX): New macro.
94711         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
94712         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
94713         simply fnmatch.
94714
94715         Module exclude.
94716         * m4/exclude.m4: New file.
94717
94718         Module human.
94719         * m4/human.m4: New file.
94720
94721         Module acl.
94722         * m4/acl.m4: Nop.
94723
94724         Module backupfile.
94725         * m4/backupfile.m4: New file.
94726         * m4/d-ino.m4: Indentation.
94727
94728         Module fsusage.
94729         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
94730         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
94731         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
94732
94733         Module dirfd.
94734         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
94735         requirements.
94736
94737         Module euidaccess.
94738         * m4/euidaccess.m4: New file.
94739
94740         Module file-type.
94741         * m4/file-type.m4: New file.
94742
94743         Module fileblocks.
94744         * m4/fileblocks.m4: New file.
94745
94746         Module filemode.
94747         * m4/filemode.m4: New file.
94748
94749         Module isdir.
94750         * m4/isdir.m4: New file.
94751
94752         Module lchown.
94753         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
94754         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
94755
94756         Module makepath.
94757         * m4/makepath.m4: New file.
94758
94759         Module modechange.
94760         * m4/modechange.m4: New file.
94761
94762         Module mountlist.
94763         * m4/mountlist.m4: New file.
94764         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
94765         Indentation.
94766
94767         Module path-concat.
94768         * m4/path-concat.m4: New file.
94769
94770         Module pathmax.
94771         * m4/pathmax.m4: New file.
94772
94773         Module same.
94774         * m4/same.m4: New file.
94775
94776         Module save-cwd.
94777         * m4/save-cwd.m4: New file.
94778
94779         Module savedir.
94780         * m4/savedir.m4: New file.
94781
94782         Module xgetcwd.
94783         * m4/xgetcwd.m4: New file.
94784         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
94785
94786         Module xreadlink.
94787         * m4/xreadlink.m4: New file.
94788
94789         Module safe-read.
94790         * m4/safe-read.m4: New file.
94791
94792         Module safe-write.
94793         * m4/safe-write.m4: New file.
94794
94795         Module closeout.
94796         * m4/closeout.m4: New file.
94797
94798         Module stdio-safer.
94799         * m4/stdio-safer.m4: New file.
94800
94801         Module getpass.
94802         * m4/getpass.m4: New file.
94803
94804         Module getugroups.
94805         * m4/getugroups.m4: New file.
94806
94807         Module group-member.
94808         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
94809         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
94810
94811         Module idcache.
94812         * m4/idcache.m4: New file.
94813
94814         Module userspec.
94815         * m4/userspec.m4: New file.
94816
94817         Module gettime.
94818         * m4/clock_time.m4: New file.
94819         * m4/gettime.m4: New file.
94820
94821         Module settime.
94822         * m4/settime.m4: New file.
94823
94824         Module posixtm.
94825         * m4/posixtm.m4: New file.
94826
94827         Module gethostname.
94828         * m4/gethostname.m4: New file.
94829
94830         Module canon-host.
94831         * m4/canon-host.m4: New file.
94832
94833         Module gettext.
94834         * m4/codeset.m4: New file, from gettext-0.11.5.
94835         * m4/gettext.m4: New file, from gettext-0.11.5.
94836         * m4/glibc21.m4: New file, from gettext-0.11.5.
94837         * m4/iconv.m4: New file, from gettext-0.11.5.
94838         * m4/intdiv0.m4: New file, from gettext-0.11.5.
94839         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
94840         * m4/inttypes.m4: New file, from gettext-0.11.5.
94841         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
94842         * m4/isc-posix.m4: New file, from gettext-0.11.5.
94843         * m4/lcmessage.m4: New file, from gettext-0.11.5.
94844         * m4/lib-ld.m4: New file, from gettext-0.11.5.
94845         * m4/lib-link.m4: New file, from gettext-0.11.5.
94846         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
94847         * m4/progtest.m4: New file, from gettext-0.11.5.
94848         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
94849         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
94850         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
94851
94852         Module localcharset.
94853         * m4/localcharset.m4: New file.
94854
94855         Module hard-locale.
94856         * m4/hard-locale.m4: New file.
94857
94858         Module mbswidth.
94859         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
94860         onceonly macros.
94861         * m4/mbrtowc.m4: Add comment.
94862
94863         Module memcasecmp.
94864         * m4/memcasecmp.m4: New file.
94865
94866         Module memcoll.
94867         * m4/memcoll.m4: New file.
94868
94869         Module unicodeio.
94870         * m4/unicodeio.m4: New file.
94871
94872         Module rpmatch.
94873         * m4/rpmatch.m4: New file.
94874
94875         Module yesno.
94876         * m4/yesno.m4: New file.
94877
94878         Module exitfail.
94879         * m4/exitfail.m4: New file.
94880
94881         Module c-stack.
94882         * m4/c-stack.m4 (gl_C_STACK): New macro.
94883         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
94884
94885         Module error.
94886         * m4/error.m4 (gl_ERROR): New macro.
94887         (jm_PREREQ_ERROR): Use onceonly macros.
94888
94889         Module fatal.
94890         * m4/fatal.m4: New file.
94891
94892         Module getloadavg.
94893         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
94894         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
94895
94896         Module getpagesize.
94897         * m4/getpagesize.m4: New file.
94898
94899         Module getusershell.
94900         * m4/getusershell.m4: New file.
94901
94902         Module physmem.
94903         * m4/physmem.m4: New file.
94904
94905         Module posixver.
94906         * m4/posixver.m4: New file.
94907
94908         Module quotearg.
94909         * m4/quotearg.m4: New file.
94910
94911         Module quote.
94912         * m4/quote.m4: New file.
94913
94914         Module readutmp.
94915         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
94916
94917         Module sig2str.
94918         * m4/sig2str.m4: New file.
94919
94920         Other.
94921         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
94922         ulonglong.m4.
94923         * m4/intmax_t.m4: New file.
94924         * m4/d-type.m4: Indentation.
94925         * m4/jm-macros.m4: Update.
94926         * m4/prereq.m4 (jm_PREREQ): Update.
94927         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
94928         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
94929         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
94930         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
94931         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
94932         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
94933         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
94934         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
94935         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
94936         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
94937         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
94938         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
94939         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
94940         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
94941         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
94942         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
94943         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
94944         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
94945         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
94946
94947 2002-12-24  Bruno Haible  <bruno@clisp.org>
94948
94949         * MODULES.txt: Update according to m4/ changes.
94950
94951         Module gettext.
94952         * config.rpath: New file, from gettext-0.11.5.
94953
94954         * modules/*: New module descriptions.
94955         * gnulib-tool: New file.
94956         * MODULES.html.sh: New file.
94957
94958 2002-12-21  Karl Berry  <karl@gnu.org>
94959
94960         * doc/fdl.texi: update to version 1.2.
94961
94962 2002-12-19  Karl Berry  <karl@gnu.org>
94963
94964         * config/config.guess: update from prep.
94965
94966 2002-12-18  Bruno Haible  <bruno@clisp.org>
94967
94968         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
94969         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
94970
94971 2002-12-17  Bruno Haible  <bruno@clisp.org>
94972
94973         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
94974         stdlib.h, string.h.
94975
94976 2002-12-17  Bruno Haible  <bruno@clisp.org>
94977
94978         * lib/canon-host.c (strdup): Remove unused declaration.
94979
94980         * lib/fsusage.c: Include full_read.h.
94981         (get_fs_usage): Use full_read instead of safe_read.
94982
94983         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
94984
94985 2002-12-12  Karl Berry  <karl@gnu.org>
94986
94987         * config/config.guess: update from prep.
94988
94989 2002-12-11  Bruno Haible  <bruno@clisp.org>
94990
94991         * m4/setenv.m4: New file, from gettext-0.11.5.
94992
94993 2002-12-11  Bruno Haible  <bruno@clisp.org>
94994
94995         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
94996         not unsetenv().
94997         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
94998         modifications:
94999
95000         2002-12-11  Bruno Haible  <bruno@clisp.org>
95001
95002                 * setenv.c (alloca): Fall back to malloc.
95003                 (freea): New macro.
95004                 (setenv): Use freea() to free memory allocated with alloca().
95005
95006         2002-11-13  Bruno Haible  <bruno@clisp.org>
95007
95008                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
95009                 function declarations.
95010                 * unsetenv.c (unsetenv): Likewise.
95011
95012         2002-03-04  Bruno Haible  <bruno@clisp.org>
95013
95014                 Portability to AIX 4.3.3.
95015                 * unsetenv.c: New file, extracted from setenv.c.
95016                 * setenv.c: Move the unsetenv() function to unsetenv.c.
95017
95018         2001-12-20  Bruno Haible  <bruno@clisp.org>
95019
95020                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
95021                 use malloc instead. For SunOS 4.
95022
95023         2001-12-11  Bruno Haible  <bruno@clisp.org>
95024
95025                 * setenv.c: Declare alloca.
95026                 (compar_fn_t): New typedef.
95027                 (KNOWN_VALUE, STORE_VALUE): Use it.
95028
95029         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
95030         setenv.h.
95031
95032 2002-12-10  Paul Eggert  <eggert@twinsun.com>
95033
95034         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
95035         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
95036         Choose values that are less likely to collide with system fnmatch
95037         options.
95038         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
95039         defined (e.g., a pure POSIX system).
95040         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
95041         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
95042
95043 2002-12-06  Paul Eggert  <eggert@twinsun.com>
95044
95045         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
95046         a pain in practice to deal with generated m4 files.  This change
95047         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
95048
95049         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
95050         and jm-glibc-io.m4, as they are no longer a special case.
95051         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
95052         kludge and the auto-generation stuff.  Check only whether the
95053         functions are declared, not whether they exist, since older hosts
95054         that don't declare the functions can't use the optimization anyway.
95055
95056 2002-12-06  Jim Meyering  <jim@meyering.net>
95057
95058         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
95059
95060         Merge in changes from libc's misc/error.c, in preparation
95061         for the merge of gnulib's changes back into libc.
95062
95063         * lib/error.c (_): Define only if not already defined.
95064         Move definition to follow all #include directives.
95065         Include unlocked-io.h only if !_LIBC.
95066         [_LIBC]: Include <libio/libioP.h>.
95067         [USE_IN_LIBIO]: Include <libio/iolibio.h>
95068         (fflush): Tweak definition to use INTUSE.
95069         (putc): Define.
95070
95071 2002-12-05  Paul Eggert  <eggert@twinsun.com>
95072
95073         * lib/alloca.c [defined emacs]: Include "lisp.h".
95074         (xalloc_die) [defined emacs]: New macro.
95075         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
95076         [! defined emacs]: Include <xalloc.h>.
95077         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
95078         (pointer): Typedef to POINTER_TYPE *.
95079         (malloc): Remove decl; we now always use xmalloc.
95080         (alloca): Use old-style definition, since Emacs needs this.
95081         Check for arithmetic overflow when computing combined size.
95082
95083 2002-12-04  Paul Eggert  <eggert@twinsun.com>
95084
95085         Do not generate unlocked-io.h automatically, since it's easier to
95086         maintain it by hand.
95087
95088         * lib/unlocked-io.h: New file, from GNU diffutils,
95089         but with proper copyright notice and attribution.
95090         * lib/gen-uio: Remove.
95091         * lib/Makefile.am: Add copyright notice.
95092         (libfetish_a_SOURCES): Add unlocked-io.h.
95093         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
95094         (DISTCLEANFILES, io_functions): Remove macros.
95095         (EXTRA_DIST): Remove gen_uio.
95096         (unlocked-io.h): Remove rule.
95097
95098 2002-12-04  Jim Meyering  <jim@meyering.net>
95099
95100         Reflect the fact that stat.c and lstat.c are no longer generated.
95101         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
95102         (DISTCLEANFILES): Likewise.
95103         (EXTRA_DIST): Likewise.
95104         (all_local): Don't depend on stat.c or lstat.c.
95105         (stat.c, lstat.c): Remove rules.
95106         (EXTRA_DIST): Remove xstat.in.
95107
95108         * lib/xstat.in: Remove file.  Contents moved into stat.c.
95109         * lib/stat.c: New file.  Contents mostly from xstat.in.
95110         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
95111         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
95112
95113         * lib/safe-read.c: Rework so that it may serve to define safe_write,
95114         too.
95115         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
95116
95117 2002-12-03  Jim Meyering  <jim@meyering.net>
95118
95119         * lib/safe-read.c, safe-write.c: Change variable names and comments,
95120         but not semantics, to minimize the differences between these two files.
95121         (safe_read): Change comment to mention SAFE_READ_ERROR.
95122
95123         * lib/safe-read.c (IS_EINTR): Define.
95124         (safe_read): Use IS_EINTR in place of in-function cpp directives.
95125
95126 2002-12-02  Jim Meyering  <jim@meyering.net>
95127
95128         * lib/safe-read.c (EINTR): Define.
95129         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95130         (INT_MAX): Provide fallback.
95131         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
95132
95133         * lib/safe-read.h (SAFE_READ_ERROR): Define.
95134
95135 2002-12-02  Bruno Haible  <bruno@clisp.org>
95136
95137         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
95138         Define, taken from safe-read.c.
95139         (INT_MAX): Provide fallback.
95140         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
95141         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
95142
95143         * lib/safe-read.c (EINTR): Remove definition.
95144         (safe_read): Don't use EINTR if it is absent.
95145
95146 2002-12-01  Jim Meyering  <jim@meyering.net>
95147
95148         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
95149         zero.
95150         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
95151
95152 2002-11-27  Paul Eggert  <eggert@twinsun.com>
95153
95154         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
95155         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
95156         with `if (! (value < limit)) abort ();', for readability.
95157
95158 2002-11-26  Karl Berry  <karl@gnu.org>
95159
95160         * lib/strdup.c: copy from libc again, with jim's ok.
95161         * lib/.cppi-disable: re-add strdup.c
95162
95163 2002-11-25  Karl Berry  <karl@gnu.org>
95164
95165         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
95166         instead of "strtol.c".
95167
95168 2002-11-25  Karl Berry  <karl@gnu.org>
95169
95170         * config/install-sh: update from automake for variable quoting, $0 in
95171         error msgs, etc.
95172
95173         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
95174         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
95175         entry.
95176
95177 2002-11-25  Jim Meyering  <jim@meyering.net>
95178
95179         * lib/mktime.c: Sync from libc, now that it has the latest fix.
95180
95181 2002-11-24  Karl Berry  <karl@gnu.org>
95182
95183         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
95184         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
95185
95186 2002-11-24  Jim Meyering  <jim@meyering.net>
95187
95188         Update from coreutils:
95189
95190         * lib/mktime.c: Merge in changes from libc.
95191
95192         Avoid a link-time failure on some Linux systems.
95193         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
95194         (otherwise).
95195         (__mon_yday): Declare with the STATIC attribute.
95196         (__mktime_internal): Likewise.
95197         Based on a report from Greg Schafer.
95198
95199 2002-11-23  Jim Meyering  <jim@meyering.net>
95200
95201         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
95202         Use `unsigned', not `int', as type of index.
95203
95204         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
95205
95206         * lib/fsusage.c: Remove unneeded parentheses around operands of
95207         `defined'.
95208
95209 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95210
95211         * lib/quotearg.h: Allow multiple inclusion by surrounding with
95212         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
95213         so that we can be included first.
95214         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
95215         * lib/quotearg.c: Include quotearg.h immediately after config.h.
95216         No need to include stddef.h or sys/types.h any more.
95217         Surround local include files with "", not "<>".
95218         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
95219         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
95220         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
95221         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
95222         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
95223         (ISPRINT): Remove; no longer needed now that we assume C89.
95224
95225         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
95226         Preserve errno.
95227
95228         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
95229         quotearg_char): Use SIZE_MAX rather than
95230         (size_t) -1 when we are talking about "infinity".
95231
95232         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
95233
95234 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95235
95236         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
95237         hint that one should use `if (! x) abort ();' rather than `assert
95238         (x);', and anyway it's one less thing to worry about configuring.
95239         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
95240         hash_rehash, hash_insert): Use abort rather than assert.
95241
95242 2002-11-22  Bruno Haible  <bruno@clisp.org>
95243
95244         * lib/safe-read.h: Assume C89. Add comments.
95245         (safe_read): Change return type to size_t.
95246         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
95247         byte counts > SSIZE_MAX correctly.
95248         * lib/safe-write.h: New file.
95249         * lib/safe-write.c: New file.
95250         * lib/full-read.h: New file.
95251         * lib/full-read.c: New file.
95252         * lib/full-write.h: Assume C89. Add comments.
95253         * lib/full-write.c: Include safe-write.h.
95254         (full_write): Rewritten to use safe_write.
95255         Suggested by Jim Meyering and Paul Eggert.
95256
95257 2002-11-21  Jim Meyering  <jim@meyering.net>
95258
95259         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
95260
95261         Merge in changes from the coreutils.
95262
95263         2002-09-25  Paul Eggert  <eggert@twinsun.com>
95264         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
95265         <stdint.h>.
95266         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
95267         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
95268         int.  Work more efficiently if X is the same width as uintmax_t.
95269         Do not compare X to -1, to avoid bogus compiler warning.
95270         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
95271         Don't assume that f_frsize and f_bsize are the same type.
95272
95273         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
95274         warning on FreeBSD.
95275
95276         * lib/makepath.c (make_path): Restore umask *before* creating the final
95277         component.
95278         (make_path): Minor reformatting.
95279
95280         * lib/xmalloc.c: Adjust to work with new autoconf macros,
95281         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
95282         HAVE_MALLOC/HAVE_REALLOC.
95283
95284         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
95285         dummy ones.  At least on GNU/Linux systems, `auto' means something
95286         else.
95287         From Michael Stone.
95288
95289 2002-11-21  Bruno Haible  <bruno@clisp.org>
95290
95291         Remove case insensitive option matching.
95292         * lib/argmatch.h (argcasematch): Remove declaration.
95293         (ARGCASEMATCH): Remove macro.
95294         (__xargmatch_internal): Remove case_sensitive argument.
95295         (XARGMATCH): Update.
95296         (XARGCASEMATCH): Remove macro.
95297         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
95298         case_sensitive argument.
95299         (argcasematch): Remove function.
95300         (__xargmatch_internal): Remove case_sensitive argument.
95301         (main): Use XARGMATCH instead of XARGCASEMATCH.
95302
95303         * lib/xmalloc.c: Change compile-time error message. Add comment about
95304         required autoconf version.
95305
95306 2002-11-20  Paul Eggert  <eggert@twinsun.com>
95307
95308         Merge argmatch cleanups from Bison.  Assume C89.
95309
95310         * lib/argmatch.c: Include config.h here, not in argmatch.h.
95311         Include stdlib.h, for EXIT_FAILURE.
95312         Always include <string.h>, since we assume C89.
95313         (EXIT_FAILURE): Remove pre-C89 bug workaround.
95314         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
95315         Include <stddef.h> instead, since it's all we need for size_t.
95316         (PARAMS): Remove.  All uses removed.
95317         (ARRAY_CARDINALITY): Do not bother to #undef.
95318         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
95319         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95320         Remove unnecessary parentheses.
95321         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95322         Insert necessary parentheses.
95323         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
95324         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
95325
95326 2002-11-19  Bruno Haible  <bruno@clisp.org>
95327
95328         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
95329         * lib/mbswidth.h: Include <stddef.h>, for size_t.
95330
95331         * lib/mbswidth.h (PARAMS): Remove macro.
95332         (mbswidth, mbsnwidth): Use ANSI C function declarations.
95333         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
95334
95335         * lib/gcd.h (PARAMS): Remove macro.
95336         (gcd): Use ANSI C function declarations.
95337         * lib/gcd.c (gcd): Likewise.
95338
95339 2002-11-15  Bruno Haible  <bruno@clisp.org>
95340
95341         * lib/strcspn.c: Include <stddef.h>.
95342         (strcspn): Use ANSI C function declaration. Change return type to
95343         size_t. Use NULL.
95344         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
95345         (strpbrk): Use NULL.
95346         * lib/strpbrk.h (PARAMS): Remove macro.
95347         (strpbrk): Use ANSI C function declaration.
95348         * lib/strstr.c: Don't include <sys/types.h>.
95349         * lib/strstr.h (PARAMS): Remove macro.
95350         (strstr): Use ANSI C function declarations.
95351
95352 2002-11-14  Karl Berry  <karl@gnu.org>
95353
95354         * config/mkinstalldirs: `do' on separate line, instead of
95355         `for var; do'.
95356
95357 2002-11-06  Bruno Haible  <bruno@clisp.org>
95358
95359         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
95360         * lib/gcd.c (gcd): Likewise.
95361
95362 2002-11-05  Bruno Haible  <bruno@clisp.org>
95363
95364         * lib/gcd.h: New file, from gettext-0.11.5.
95365         * lib/gcd.c: New file, from gettext-0.11.5.
95366
95367 2002-11-05  Bruno Haible  <bruno@clisp.org>
95368
95369         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95370         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95371         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95372         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95373
95374         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
95375         <libintl.h>.
95376         * lib/makepath.c: Include gettext.h instead of <locale.h> and
95377         <libintl.h>.
95378
95379         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
95380         * lib/human.c: Include gettext.h instead of <libintl.h>.
95381         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
95382         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
95383         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
95384         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
95385         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
95386         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
95387         (textdomain): Remove definition.
95388         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
95389
95390         * lib/long-options.c: Remove include of <libintl.h> and definition of
95391         _.
95392         * lib/same.c: Remove include of <libintl.h> and definition of _.
95393
95394 2002-11-04  Owen Taylor  <otaylor@redhat.com>
95395
95396         * lib/config.charset: A few additions for Solaris.
95397
95398 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95399
95400         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
95401         * lib/localcharset.c (locale_charset): Declare as extern "C".
95402
95403 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95404
95405         * lib/config.charset: msdos in uk_UA uses CP1125.
95406
95407 2002-11-04  Bruno Haible  <bruno@clisp.org>
95408
95409         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
95410         * lib/strcase.h: New file, from GNU gettext-0.11.5.
95411         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
95412         * lib/strstr.h: New file, from GNU gettext-0.11.5.
95413         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
95414
95415 2002-11-04  Bruno Haible  <bruno@clisp.org>
95416
95417         * lib/localcharset.c (locale_charset): Don't return an empty string.
95418
95419 2002-11-04  Bruno Haible  <bruno@clisp.org>
95420
95421         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
95422         aliases.
95423
95424 2002-11-04  Bruno Haible  <bruno@clisp.org>
95425
95426         * lib/config.charset: Update for newest glibc. Add canonical names
95427         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
95428
95429 2002-11-04  Bruno Haible  <bruno@clisp.org>
95430
95431         * lib/config.charset: Add support for NetBSD.
95432
95433 2002-11-04  Bruno Haible  <bruno@clisp.org>
95434
95435         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
95436
95437 2002-11-01  Bruno Haible  <bruno@clisp.org>
95438
95439         * configure.in: Add AC_CONFIG_AUX_DIR call.
95440         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
95441         test/Makefile.
95442         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
95443
95444 2002-09-28  Karl Berry  <karl@gnu.org>
95445
95446         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
95447         installed automake until the next release, since changes have been
95448         made.
95449
95450 2002-09-25  Karl Berry  <karl@gnu.org>
95451
95452         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
95453         * lib/getopt*: copy from libc/posix.
95454         * lib/gettext.h: copy from gettext.
95455         * lib/.cppi-disable: add strdup.c, gettext.h.
95456
95457 2002-09-25  Karl Berry  <karl@gnu.org>
95458
95459         * config/srclist.txt: enable gettext.h check.
95460         * config/config.{guess,sub}: update from prep.
95461         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
95462                 from automake 1.6.3.
95463         See srclist*.
95464
95465 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
95466
95467         * regex.c (PATFETCH): Remove the translating fetch.
95468         (PATFETCH_RAW): Rename to PATFETCH.
95469         (set_image_of_range): New fun.
95470         (SET_RANGE_TABLE_WORK_AREA): Use it.
95471         (regex_compile): Don't translate the pattern chars so eagerly.
95472         Only do it when inserting an `exactn' bytecode or when handling
95473         a char-range.
95474         (mutually_exclusive_p): Avoid empty statement.
95475
95476 2002-07-06  Jim Meyering  <meyering@lucent.com>
95477
95478         * m4/README: Don't mention Makefile.am.in.
95479         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
95480
95481 2002-07-01  Jim Meyering  <meyering@lucent.com>
95482
95483         * lib/c-stack.c: Include sys/time.h.
95484         From Volker Borchert.
95485
95486 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95487
95488         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
95489
95490 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95491
95492         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
95493         New macro.  Use it uniformly instead of
95494         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
95495         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
95496         reported by Vin Shelton.
95497
95498 2002-06-22  Paul Eggert  <eggert@twinsun.com>
95499
95500         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
95501         Do not assume SA_SIGINFO behavior.
95502         Bug reported by Jim Meyering on NetBSD 1.5.2.
95503
95504 2002-06-22  Jim Meyering  <meyering@lucent.com>
95505
95506         * m4/c-stack.m4: New file, from diffutils-2.8.2.
95507         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
95508
95509         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
95510         now that configure.ac uses AC_GNU_SOURCE.
95511         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
95512         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
95513
95514         Update to latest tools.  Suggestions from Paul Eggert.
95515         * m4/stdbool.m4: New file, from diffutils-2.8.2.
95516         * m4/gnu-source.m4: Update from diffutils-2.8.2.
95517         * m4/fnmatch.m4: Likewise.
95518         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
95519         to AC_HEADER_STDBOOL
95520
95521 2002-06-22  Jim Meyering  <meyering@lucent.com>
95522
95523         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
95524         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
95525
95526 2002-06-22  Jim Meyering  <meyering@lucent.com>
95527
95528         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
95529
95530         * lib/exitfail.c, exitfail.h: Likewise.
95531         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
95532
95533         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
95534         of fnmatch.h.
95535         (EXTRA_DIST): Add fnmatch_loop.c.
95536         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
95537
95538         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
95539         * lib/fnmatch.c: Update from diffutils-2.8.2.
95540         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
95541         * lib/fnmatch.h: Remove file.
95542
95543 2002-06-21  Jim Meyering  <meyering@lucent.com>
95544
95545         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
95546         * m4/mbrtowc.m4: Likewise.
95547
95548         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
95549         * m4/mbswidth.m4: Reflect name change:
95550         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
95551         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95552
95553         * m4/lib-link.m4: Update from gettext-0.11.2.
95554         * m4/gettext.m4: Likewise.
95555
95556         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
95557         From Alfred M. Szmidt.
95558
95559 2002-06-18  Paul Eggert  <eggert@twinsun.com>
95560
95561         * lib/file-type.h: Report an error if neither S_ISREG nor
95562         S_IFREG is defined, instead of using a test specific to glibc
95563         2.2.  This should be safe, since POSIX requires S_ISREG and
95564         Unix Version 7 had S_IFREG.  We don't need to check for
95565         <sys/types.h> since we don't use any symbols that it defines.
95566
95567 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
95568
95569         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
95570         $@-t, so that each temporary file name is unique and valid in the first
95571         8 characters, for operation under DOS.
95572
95573 2002-06-15  Paul Eggert  <eggert@twinsun.com>
95574
95575         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
95576
95577 2002-06-15  Jim Meyering  <meyering@lucent.com>
95578
95579         Work even with DJGPP 2.03, which lacks support for symlinks.
95580         From Richard Dawe.
95581         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
95582         is defined.
95583         * lib/lchown.c (S_ISLNK): Likewise.
95584
95585 2002-06-15  Jim Meyering  <meyering@lucent.com>
95586
95587         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
95588         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
95589         have been included before this file.
95590
95591 2002-06-14  Jim Meyering  <meyering@lucent.com>
95592
95593         * lib/file-type.h: Use the version from diffutils-2.8.2.
95594         * lib/file-type.c: Likewise.
95595
95596 2002-06-07  Jim Meyering  <meyering@lucent.com>
95597
95598         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
95599         They're needed at least for NetBSD 1.5.2.
95600         ($statxfs_includes): Include those same headers.
95601         ($statxfs_includes): Include sys/vfs.h if available.
95602         ($statxfs_includes): Likewise for sys/statvfs.h.
95603         Check for the following members in both structs statfs and statvfs:
95604         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
95605
95606 2002-06-01  Jim Meyering  <meyering@lucent.com>
95607
95608         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
95609         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
95610
95611 2002-05-28  Jim Meyering  <meyering@lucent.com>
95612
95613         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
95614         Reported by Volker Borchert.
95615
95616 2002-05-27  Jim Meyering  <meyering@lucent.com>
95617
95618         Fix a problem seen only on nonconforming systems whereby ls.c's
95619         use of localtime, and then of gettimeofday would cause trouble:
95620         the localtime call used to initialize rpl_gettimeofday's save
95621         mechanism would clobber ls's current local time information so
95622         that in any long listing the first file would always be listed
95623         with date 1970-01-01.  Analysis by Volker Borchert.
95624
95625         * lib/gettimeofday.c (localtime): Undefine.
95626         (rpl_localtime): New function.
95627
95628 2002-05-27  Jim Meyering  <meyering@lucent.com>
95629
95630         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
95631         localtime.
95632
95633         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
95634         use the replacement function; it wouldn't resolve at link time.
95635         Reported by Volker Borchert.
95636
95637 2002-05-22  Jim Meyering  <meyering@lucent.com>
95638
95639         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
95640         file-type.h.
95641         * lib/file-type.h: New file.
95642         * lib/file-type.c (file_type): New file/function.  Extracted from
95643         diffutils.
95644
95645 2002-04-30  Jim Meyering  <meyering@lucent.com>
95646
95647         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
95648
95649 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95650
95651         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
95652
95653 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95654
95655         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
95656         Do not check for alloca.h (no longer used) or stdbool.h (was never
95657         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
95658
95659 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95660
95661         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
95662
95663 2002-04-29  Jim Meyering  <meyering@lucent.com>
95664
95665         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
95666         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
95667         Use AC_FUNC_STRNLEN here instead.
95668
95669         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
95670         With autoconf-2.53a, it's part of AC_PROG_CC.
95671
95672 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95673
95674         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
95675         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
95676
95677 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95678
95679         * lib/sig2str.h, lib/sig2str.c: New files.
95680         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
95681
95682 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95683
95684         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
95685         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
95686         of 127, since 64 is the largest conceivable number for ancient
95687         nonstandard hosts.
95688         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
95689
95690 2002-04-28  Jim Meyering  <meyering@lucent.com>
95691
95692         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
95693
95694 2002-04-24  Jim Meyering  <meyering@lucent.com>
95695
95696         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
95697         (jm_PREREQ): Use it.
95698
95699         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
95700         mach/mach.h fcntl.h.
95701         Check for this function: setlocale.
95702
95703 2002-04-24  Jim Meyering  <meyering@lucent.com>
95704
95705         * lib/gettext.h: New file, from Gettext.
95706         * lib/Makefile.am (INCLUDES): Remove -I../intl.
95707         (libfetish_a_SOURCES): Add gettext.h.
95708
95709 2002-04-16  Jim Meyering  <meyering@lucent.com>
95710
95711         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
95712         ut_pid, ut_id, ut_exit.
95713
95714 2002-04-16  Jim Meyering  <meyering@lucent.com>
95715
95716         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
95717         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
95718         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
95719
95720 2002-04-12  Jim Meyering  <meyering@lucent.com>
95721
95722         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
95723         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
95724         existence of the getmntinfo function.  Needed for Darwin 5.3.
95725
95726         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
95727         This is necessary at least on Darwin 5.3.
95728
95729         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
95730         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
95731         strnlen.o in the library, and that makes some versions of ranlib
95732         object.
95733
95734 2002-04-12  Jim Meyering  <meyering@lucent.com>
95735
95736         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
95737
95738 2002-04-09  Jim Meyering  <meyering@lucent.com>
95739
95740         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
95741         to be more precise.  Rather than saying we're checking whether the
95742         function `works', say what we're testing.
95743         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
95744         Reported by Bruno Haible.
95745
95746 2002-03-10  Jim Meyering  <meyering@lucent.com>
95747
95748         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
95749         Suggestion from Santiago Vila.
95750
95751 2002-03-08  Jim Meyering  <meyering@lucent.com>
95752
95753         * lib/rename.c: Mention that this wrapper is needed also on
95754         mips-dec-ultrix4.4 systems.
95755
95756 2002-03-02  Jim Meyering  <meyering@lucent.com>
95757
95758         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
95759         not HAVE_CLOCK_SETTIME.
95760
95761 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95762
95763         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
95764         Check for clock_settime.
95765
95766 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95767
95768         * lib/nanosleep.h: Rename to....
95769         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
95770
95771         * lib/gettime.c: New file.
95772         * lib/settime.c: New file.
95773         * lib/stime.c: Remove.
95774
95775         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
95776         timespec.h.  Remove nanosleep.h.
95777
95778 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95779
95780         * m4/acl.m4: New file.
95781         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
95782         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
95783
95784 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95785
95786         * lib/acl.c, lib/acl.h: New files.
95787         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
95788
95789 2002-02-24  Jim Meyering  <meyering@lucent.com>
95790
95791         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
95792         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
95793         cause trouble.  Reported by Nelson Beebe.
95794
95795 2002-02-23  Paul Eggert  <eggert@twinsun.com>
95796
95797         * lib/path-concat.c (xpath_concat): Reorder code to pacify
95798         compilers that don't know that xalloc_die never returns.
95799
95800 2002-02-20  Jim Meyering  <meyering@lucent.com>
95801
95802         * lib/getdate.c: Regenerate using bison-1.33.
95803
95804 2002-02-17  Jim Meyering  <meyering@lucent.com>
95805
95806         * config/config.guess (main): Don't use `head -1'; it's no longer
95807         portable. Use `sed 1q' instead.
95808
95809 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
95810
95811         * m4/codeset.m4: Upgrade to gettext-0.11.
95812         * m4/gettext.m4: Upgrade to gettext-0.11.
95813         * m4/glibc21.m4: Upgrade to gettext-0.11.
95814         * m4/iconv.m4: Upgrade to gettext-0.11.
95815         * m4/isc-posix.m4: Upgrade to gettext-0.11.
95816         * m4/lcmessage.m4: Upgrade to gettext-0.11.
95817         * m4/lib-ld.m4: New file, from gettext-0.11.
95818         * m4/lib-link.m4: New file, from gettext-0.11.
95819         * m4/lib-prefix.m4: New file, from gettext-0.11.
95820         * m4/progtest.m4: Upgrade to gettext-0.11.
95821
95822 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95823
95824         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
95825         (jm_PREREQ): Use it.
95826
95827 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95828
95829         * lib/posixver.c, lib/posixver.h: New files.
95830         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95831
95832 2002-02-02  Paul Eggert  <eggert@twinsun.com>
95833             Bruno Haible  <bruno@clisp.org>
95834
95835         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
95836         (fwrite_success_callback): New declaration.
95837         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
95838         print_unicode_char. Call failure callback instead of error.
95839         (fwrite_success_callback): New function.
95840         (exit_failure_callback): New function.
95841         (fallback_failure_callback): New function.
95842         (print_unicode_char): Call unicode_to_mb.
95843
95844 2002-01-26  Jim Meyering  <meyering@lucent.com>
95845
95846         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
95847         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
95848
95849 2002-01-26  Jim Meyering  <meyering@lucent.com>
95850
95851         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
95852
95853 2002-01-22  Paul Eggert  <eggert@twinsun.com>
95854
95855         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
95856
95857 2002-01-22  Jim Meyering  <meyering@lucent.com>
95858
95859         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
95860         Otherwise, some versions of automake would omit the rule that makes
95861         Makefile from Makefile.in.
95862
95863 2002-01-21  Paul Eggert  <eggert@twinsun.com>
95864
95865         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
95866         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95867         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
95868         (memcoll): Set errno to zero if there is no error.
95869
95870         * lib/quotearg.c (quotearg_buffer_restyled):
95871         Fix bug with quoting buffers containing NUL when backslashing escapes.
95872         This bug was exposed by the other changes in this patch.
95873         (quotearg_n_options): New arg ARGSIZE.
95874         All callers changed.
95875         (quoting_options_from_style): New function.
95876         (quotearg_n_style): Use it.
95877         (quotearg_n_style_mem): New function.
95878
95879         * lib/quotearg.h (quotearg_n_style_mem): New function.
95880
95881 2002-01-19  Jim Meyering  <meyering@lucent.com>
95882
95883         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
95884         Remove useless quotes: DF_PROG="df".
95885         * m4/strnlen.m4: New file.
95886
95887 2002-01-16  Paul Eggert  <eggert@twinsun.com>
95888
95889         * lib/backupfile.c (ISDIGIT): Comment fix.
95890         * lib/getdate.y (ISDIGIT): Likewise.
95891         * lib/posixtm.c (ISDIGIT, year): Likewise.
95892         * lib/strverscmp.c (ISDIGIT): Likewise.
95893         * lib/userspec.c (ISDIGIT): Likewise.
95894
95895 2002-01-16  Jim Meyering  <meyering@lucent.com>
95896
95897         * lib/getdate.y: Add three semicolons, each just before a closing
95898         brace. Bison (as of version 1.31) no longer papers over that mistake.
95899
95900 2002-01-05  Jim Meyering  <meyering@lucent.com>
95901
95902         * lib/version-etc.c (version_etc_copyright): Update copyright year.
95903
95904 2001-12-19  Paul Eggert  <eggert@twinsun.com>
95905
95906         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
95907         not silently exit merely because the output buffer happens to
95908         have nothing pending.
95909
95910 2001-12-18  Paul Eggert  <eggert@twinsun.com>
95911
95912         See the big note in ../ChangeLog.
95913         * lib/human.c (suffixes): Prefer K to k for 1024.
95914         (generate_suffix_backwards): New function.
95915         (human_readable_inexact): Use it.
95916         * lib/xstrtol.c (__xstrtol): If there is no number but there
95917         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
95918         Accept 'K' as well as 'k'.
95919
95920 2001-12-15  Jim Meyering  <meyering@lucent.com>
95921
95922         * lib/regex.h (__restrict_arr): Update from libc.
95923
95924         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
95925         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
95926         (STREQ): Define.
95927
95928 2001-12-14  Jim Meyering  <meyering@lucent.com>
95929
95930         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
95931         Suggestion from Bruno Haible.
95932
95933 2001-12-10  Jim Meyering  <meyering@lucent.com>
95934
95935         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
95936         xrealloc, Instead, include "xalloc.h".
95937         (initbuffer): Don't cast xmalloc return value to char*.
95938         (readline): Reword comment.
95939         Don't cast xrealloc return value to char*
95940         Return NULL, not 0.
95941
95942 2001-12-09  Jim Meyering  <meyering@lucent.com>
95943
95944         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
95945         about `signed and unsigned type in conditional expression'.
95946         * lib/posixtm.c (posix_time_parse): Likewise.
95947
95948         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
95949
95950         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
95951         to avoid a pedantic warning.
95952
95953         * lib/getstr.c: Don't include assert.h.
95954         (getstr): Remove warning-evoking assertions.
95955         Return -1 if offset parameter is out of bounds.
95956         Change the type of a local from int to size_t.
95957
95958         * lib/strftime.c (my_strftime_localtime_r): Include this function
95959         definition in the `#if ! HAVE_TM_GMTOFF' block.
95960
95961         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
95962         Include xalloc.h instead.
95963
95964 2001-12-02  Jim Meyering  <meyering@lucent.com>
95965
95966         * lib/tempname.c: Don't declare getenv, thus reverting the change of
95967         2001-11-18.  It's no longer necessary, now that stdlib.h is always
95968         included.
95969
95970         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
95971         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
95972
95973 2001-11-30  Akim Demaille  <akim@epita.fr>
95974
95975         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
95976         before being defined.
95977
95978 2001-11-27  Paul Eggert  <eggert@twinsun.com>
95979
95980         * lib/quotearg.h (quotearg_n, quotearg_n_style):
95981         First arg is int, not unsigned.
95982         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
95983         (SIZE_MAX, UINT_MAX): New macros.
95984         (quotearg_n_options): Abort if N is negative.
95985         Avoid overflow check on hosts where size_t is 64 bits and int
95986         is 32 bits, as overflow is impossible there.
95987         Fix off-by-one typo that caused unnecessary reallocation.
95988
95989 2001-11-27  Jim Meyering  <meyering@lucent.com>
95990
95991         * lib/tempname.c: Merge with version from libc.
95992         * lib/regex.c: Likewise.
95993
95994         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
95995         systems for which STDC_HEADERS is 0, it was not included, resulting in
95996         a warning about an integer-to-pointer conversion problem with getenv.
95997         Reported by Volker Borchert.
95998
95999 2001-11-26  Jim Meyering  <meyering@lucent.com>
96000
96001         * lib/gtod.h: Remove file.
96002         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
96003         * lib/gettimeofday.c: Don't include gtod.h.
96004         (GTOD_init): Remove function.
96005         (rpl_gettimeofday): Do its job here instead, rather than aborting.
96006         Suggestion from Volker Borchert.
96007
96008 2001-11-23  Jim Meyering  <meyering@lucent.com>
96009
96010         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
96011         it.
96012         * lib/hash.c (struct hash_table): Define it here instead.
96013
96014 2001-11-22  Jim Meyering  <meyering@lucent.com>
96015
96016         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
96017
96018 2001-11-20  Jim Meyering  <meyering@lucent.com>
96019
96020         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
96021         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
96022
96023 2001-11-19  Jim Meyering  <meyering@lucent.com>
96024
96025         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
96026         directory.  Use "conftestXXXXXX" as the template.
96027         Suggestion from Paul Eggert.
96028
96029         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
96030         immediately, so the test doesn't mistakenly hit the max-open-files
96031         limit.
96032
96033 2001-11-18  Paul Eggert  <eggert@twinsun.com>
96034
96035         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
96036         (TEMPORARIES): New macro.
96037         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
96038         removes an artificial limitation (e.g. HP-UX 10.20, where
96039         TMP_MAX is 17576).
96040
96041 2001-11-18  Jim Meyering  <meyering@lucent.com>
96042
96043         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
96044
96045 2001-11-18  Jim Meyering  <meyering@lucent.com>
96046
96047         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
96048         on SunOS 4.
96049
96050         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
96051         files will be created before anything else.
96052
96053 2001-11-17  Paul Eggert  <eggert@twinsun.com>
96054
96055         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
96056         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
96057
96058 2001-11-17  Jim Meyering  <meyering@lucent.com>
96059
96060         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
96061         Prompted by a report from Bob Proulx.
96062
96063         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
96064         Instead, require UTILS_FUNC_MKSTEMP.
96065
96066 2001-11-17  Jim Meyering  <meyering@lucent.com>
96067
96068         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
96069         Now, that's done as part of AC_FUNC_STRTOD.
96070
96071 2001-11-17  Jim Meyering  <meyering@lucent.com>
96072
96073         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
96074         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
96075         rather than group writable.  Patch by Juan F. Codagnone.
96076
96077         * lib/readtokens.c: Remove explicit declarations of xmalloc and
96078         xrealloc, Instead, include "xalloc.h".
96079
96080         * lib/mountlist.c: Include unlocked-io.h after all system headers.
96081         Remove explicit declarations of xmalloc, xrealloc,
96082         and xstrdup.  Instead, include "xalloc.h".
96083
96084         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
96085         unlocked-io.h.
96086         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
96087         Likewise.
96088         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
96089
96090         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
96091         Reported by Padraig Brady.
96092
96093         * lib/mkstemp.c: #undef mkstemp.
96094         Include config.h.
96095         (rpl_mkstemp): Rename from mkstemp.
96096         Protoize.
96097
96098 2001-11-16  Jim Meyering  <meyering@lucent.com>
96099
96100         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
96101         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
96102         determine the amount of total physical memory, use pstat_getstatic.
96103         HPUX-11 doesn't define _SC_PHYS_PAGES.
96104         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
96105         If sysconf couldn't be used to determine the amount of available
96106         physical memory, use both pstat_getstatic and pstat_getdynamic.
96107         Based on a patch from Bob Proulx.
96108
96109 2001-11-10  Jim Meyering  <meyering@lucent.com>
96110
96111         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
96112         (jm_PREREQ): Use it.
96113
96114 2001-11-09  Jim Meyering  <meyering@lucent.com>
96115
96116         * m4/jm-macros.m4: Require autoconf-2.52f.
96117         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
96118         Use these AC_-prefixed names, not the AM_-prefixed ones.
96119
96120         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
96121
96122 2001-11-05  Jim Meyering  <meyering@lucent.com>
96123
96124         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
96125
96126 2001-11-04  Jim Meyering  <meyering@lucent.com>
96127
96128         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
96129         $DEFS.
96130
96131 2001-11-03  Jim Meyering  <meyering@lucent.com>
96132
96133         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
96134         of AC_DEFUN.
96135
96136         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
96137         know the name of the variable in the macro definition.
96138
96139 2001-11-03  Jim Meyering  <meyering@lucent.com>
96140
96141         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
96142         in argmatch_to_argument call.
96143
96144         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
96145         argument.
96146
96147         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
96148         e.g., a fault due to an attempt to free a NULL pointer.
96149
96150 2001-11-01  Jim Meyering  <meyering@lucent.com>
96151
96152         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
96153         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
96154
96155 2001-11-01  Jim Meyering  <meyering@lucent.com>
96156
96157         * lib/dirfd.c, lib/dirfd.h: New files.
96158         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
96159
96160         * lib/hash.c (hash_print) [TESTING]: Clean up.
96161
96162 2001-10-22  Paul Eggert  <eggert@twinsun.com>
96163
96164         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
96165         to avoid a warning if -Wall.
96166
96167 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
96168
96169         * README: New file
96170         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
96171         (per RMS's instructions, this is now the canonical source)
96172         * lgpl/, gpl/: New directories.
96173
96174 2001-10-21  Paul Eggert  <eggert@twinsun.com>
96175
96176         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
96177
96178 2001-10-21  Jim Meyering  <meyering@lucent.com>
96179
96180         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
96181         this code would end up calling gettext even in packages built
96182         with --disable-nls.
96183         * lib/getopt.c (_): Likewise.
96184         * lib/regex.c (_): Likewise.
96185
96186 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96187
96188         * m4/error.m4 (jm_PREREQ_ERROR):
96189         Do not invoke AC_CHECK_FUNCS with strerror_r, as
96190         AC_FUNC_STRERROR_R does that.
96191         Check for strerror declaration.
96192
96193         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
96194         are supposed to have them these days.
96195         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
96196         Merge changes from latest Autoconf CVS.
96197         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
96198         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
96199         POSIX decided to standardize on the int flavor of strerror_r.
96200
96201 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96202
96203         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
96204         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
96205         Use strerror_r that is only a macro, even if it is not a function.
96206         (strerror): Check for HAVE_DECL_STRERROR before declaring.
96207         (private_strerror): Use prototypes, not old-style function definition.
96208         (print_errno_message): New function.
96209         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
96210         char*-flavored one.
96211         (error_tail, error, error_at_line): Use it.
96212
96213 2001-10-11  Jim Meyering  <meyering@lucent.com>
96214
96215         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
96216         and quote_n (1, ... to avoid clobbering a buffer.
96217
96218 2001-10-05  Jim Meyering  <meyering@lucent.com>
96219
96220         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
96221         hash-pjw.h.
96222         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
96223         * lib/hash-pjw.h: New file.
96224
96225 2001-09-30  Jim Meyering  <meyering@lucent.com>
96226
96227         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
96228         `struct fsstat' has the `f_fstypename' member.
96229         Use that to define FS_TYPE, which is now used to make
96230         the getfsstat link test tighter.
96231
96232 2001-09-30  Jim Meyering  <meyering@lucent.com>
96233
96234         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
96235         Include <sys/ucred.h>, for Apple Darwin.
96236         Include sys/mount.h and sys/fs_types.h only if available.
96237         (FS_TYPE): Define.
96238         (read_filesystem_list): Use FS_TYPE.
96239
96240 2001-09-29  Paul Eggert  <eggert@twinsun.com>
96241
96242         * lib/exclude.c (excluded_filename): 0 -> false, since it's
96243         a boolean context.
96244
96245 2001-09-29  Jim Meyering  <meyering@lucent.com>
96246
96247         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96248         [one-argument getmntent function]): Include stdio.h before mntent.h.
96249         SunOS 4.1.x needs it for the declaration of `FILE'.
96250         Patch by Volker Borchert.
96251
96252         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96253         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
96254         sys/fs_types.h, and make the link-test for getfsstat guard #include
96255         directives with appropriate #if HAVE_*_H tests so that we can
96256         detect getfsstat on Apple Darwin1.3.7 systems.
96257         Reported by Nelson Beebe.
96258         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
96259
96260 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96261
96262         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96263         #defines strtoimax.  Also treat the other strto* functions
96264         like strtoimax.
96265
96266         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96267         Check for strtoul and strtoumax,
96268         as those declarations are made even in the signed case.
96269         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
96270         Likewise, for strtol and strtoimax.
96271
96272 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96273
96274         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96275         #defines strtoimax.  Also treat the other strto* functions
96276         like strtoimax.
96277
96278         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
96279         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
96280         (strtoimax, strtoumax): Do not declare if already defined as a macro.
96281
96282 2001-09-26  Jim Meyering  <meyering@lucent.com>
96283
96284         Most macros in unlocked-io.h had the wrong number of arguments.
96285         * lib/gen-uio: New script.
96286         (USE_UNLOCKED_IO): Define to 1 if not already defined.
96287         * lib/unlocked-io.hin: Remove file.
96288         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
96289         rather than trying to embed it here.
96290         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
96291         Reported by Padraig Brady.
96292
96293 2001-09-25  Volker Borchert  <bt@teknon.de>
96294
96295         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
96296         `result'.
96297
96298 2001-09-24  Jim Meyering  <meyering@lucent.com>
96299
96300         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
96301
96302 2001-09-23  Jim Meyering  <meyering@lucent.com>
96303
96304         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
96305         instead of the mere test for existence of mntent.h.  The latter
96306         would get a false-positive on AIX 3.4 systems.
96307         In the outer getmntent if-block, don't die if neither of the getmntent
96308         tests succeeds.  Instead, just fall through and continue with the
96309         remaining tests.
96310
96311 2001-09-23  Jim Meyering  <meyering@lucent.com>
96312
96313         * lib/mountlist.c: Remove useless parentheses in #if directives.
96314         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
96315         the deprecated MOUNTED symbol is no longer defined in mntent.h.
96316
96317 2001-09-22  Jim Meyering  <meyering@lucent.com>
96318
96319         * m4/gettext.m4: New file.  From gettext.
96320         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
96321         * m4/progtest.m4: Likewise
96322         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
96323         * m4/glibc21.m4: Likewise.
96324
96325         * m4/libintl.m4: Remove.  No longer used.
96326
96327 2001-09-22  Jim Meyering  <meyering@lucent.com>
96328
96329         * lib/localcharset.c: Update from latest gettext.
96330         * lib/config.charset: Likewise.
96331
96332 2001-09-20  Jim Meyering  <meyering@lucent.com>
96333
96334         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
96335         strtoimax.
96336         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
96337         strtoumax.
96338
96339 2001-09-20  Jim Meyering  <meyering@lucent.com>
96340
96341         * lib/xstrtol.c (strtoimax): Guard declaration with
96342         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
96343         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
96344         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
96345         (strtoumax): Likewise, for completeness (it wasn't necessary).
96346
96347 2001-09-17  Paul Eggert  <eggert@twinsun.com>
96348
96349         * lib/strtoimax.c (HAVE_LONG_LONG):
96350         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
96351         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
96352         to work around bug in IBM C compiler.
96353
96354 2001-09-17  Jim Meyering  <meyering@lucent.com>
96355
96356         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
96357         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
96358         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
96359         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
96360         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
96361         whenever the right hand side need not be expanded by the shell.
96362
96363 2001-09-16  Paul Eggert  <eggert@twinsun.com>
96364
96365         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
96366         library.  It's not correct, as some older glibcs are buggy.
96367         fnmatch wasn't fixed until glibc 2.2.
96368
96369         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
96370         special shell magic here.
96371
96372 2001-09-16  Jim Meyering  <meyering@lucent.com>
96373
96374         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
96375         * m4/jm-macros.m4: Require it.
96376
96377 2001-09-16  Jim Meyering  <meyering@lucent.com>
96378
96379         * lib/mkdir.c: New file.
96380
96381 2001-09-15  Jim Meyering  <meyering@lucent.com>
96382
96383         * m4/jm-macros.m4: Check for help2man.
96384
96385 2001-09-11  Jim Meyering  <meyering@lucent.com>
96386
96387         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
96388         The body, by Paul Eggert, was moved here from configure.in.
96389         * m4/jm-macros.m4: Require UTILS_HOST_OS.
96390
96391 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96392
96393         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
96394         (jm_PREREQ): Use it.
96395
96396 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96397
96398         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
96399         Use ssize_t, not int, to store result of readlink.
96400         Check for ssize_t overflow as well as size_t overflow,
96401         as POSIX says the result of readlink is implementation-defined
96402         when ssize_t overflows.
96403         Remove unnecessary cast to char*.
96404         Use free+malloc instead of realloc, as the storage doesn't need
96405         to be preserved and it's clearer and can be more efficient that way.
96406         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
96407         * lib/xreadlink.h (xreadlink): Update prototype.
96408
96409 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96410
96411         * lib/xgetcwd.c: Revert some of the previous change; intead,
96412         fix the HAVE_GETCWD_NULL code to behave more like the
96413         !HAVE_GETCWD_NULL code used to.
96414
96415         Include "xalloc.h".
96416         (xgetcwd): Do not return NULL when memory is exhausted; instead,
96417         invoke xalloc_die.
96418
96419 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96420
96421         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
96422         sys/param.h, as pathmax.h includes them.
96423
96424 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96425
96426         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
96427         (jm_PREREQ_XGETCWD): New macro.
96428
96429         * m4/getcwd.m4: New file.
96430
96431 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96432
96433         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
96434         like the HAVE_GETCWD_NULL code.
96435         Include pathmax.h if not HAVE_GETCWD.
96436         Do not include xalloc.h.
96437         (INITIAL_BUFFER_SIZE): New symbol.
96438         Do not use xmalloc / xrealloc, since the caller is responsible for
96439         handling errors.  Preserve errno around `free' during failure.
96440         Do not overrun buffer when using getwd.
96441
96442 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96443
96444         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
96445         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
96446         getcwd (NULL, 0).
96447
96448 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96449
96450         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
96451         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
96452         spotted by Jim Meyering.
96453
96454 2001-09-03  Jim Meyering  <meyering@lucent.com>
96455
96456         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
96457         failure.
96458
96459 2001-09-02  Jim Meyering  <meyering@lucent.com>
96460
96461         * lib/error.c: Update from GNU libc.
96462
96463 2001-09-01  Jim Meyering  <meyering@lucent.com>
96464
96465         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
96466         Used by df.
96467
96468 2001-09-01  Jim Meyering  <meyering@lucent.com>
96469
96470         * lib/xreadlink.c: New file.
96471         * lib/xreadlink.h: New file.
96472         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
96473         xreadlink.h.
96474
96475         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
96476         doesn't conflict with sparc Solaris 7's definition in
96477         /usr/include/sys/int_types.h.
96478
96479         * lib/exclude.c: Use `""', not `<>' to #include non-system header
96480         files.
96481         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
96482         and strncasecmp as r-values.  Unixware didn't have declarations.
96483
96484 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96485
96486         * lib/xstrtol.h: Add copyright notice.
96487         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
96488         LONGINT_INVALID_SUFFIX_CHAR.
96489
96490 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96491
96492         * lib/xstrtol.c (strtoimax): New decl.
96493
96494 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96495
96496         * lib/xgetcwd.c: Don't include pathmax.h.
96497         Include stdlib.h and unistd.h if available.
96498         Include xalloc.h.
96499         (xmalloc, xstrdup, free): Remove decls.
96500         (xgetcwd): Don't assume sizes fit in unsigned.
96501         Check for overflow when computing sizes.
96502         Simplify reallocation code.
96503
96504 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96505
96506         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
96507         a directory's st_size can have an arbitrary value, so the old
96508         usage could waste an arbitrary amount of memory.  All uses
96509         changed.
96510         * lib/savedir.h: Update prototype.
96511
96512 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96513
96514         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
96515
96516         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
96517         old strtoimax.c.
96518
96519         Also, make the following further changes to make this file's
96520         configuration more similar to that of strtol.c:
96521         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
96522         (strtoumax, uintmax_t, strtoull, strtol): Remove.
96523         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
96524         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
96525         changed to signed values.
96526
96527         And make the following changes as well:
96528         Fix copyright notice, as 1999 was missing.
96529         (verify): New macro.
96530         (strtoimax): Check sizes at compile-time, not run-time.
96531         Prefer strtol to strtoll if both work.
96532         (main): Remove; it was not that useful and was a pain to maintain.
96533
96534         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
96535
96536 2001-08-31  Jim Meyering  <meyering@lucent.com>
96537
96538         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
96539         Use an initial, malloc'd, buffer of length 128 rather than
96540         a statically allocated one of length 1024.
96541
96542 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96543
96544         Simplify code, partly by assuming autoconf 2.52 semantics.
96545
96546         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
96547
96548         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
96549         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
96550         All uses removed.
96551         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
96552         Move AC_REQUIRE to next-to-top level, to avoid confusion.
96553         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
96554         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
96555         jm_AC_HEADER_INTTYPES_H.
96556         * m4/jm-macros.m4 (jm_MACROS): Likewise.
96557
96558         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
96559
96560         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96561         Quote first arg of AC_DEFUN.
96562         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
96563         since they are needed to parse the include file even if we need
96564         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
96565         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
96566         but with opposite signedness.
96567
96568 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96569
96570         Merge 'exclude' changes from tar 1.13.22.
96571         This fixes one or two unlikely storage allocation overflow bugs,
96572         but doesn't change user-visible behavior otherwise.
96573
96574 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96575
96576         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
96577         (jm_PREREQ_EXCLUDE): New macro.
96578
96579 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96580
96581         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
96582         tm to be declared.
96583
96584 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96585
96586         * lib/hash.c: Remove '2001' from copyright notice.
96587
96588 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96589
96590         * lib/full-write.h: New file.
96591         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
96592         * lib/full-write.c: Correct credits, as cccp.c no longer
96593         exists and anyway it was so heavily changed from the old cccp
96594         code as to be unrecognizable.  Include full-write.h.
96595         (full_write): Return size_t, with short writes meaning failure.
96596         All callers changed.  This fixes a bug with large buffers
96597         on 64-bit hosts.
96598         * lib/utime.c: Include full-write.h.
96599
96600 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96601
96602         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
96603         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
96604         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
96605         Include if available.
96606         (<xalloc.h>): Include
96607         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
96608         (verify): New macro.  Use it to verify that EXCLUDE macros do not
96609         collide with FNM macros.
96610         (struct patopts): New struct.
96611         (struct exclude): Use it, as exclude patterns now come with options.
96612         (new_exclude): Support above changes.
96613         (new_exclude, add_exclude_file):
96614         Initial size must now be a power of two to simplify overflow checking.
96615         (free_exclude, fnmatch_no_wildcards): New function.
96616         (excluded_filename): No longer requires options arg, as the options
96617         are determined by add_exclude.  Now returns bool, not int.
96618         (excluded_filename, add_exclude):
96619         Add support for the fancy new exclusion options.
96620         (add_exclude, add_exclude_file): Now takes int options arg.
96621         Check for arithmetic overflow when computing sizes.
96622         (add_exclude_file): xrealloc might modify errno, so don't
96623         realloc until after errno might be used.
96624
96625         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
96626         New macros.
96627         (free_exclude): New decl.
96628         (add_exclude, add_exclude_file): Now takes int options arg.
96629         (excluded_filename): No longer requires options arg, as the options
96630         are determined by add_exclude.  Now returns bool, not int.
96631
96632 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96633
96634         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
96635
96636 2001-08-27  Jim Meyering  <meyering@lucent.com>
96637
96638         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
96639
96640         * lib/version-etc.c (N_): Remove definition.
96641         Revert most of last change.
96642         Instead, simply don't mark the `Copyright...' string for translation.
96643         Based on advice from Paul Eggert.
96644
96645         * lib/strtoxmax.c: Tweak comment.
96646
96647 2001-08-26  Jim Meyering  <meyering@lucent.com>
96648
96649         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
96650
96651         * m4/xstrtoimax.m4: New file.
96652         * m4/xstrtoumax.m4: Add comments explaining why we
96653         AC_REPLACE_FUNCS(strtol).
96654
96655 2001-08-26  Jim Meyering  <meyering@lucent.com>
96656
96657         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
96658         of copyright with `%s' so translators don't get an untranslated
96659         message in 2002.
96660         (COPYRIGHT_YEAR): Define.
96661         (version_etc): Use fprintf rather than fputs.
96662         Suggestion from Ulrich Drepper.
96663
96664         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
96665
96666         * lib/strtoll.c: New file, from GNU libc.
96667         * lib/xstrtoimax.c: New file.
96668
96669         * lib/xstrtol.h: Add xstrtoimax.
96670         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
96671         * lib/strtoimax.c: New file.  Likewise, but first define
96672         STRTOUXMAX_SIGNED.
96673
96674         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
96675         ...
96676         * lib/strtoxmax.c: ... then renamed to this.
96677
96678 2001-08-18  Paul Eggert  <eggert@twinsun.com>
96679
96680         * m4/inttypes.m4: Add AC_PREREQ(2.13).
96681         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
96682         (jm_AC_TYPE_INTMAX_T): New macro.
96683         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
96684
96685         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
96686
96687         * m4/longlong.m4: Renamed from ulonglong.m4.
96688         * m4/inttypes.m4: Renamed from inttypes_h.m4.
96689         * m4/uintmax_t.m4: Removed.
96690
96691 2001-08-13  Paul Eggert  <eggert@twinsun.com>
96692
96693         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
96694         Port to Solaris 8, where 'sed' requires a space after the 'r'
96695         command, and where sh dislikes "$/".  Clean up the spacing a bit.
96696         Redirect output to $tmp just once.
96697
96698 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
96699
96700         * lib/addext.c (<errno.h>): Include.
96701         (errno): Declare if not defined.
96702         (addext): Work correctly when pathconf returns -1 and leaves
96703         errno alone because there is no limit.  Also, work even if
96704         pathconf returns a value greater than SIZE_MAX.
96705
96706 2001-08-12  Jim Meyering  <meyering@lucent.com>
96707
96708         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
96709         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
96710         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
96711         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
96712         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
96713         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
96714         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
96715         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
96716         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
96717         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
96718         utime.m4, utimes.m4, xstrtoumax.m4:
96719         Quote the first argument in each use of AC_DEFUN.
96720
96721 2001-08-12  Jim Meyering  <meyering@lucent.com>
96722
96723         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
96724         Simply `return getcwd (NULL, 0);'.
96725         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
96726         Use 1300 as initial value for length, not PATH_MAX.
96727
96728         * lib/pathmax.h: Clean up cpp syntax.
96729
96730 2001-08-12  Jim Meyering  <meyering@lucent.com>
96731
96732         * lib/gettimeofday.c: New file.
96733         * lib/gtod.h: New file.
96734         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
96735
96736 2001-08-05  Jim Meyering  <meyering@lucent.com>
96737
96738         * m4/jm-macros.m4: Require autoconf-2.52.
96739
96740 2001-08-04  Jim Meyering  <meyering@lucent.com>
96741
96742         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
96743         stmt, to get in sync with glibc.
96744
96745 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96746
96747         The following changes are from gettext 0.10.39 as maintained by
96748         Bruno Haible.
96749
96750         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
96751         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
96752         with inverted sense.  All uses changed.
96753
96754         * lib/mbswidth.c: Don't include <limits.h>.
96755         Include <stdlib.h> and <string.h> unconditionally.
96756         (iswcntrl, mbsinit, ISCNTRL): New macros.
96757         (mbsnwidth): Use K&R style function declarations.
96758         Don't bother checking for MB_LEN_MAX == 1, since the compiler
96759         can optimize it when MB_CUR_MAX == 1.
96760         The width of control characters is zero, not 1.
96761
96762 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96763
96764         The following changes are from gettext 0.10.39 as maintained by
96765         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
96766
96767         * m4/codeset.m4: Upgrade to serial AM1.
96768         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
96769         all uses changed.  Quote first arg of AC_DEFUN.
96770         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
96771
96772         * m4/iconv.m4: Upgrade to serial AM2.
96773         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
96774         Add --with-libconv-prefix.
96775         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
96776         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
96777         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
96778         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
96779         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
96780
96781         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
96782         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
96783         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
96784         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
96785         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
96786         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
96787         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
96788         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
96789         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
96790
96791         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
96792         string.h any more.
96793
96794         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
96795         not the default value.
96796
96797         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
96798         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
96799         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
96800         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
96801         Also check for iswcntrl, used for wcwidth fallback.
96802         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
96803         to Autoconf 2.13.
96804
96805 2001-08-03  Jim Meyering  <meyering@lucent.com>
96806
96807         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
96808         as it was in the original.  Reported by Paul Eggert.
96809
96810 2001-07-16  Jim Meyering  <meyering@lucent.com>
96811
96812         * m4/gettimeofday.m4: New file.
96813         Prompted by a report from Bernhard Baehr.
96814
96815 2001-07-15  Jim Meyering  <meyering@lucent.com>
96816
96817         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
96818         stuff. Now it's in ../Makefile.cfg.
96819
96820 2001-07-15  Jim Meyering  <meyering@lucent.com>
96821
96822         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
96823         (BUILT_SOURCES): Add unlocked-io.h.
96824         (io_functions): Define.
96825         (unlocked-io.h): New rule.
96826         (DISTCLEANFILES): Add unlocked-io.h.
96827         (all-local): Depend on unlocked-io.h, to ensure it is created.
96828
96829         * lib/unlocked-io.hin: New file
96830
96831         * lib/regex.c: Update from glibc.
96832
96833 2001-07-05  Jim Meyering  <meyering@lucent.com>
96834
96835         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
96836         recommendation.
96837         (libfetish_a_SOURCES): Put all .h files here instead.
96838         Remove a thus-exposed (better checks in automake) duplicate and
96839         two unnecessary .h files.
96840
96841 2001-07-04  Jim Meyering  <meyering@lucent.com>
96842
96843         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
96844         that generates jm-glibc-io.m4 so that it doesn't trigger any make
96845         distcheck failure.
96846
96847 2001-07-02  Jim Meyering  <meyering@lucent.com>
96848
96849         The following changes were prompted by suggestions from Bruno Haible.
96850
96851         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
96852         is now generated.
96853         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
96854         definition of EXTRA_DIST.
96855         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
96856         ensure that the generated file is created/updated whenever the list
96857         of $(unlocked_functions) is changed.
96858         (jm-glibc-io.m4): New rule.
96859         (unlocked-io.h): New rule -- currently unused.
96860
96861 2001-06-24  Jim Meyering  <meyering@lucent.com>
96862
96863         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
96864         unmatched right bracket, rather than kludging it with an extra,
96865         falsely-matching quote in a comment.  Patch by Akim Demaille.
96866
96867 2001-06-11  Jim Meyering  <meyering@lucent.com>
96868
96869         * lib/regex.c: Update from GNU libc.
96870
96871 2001-05-27  Jim Meyering  <meyering@lucent.com>
96872
96873         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
96874         Check for ut_type in struct utmp.
96875
96876 2001-05-27  Jim Meyering  <meyering@lucent.com>
96877
96878         * lib/readutmp.h (UT_TYPE): Define.
96879
96880 2001-05-24  Jim Meyering  <meyering@lucent.com>
96881
96882         * lib/argmatch.c: Include "quote.h".
96883         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
96884         quote function.  Reported by Göran Uddeborg.
96885
96886 2001-05-22  Jim Meyering  <meyering@lucent.com>
96887
96888         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
96889         now that we use the package-supplied version unconditionally.
96890         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
96891
96892 2001-05-21  Jim Meyering  <meyering@lucent.com>
96893
96894         * m4/regex.m4: Change a couple backticks to single quotes to avoid
96895         shell syntax errors.
96896
96897 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96898
96899         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
96900
96901 2001-05-20  Paul Eggert  <eggert@twinsun.com>
96902
96903         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
96904         Don't bother to check library strftime, since
96905         we'll be using our own my_strftime function anyway.
96906         Define my_strftime instead of strftime.
96907
96908 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
96909
96910         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
96911         which is not yet declared.
96912
96913 2001-05-15  Jim Meyering  <meyering@lucent.com>
96914
96915         * m4/regex.m4: Use proper quoting so brackets appear in the test
96916         program.
96917         Reported by, and with help from, Bruno Haible.
96918
96919 2001-05-13  Jim Meyering  <meyering@lucent.com>
96920
96921         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
96922         undefined.
96923
96924 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96925
96926         dirname code cleanup.  base_name now behaves more compatibly
96927         with POSIX basename when given file names that have trailing
96928         slashes, and similarly for dir_name.  Add new primitives
96929         base_len and dir_len.  Put the directory-name-related decls
96930         into dirname.h.
96931
96932         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
96933         * lib/backupfile.c (base_name): Likewise.
96934         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
96935         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
96936         * lib/makepath.c (strip_trailing_slashes): Likewise.
96937         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
96938         ISSLASH): Likewise.
96939         * lib/rename.c (strip_trailing_slashes): Likewise.
96940         * lib/same.c (base_name): Likewise.
96941         * lib/stripslash.c (ISSLASH): Likewise.
96942
96943         * lib/addext.c: Include <dirname.h> after size_t is defined.
96944         * lib/backupfile.c: Likewise.
96945
96946         * lib/addext.c (addext): Use base_len to trim redundant
96947         trailing slashes instead of doing it ourselves.
96948         But do not trim the last slash if it is not redundant.
96949
96950         * lib/backupfile.c (find_backup_file_name,
96951         max_backup_version): Use base_len instead of rolling it ourselves.
96952         Handle the case of "" and (on DOS) "C:" correctly.
96953
96954         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
96955         needed. Include <string.h>, <dirname.h>.
96956         (base_name): Allow file names ending in slashes, other than names
96957         that are all slashes.  In this case, return the basename followed
96958         by the slashes.  This is more general, and can be used in places
96959         where the original base_name purposely had an assertion failure.
96960         (base_len): New function.
96961
96962         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
96963         Do not include <assert.h>; no longer needed.
96964         Include xalloc.h.
96965         (memrchr): Remove decl.
96966         (dir_name_r): Remove.
96967         (dir_len): Renamed from dirlen.  All callers changed.
96968         Rewrite in terms of base_name, for simplicity and consistency.
96969         (dir_name): Never return NULL.  All callers changed.
96970         Do not include <stdlib.h> in test program; no longer needed.
96971         return 0; is fine for test program.
96972
96973         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
96974         New macros.
96975         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
96976
96977         * lib/path-concat.c (path_concat): Use base_len to compute
96978         base length, not strlen; this means we cannot rely on memcpy
96979         to null-terminate.
96980
96981         * lib/same.c (STREQ): Remove.
96982         (same_name): Handle the case where the basename ends in trailing '/'.
96983
96984         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
96985         a slash was stripped.  Do not strip the last slash after a
96986         file system prefix.
96987
96988 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96989
96990         * lib/Makefile.am (libfetish_a_SOURCES):
96991         Add strftime.c, since we now compile it on all hosts.
96992
96993         * lib/strftime.c (my_strftime):
96994         Define to nstrftime if emacs, but only if my_strftime is not defined.
96995         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
96996         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
96997         Add one more extra argument: a nanoseconds value.
96998         All uses changed.
96999         (ns): New macro.
97000         (my_strftime function): Add %N format.
97001         (emacs_strftimeu): Renamed from emacs_strftime,
97002         with extra ut argument.
97003
97004 2001-05-09  Paul Eggert  <eggert@twinsun.com>
97005
97006         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
97007
97008 2001-04-21  Jim Meyering  <meyering@lucent.com>
97009
97010         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
97011         doesn't interfere.
97012
97013 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97014
97015         * m4/ftruncate.m4: Check for chsize.
97016         Link with ftruncate.o unconditionally if ftruncate is missing.
97017         This was required when cross-compiling to i586-mingw32msvc.
97018
97019 2001-04-08  Jim Meyering  <meyering@lucent.com>
97020
97021         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
97022         recomputed; that's necessary when the offset spans a DST transition.
97023         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
97024
97025 2001-04-02  Jim Meyering  <meyering@lucent.com>
97026
97027         * lib/regex.h, regex.c: Update from GNU libc.
97028
97029 2001-03-24  Jim Meyering  <meyering@lucent.com>
97030
97031         * m4/jm-macros.m4: Require autoconf-2.49d.
97032
97033 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
97034
97035         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
97036
97037 2001-03-19  Paul Eggert  <eggert@twinsun.com>
97038
97039         * lib/version-etc.c (version_etc_copyright): Update to 2001.
97040
97041 2001-03-17  Jim Meyering  <meyering@lucent.com>
97042
97043         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
97044         now that the version in autoconf is equivalent.
97045         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
97046
97047         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
97048         Suggestion from Akim Demaille.
97049
97050         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
97051         (jm_PREREQ_TEMPNAME): New function.
97052
97053 2001-03-16  Paul Eggert  <eggert@twinsun.com>
97054
97055         * lib/tempname.c (uint64_t): Define to uintmax_t if
97056         not defined, and if UINT64_MAX is not defined.
97057         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
97058         Reported by John David Anglin.
97059
97060 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
97061
97062         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
97063         resolve alias if codeset is empty.
97064         * lib/config.charset (BeOS): Use wildcard syntax.
97065
97066 2001-03-13  Jim Meyering  <meyering@lucent.com>
97067
97068         * lib/path-concat.c (path_concat)
97069         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
97070         concatenating e.g., `C:' and `foo'.
97071         From Bruno Haible.
97072
97073 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97074
97075         * lib/localcharset.c (locale_charset): Don't use
97076         setlocale(LC_CTYPE,NULL). Don't return NULL.
97077         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
97078
97079 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97080
97081         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
97082         support for DOS/DJGPP.
97083
97084 2001-03-01  Paul Eggert  <eggert@twinsun.com>
97085
97086         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
97087         lacks mkstemp.  Compile our own tempname.c if we compile our own
97088         mkstemp.c, as mkstemp relies on tempname.
97089
97090 2001-03-01  Jim Meyering  <meyering@lucent.com>
97091
97092         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
97093         AH_VERBATIM really does output its argument verbatim.
97094
97095 2001-02-28  Paul Eggert  <eggert@twinsun.com>
97096
97097         * lib/Makefile.am (libfetish_a_SOURCES):
97098         Add dup-safer.c, fopen-safer.c.
97099         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
97100
97101         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
97102         * lib/unistd-safer.h: New files.
97103
97104 2001-02-25  Paul Eggert  <eggert@twinsun.com>
97105
97106         The mkstemp replacement is taken from glibc 2.2.2, with some
97107         portability fixes for use outside glibc, as follows:
97108
97109         * lib/tempname.c (struct_stat64): New macro.
97110         (direxists, __gen_tempname): Use it.
97111         This avoids a portability problem with Solaris 8.
97112
97113         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
97114         (<stddef.h>, <stdint.h>, <string.h>):
97115         Include only if STDC_HEADERS || _LIBC.
97116         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
97117         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
97118         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
97119         (__set_errno): Define this macro if <errno.h> doesn't.
97120         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
97121         Define these macros if <stdio.h> doesn't.
97122         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
97123         Define these macros if <sys/stat.h>
97124         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
97125         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
97126         __xstat64): Define if not _LIBC.
97127         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
97128         (__gen_tempname): Invoke gettimeofday only if
97129         HAVE_GETTIMEOFDAY || _LIBC;
97130         otherwise, fall back on plain "time".
97131         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
97132
97133         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
97134
97135         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
97136
97137 2001-02-18  Paul Eggert  <eggert@twinsun.com>
97138
97139         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
97140
97141 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97142
97143         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
97144         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
97145         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
97146         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
97147
97148 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97149
97150         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
97151         Remove workaround macros for hosts that have mbrtowc but not
97152         mbstate_t, as we now insist on proper declarations for both
97153         before using mbrtowc.
97154
97155 2001-02-17  Jim Meyering  <meyering@lucent.com>
97156
97157         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
97158         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
97159         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
97160         UnixWare 7.1.1.
97161
97162         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
97163         rather than AC_CACHE_VAL.
97164
97165 2001-02-17  Jim Meyering  <meyering@lucent.com>
97166
97167         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
97168         around included file name.
97169
97170         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
97171
97172         * lib/strftime.c: Update from GNU libc (the only changes were to
97173         comments).
97174
97175 2001-02-17  Jim Meyering  <meyering@lucent.com>
97176
97177         * lib/regex.c: Update from libc.
97178
97179 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
97180
97181         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
97182         clash.
97183
97184 2001-02-16  Paul Eggert  <eggert@twinsun.com>
97185
97186         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
97187         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
97188         Reported by Mark Hounschell via Paul Eggert.
97189
97190 2001-02-07  Jim Meyering  <meyering@lucent.com>
97191
97192         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
97193
97194 2001-02-05  Jim Meyering  <meyering@lucent.com>
97195
97196         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
97197         it includes the patch required for `large file' support with at least
97198         HP-UX's 10.20 /bin/cc.
97199
97200 2001-02-03  Jim Meyering  <meyering@lucent.com>
97201
97202         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
97203         AS_IF, now that it works once again (mysteriously).
97204         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97205
97206 2001-01-30  Jim Meyering  <meyering@lucent.com>
97207
97208         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
97209         * m4/chown.m4: Rename conftestchown to conftest.chown.
97210         * m4/rename.m4: s/conftestdir/conftest.d1/ and
97211         s/conftestdir2/conftest.d2/.
97212         * m4/utimes.m4: s/conftestdata/conftest.data/
97213         Inspired by Pavel Roskin's change in autoconf.
97214
97215 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
97216
97217         * lib/config.charset: Update for FreeBSD 4.2.
97218
97219 2001-01-27  Jim Meyering  <meyering@lucent.com>
97220
97221         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
97222         a use of AS_IF.
97223         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97224
97225 2001-01-26  Jim Meyering  <meyering@lucent.com>
97226
97227         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
97228         quotearg.c includes it.
97229
97230 2001-01-26  Jim Meyering  <meyering@lucent.com>
97231
97232         * lib/quotearg.c: Include stddef.h.
97233         * lib/quote.c: Include stddef.h.
97234         Reported by Axel Kittenberger.
97235
97236         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
97237         line in double quotes so that it evokes a better diagnostic.
97238         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
97239         Reported by Axel Kittenberger.
97240
97241 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
97242
97243         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
97244         as if it was a `charset'.
97245
97246 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97247
97248         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
97249         has const.
97250
97251 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97252
97253         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
97254         to avoid a warning.  Add back 'const' to inptr.
97255
97256 2001-01-20  Jim Meyering  <meyering@lucent.com>
97257
97258         Be sure that headers are checked before used in code compiled
97259         for the type checks.
97260         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
97261         In place of that, invoke jm_CHECK_ALL_TYPES.
97262         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
97263         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
97264         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
97265         The check for ssize_t was mistakenly run before the test for unistd.h.
97266
97267         The configure-time check for stdbool.h was missing.
97268         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
97269         (jm_PREREQ_HASH): New function.
97270
97271 2001-01-17  Jim Meyering  <meyering@lucent.com>
97272
97273         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
97274         for autoconf-2.49c.
97275         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
97276
97277 2001-01-16  Jim Meyering  <meyering@lucent.com>
97278
97279         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
97280         From Bruno Haible.
97281
97282 2001-01-14  Jim Meyering  <meyering@lucent.com>
97283
97284         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
97285         foo and bar.  Create conftestdir/ in the script, not in the C code.
97286         Remove directories in the script, not in the C code.
97287         Remove conftestdir{,2} before trying to create the directory.
97288         Make the entire configure script fail if the mkdir fails.
97289
97290 2001-01-14  Jim Meyering  <meyering@lucent.com>
97291
97292         * lib/rename.c: New file.  From Volker Borchert.
97293         Include stdlib.h, string.h or strings.h, and xalloc.h.
97294         Use strip_trailing_slashes rather than open-coding it.
97295
97296 2001-01-03  Paul Eggert  <eggert@twinsun.com>
97297
97298         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
97299
97300 2001-01-03  Jim Meyering  <meyering@lucent.com>
97301
97302         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
97303         of local `inptr' to avoid warning with some system declarations of
97304         iconv.
97305
97306 2001-01-02  Volker Borchert  <bt@teknon.de>
97307
97308         * m4/rename.m4: New file.
97309         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
97310
97311 2001-01-01  Jim Meyering  <meyering@lucent.com>
97312
97313         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
97314         even on systems with utmpx.h.  It's necessary for the declaration of
97315         utmp's ut_user member.  Reported by Andreas Jaeger.
97316
97317         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
97318         available. They are required for the declarations of getgrgid and
97319         getpwuid resp.
97320         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
97321         Reported by Andreas Jaeger.
97322
97323 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
97324
97325         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
97326         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
97327         so `make install' also works in VPATH builds.
97328
97329 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
97330
97331         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
97332         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
97333         can be used in subdirectories.
97334
97335 2000-12-29  Paul Eggert  <eggert@twinsun.com>
97336
97337         * lib/modechange.c: Do not assume that mode_t uses the
97338         traditional octal encoding.  E.g. "chmod 1 FOO" should set
97339         the other-execute bit of FOO even if S_IXOTH != 1.
97340
97341         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
97342         WOTH, XOTH, ALLM): New macros.
97343         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
97344          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
97345         Use them.
97346         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
97347         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
97348         (mode_compile):
97349         No need to use uintmax_t; unsigned long is long enough.
97350         Don't bother to get suffix since we don't use it.
97351
97352 2000-12-26  Jim Meyering  <meyering@lucent.com>
97353
97354         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
97355         better with autoheader.
97356
97357 2000-12-24  Jim Meyering  <meyering@lucent.com>
97358
97359         * lib/hash.c (is_prime): Return explicit boolean values.
97360         (hash_get_first): Return NULL to appease Irix5.6's 89.
97361         Reported by Nelson Beebe.
97362
97363 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
97364
97365         * lib/localcharset.c (locale_charset): Add support for Win32.
97366
97367 2000-12-18  Paul Eggert  <eggert@twinsun.com>
97368
97369         * lib/physmem.h, lib/physmem.c: New files.
97370
97371         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
97372         (noinst_HEADERS): Add physmem.h.
97373
97374         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
97375         't' for compatibility with Solaris 8 sort.
97376
97377 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
97378
97379         * lib/config.charset: Add support for BeOS.
97380
97381 2000-12-17  Jim Meyering  <meyering@lucent.com>
97382
97383         * m4/dos.m4 (jm_AC_DOS): New file and macro.
97384         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
97385
97386 2000-12-16  Jim Meyering  <meyering@lucent.com>
97387
97388         This bug had a serious impact on chown: `chown N:M FILE' (for integer
97389         N and M) would have treated it like `chown N:N FILE'.
97390
97391         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
97392
97393 2000-12-16  Jim Meyering  <meyering@lucent.com>
97394
97395         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
97396         SHELLS_FILE to a file name that's useful on djgpp systems.
97397         Include stdlib.h.
97398         (ADDITIONAL_DEFAULT_SHELLS): Define.
97399         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
97400         Based mostly on a patch from Prashant TR.
97401
97402 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
97403
97404         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
97405         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
97406         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
97407
97408 2000-12-08  Andreas Schwab  <schwab@suse.de>
97409
97410         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
97411         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
97412
97413 2000-12-07  Jim Meyering  <meyering@lucent.com>
97414
97415         * lib/stripslash.c (ISSLASH): Define.
97416         (strip_trailing_slashes): Use ISSLASH rather than comparing against
97417         `/'.
97418         From Prashant TR.
97419
97420         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
97421         (dir_name_r): Declare this function as static.
97422         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
97423         manifest itself on a name containing a mix of slashes and
97424         backslashes.
97425         Make this function work with names starting with a DOS-style
97426         drive letter and colon prefix.
97427         (dir_name): Append `.' if necessary.
97428         Based mostly on patches from Prashant TR and Eli Zaretskii.
97429
97430         * lib/dirname.h (dir_name_r): Remove prototype.
97431
97432 2000-12-06  Paul Eggert  <eggert@twinsun.com>
97433
97434         * m4/off_t-format.m4: Remove this file.
97435         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
97436
97437 2000-12-06  Jim Meyering  <meyering@lucent.com>
97438
97439         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
97440         replacement strtoull, we may well need the replacement strtoul, too.
97441         Check for declarations of strtoul and strtoull.
97442         Check for strtol.  Mainly as a cue to cause automake to include
97443         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
97444         Check for limits.h -- strtol.c needs it.
97445
97446 2000-12-05  Jim Meyering  <meyering@lucent.com>
97447
97448         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
97449
97450 2000-12-04  Jim Meyering  <meyering@lucent.com>
97451
97452         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
97453         Also include memory.h, stdlib.h, unistd.h if appropriate.
97454         Reported by Andreas Jaeger (conflicting declaration of malloc).
97455
97456 2000-12-02  Jim Meyering  <meyering@lucent.com>
97457
97458         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
97459         * m4/jm-macros.m4 (jm_MACROS): require it.
97460
97461 2000-12-02  Jim Meyering  <meyering@lucent.com>
97462
97463         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
97464
97465 2000-12-01  Paul Eggert  <eggert@twinsun.com>
97466
97467         * lib/memrchr.c: Include <config.h> before any system include file.
97468
97469 2000-11-30  Jim Meyering  <meyering@lucent.com>
97470
97471         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
97472
97473 2000-11-30  Jim Meyering  <meyering@lucent.com>
97474
97475         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
97476
97477 2000-11-29  Paul Eggert  <eggert@twinsun.com>
97478
97479         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
97480
97481 2000-11-26  Jim Meyering  <meyering@lucent.com>
97482
97483         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
97484
97485 2000-11-22  Paul Eggert  <eggert@twinsun.com>
97486
97487         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
97488         size of (size_t) -1; it's not portable.
97489
97490 2000-11-17  Jim Meyering  <meyering@lucent.com>
97491
97492         * lib/strstr.c: Update from GNU libc.
97493
97494 2000-11-17  Akim Demaille  <akim@epita.fr>
97495
97496         * lib/obstack.h: Formatting changes.
97497         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
97498         prevent type checking.
97499         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
97500         cast the value to (void *): assigning a `foo *' to a `void *'
97501         variable is valid.
97502         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
97503
97504 2000-11-16  Jim Meyering  <meyering@lucent.com>
97505
97506         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
97507
97508 2000-11-11  Jim Meyering  <meyering@lucent.com>
97509
97510         * lib/error.c: Add a couple #includes, merging from GNU libc version.
97511
97512 2000-11-10  Jim Meyering  <meyering@lucent.com>
97513
97514         * lib/obstack.h: Update from GNU libc.
97515         * lib/obstack.c: Likewise.
97516
97517 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
97518
97519         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
97520
97521 2000-11-06  Paul Eggert  <eggert@twinsun.com>
97522
97523         * lib/getusershell.c (setusershell): Use rewind rather than
97524         fseek/fseeko, to avoid configuration hassles with fseeko.
97525         Don't bother opening SHELLS_FILE if shellstream is NULL;
97526         it's not necessary.
97527
97528 2000-11-05  Jim Meyering  <meyering@lucent.com>
97529
97530         * lib/makepath.h (make_dir): Declare.
97531         * lib/makepath.c (make_dir): Remove `static' attribute.
97532         Tweak a comment.
97533
97534 2000-11-04  Jim Meyering  <meyering@lucent.com>
97535
97536         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
97537
97538 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
97539
97540         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
97541         last one in a bucket, advance to the next bucket.
97542
97543 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
97544
97545         * lib/fnmatch.c: Do not comment out all the code if we are using
97546         the GNU C library, because in some cases we are replacing buggy
97547         code in the GNU C library itself.
97548
97549 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
97550
97551         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
97552         (regex_compile): Catch bogus \(\1\).
97553
97554 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97555
97556         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
97557         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
97558         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
97559
97560 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97561
97562         * lib/error.h, getline.h, modechange.h:
97563         Remove "2000" from Copyright line, as the file hasn't been
97564         changed this year other than in the copyright notice.
97565
97566         * lib/xalloc.h: Add "2000" to Copyright line, as this file
97567         was changed this year.
97568
97569 2000-10-29  Jim Meyering  <meyering@lucent.com>
97570
97571         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
97572         renaming.
97573         * m4/ls-mntd-fs.m4: Likewise
97574
97575 2000-10-29  Jim Meyering  <meyering@lucent.com>
97576
97577         * lib/xstat.in: Fix grammar in comment.
97578
97579 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
97580
97581         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
97582         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
97583         doesn't define __restrict_arr.
97584
97585 2000-10-28  Jim Meyering  <meyering@lucent.com>
97586
97587         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
97588         (jm_PREREQ_MEMCHR): New function.
97589
97590 2000-10-28  Jim Meyering  <meyering@lucent.com>
97591
97592         * lib/memchr.c: Update from libc.
97593         Adjust for portability:
97594         [HAVE_STDLIB_H]: Include stdlib.h.
97595         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
97596         Undef __memchr, too.
97597         [!weak_alias]: Define __memchr to memchr.
97598
97599         * lib/regex.c: Update from libc.
97600         * lib/regex.h: Likewise.
97601         * lib/getopt1.c: Likewise.
97602         * lib/memcmp.c: Likewise.
97603
97604         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
97605         Avoid using fseek, when possible -- it's broken by design.
97606         Patch by Ulrich Drepper.
97607
97608 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
97609
97610         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
97611         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
97612         Giving in to popular pressure to shut up the compiler with casts.
97613
97614 2000-10-26  Jim Meyering  <meyering@lucent.com>
97615
97616         * lib/strftime.c: Update from libc.
97617
97618 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
97619
97620         * regex.c: More `unsigned char' -> `re_char' changes.
97621         Also change several `int' into `re_wchar_t'.
97622         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
97623         (PUSH_FAILURE_POINTER): Don't cast any more.
97624         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
97625         We want GCC to complain, since this piece of code makes
97626         re_match non-reentrant, which *should* be fixed.
97627         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
97628         (EXTEND_BUFFER): Use RETALLOC.
97629         (SET_LIST_BIT): Don't cast.
97630         (re_wchar_t): New type.
97631         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
97632         that those two functions will always properly return.
97633         (IMMEDIATE_QUIT_CHECK): Cast to void.
97634         (analyse_first): Use recursion rather than an explicit stack.
97635         (re_compile_fastmap): Can't fail anymore.
97636         (re_search_2): Don't check re_compile_fastmap for failure.
97637         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
97638         Now also sets the new value (passed in a new argument).
97639         (re_match_2_internal): Use it.
97640         Also, use a new var `reg' of type size_t when looping through regs
97641         rather than reuse the inappropriate `mcnt'.
97642
97643 2000-10-25  Jim Meyering  <meyering@lucent.com>
97644
97645         * lib/obstack.c: Update from libc.
97646
97647 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
97648
97649         * regex.c (regex_compile): Change the way of handling a range from
97650         a char less than 256 to a char not less than 256.
97651
97652 2000-10-24  Andrew Innes  <andrewi@gnu.org>
97653
97654         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
97655         NT-Emacs only.
97656         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
97657         so that re_search functions only quit when callers expect them to.
97658
97659 2000-10-23  Jim Meyering  <meyering@lucent.com>
97660
97661         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
97662         wrong.  That set_locale call must not have any side effects.
97663         From Paul Eggert.
97664
97665 2000-10-22  Jim Meyering  <meyering@lucent.com>
97666
97667         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
97668         [CYCLIC]: Remove now-unused definition.
97669
97670         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
97671         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
97672         Suggestion from Ulrich Drepper.
97673
97674 2000-10-21  Jim Meyering  <meyering@lucent.com>
97675
97676         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
97677         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
97678         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
97679
97680 2000-10-21  Jim Meyering  <meyering@lucent.com>
97681
97682         * lib/dirname.c (memrchr): Declare if necessary.
97683         (dir_name): Remove the restriction that there be no
97684         trailing slashes.  Now, this code skips past them, effectively
97685         ignoring them.
97686         [TEST_DIRNAME] (main): New unit tests.
97687
97688         * lib/memrchr.c: New file from GNU libc.
97689         Undef __memrchr, too.
97690         [!weak_alias]: Define __memrchr to memrchr.
97691         Guard weak_alias use with `#ifdef weak_alias'.
97692
97693 2000-10-21  Jim Meyering  <meyering@lucent.com>
97694
97695         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
97696         (dir_name): Use dir_name_r.
97697         * lib/dirname.h (dir_name_r): Declare it.
97698
97699 2000-10-17  Jim Meyering  <meyering@lucent.com>
97700
97701         * lib/quote.h (PARAMS): Define and use.
97702         Reported by Akim Demaille.
97703
97704         * lib/getopt.c: Update from libc.
97705
97706 2000-10-16  Jim Meyering  <meyering@lucent.com>
97707
97708         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
97709         setlocale.
97710         From Jan Fedak.
97711
97712 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
97713
97714         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
97715
97716 2000-09-25  Jim Meyering  <meyering@lucent.com>
97717
97718         * lib/md5.h (rol): Define (from GnuPG).
97719
97720         * lib/sha.c: Give credit (GnuPG) where due.
97721         (M): Use rol rather than open-coding it.
97722         Add a FIXME comment.
97723
97724 2000-09-21  Jim Meyering  <meyering@lucent.com>
97725
97726         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
97727         Reported by Michael Stone.
97728
97729 2000-09-20  Jim Meyering  <meyering@lucent.com>
97730
97731         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
97732         (noinst_HEADERS): Add sha.h.
97733         Based on code from Scott G. Miller and from GnuPG.
97734
97735 2000-09-18  Jim Meyering  <meyering@lucent.com>
97736
97737         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
97738         LIBS. Otherwise, everyone ends up linking with -lelf for some
97739         configurations.
97740         Reported by Mike Stone.
97741
97742 2000-09-15  Jim Meyering  <meyering@lucent.com>
97743
97744         * lib/regex.c: Update from libc.
97745
97746 2000-09-10  Jim Meyering  <meyering@lucent.com>
97747
97748         * lib/getopt.c (_getopt_internal): Update from glibc.
97749
97750 2000-09-09  Jim Meyering  <meyering@lucent.com>
97751
97752         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
97753         think it should be used as a general replacement for isascii.
97754         * lib/fnmatch.c: Likewise.
97755         * lib/mbswidth.c: Likewise
97756         * lib/regex.c: Likewise.
97757
97758         Don't use atoi.
97759         * lib/userspec.c: Include sys/param.h and limits.h.
97760         Include xstrtol.h.
97761         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
97762         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
97763         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
97764         UID, GID.  Check range.
97765
97766 2000-09-06  Jim Meyering  <meyering@lucent.com>
97767
97768         * lib/getopt.c (_getopt_internal): Update from glibc.
97769
97770 2000-08-30  Jim Meyering  <meyering@lucent.com>
97771
97772         * lib/strftime.c: Merge in changes from GNU libc.
97773
97774 2000-08-26  Jim Meyering  <meyering@lucent.com>
97775
97776         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
97777         * m4/fpending.m4: New file.
97778
97779 2000-08-26  Jim Meyering  <meyering@lucent.com>
97780
97781         * lib/closeout.c: Include "__fpending.h".
97782         (close_stdout_status): Return right away if there's nothing to flush.
97783
97784         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
97785         * lib/__fpending.c: New file.
97786         * lib/__fpending.h: New file.
97787
97788 2000-08-20  Jim Meyering  <meyering@lucent.com>
97789
97790         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
97791         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
97792         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
97793
97794 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
97795
97796         Improve fileutils installation on systems where running
97797         programs (like install) can't be unlinked.
97798         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
97799         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
97800
97801 2000-08-07  Paul Eggert  <eggert@twinsun.com>
97802
97803         Standardize on "memory exhausted" instead of "Memory exhausted"
97804         or "virtual memory exhausted".
97805         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
97806         "virtual memory exhausted".
97807         * lib/same.c (same_name): Invoke xalloc_die instead of printing
97808         our own message.
97809         * lib/userspec.c (parse_user_spec): Likewise.
97810         * lib/bumpalloc.h: comment fix
97811         * lib/same.c, userspec.c: Include xalloc.h.
97812
97813         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
97814         not char *const and pointing to a constant array.
97815         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
97816         (xrealloc): Comment fix.
97817
97818         * lib/userspec.c (parse_user_spec):
97819         Don't translate a message until just before returning,
97820         to avoid unnecessary translation.
97821
97822 2000-08-07  Jim Meyering  <meyering@lucent.com>
97823
97824         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
97825         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
97826         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
97827         getgroups.c, gethostname.c, getopt.h, group-member.c,
97828         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
97829         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
97830         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
97831         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
97832         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
97833         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
97834         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
97835         yesno.c: Back out Copyright date changes for each file with no change
97836         this year.  This eases coordination with other programs using the same
97837         source code modules.  From Paul Eggert.
97838
97839 2000-08-06  Paul Eggert  <eggert@twinsun.com>
97840
97841         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
97842         not char, for compatibility with glibc 2.1.3 strftime.c.
97843
97844 2000-08-03  Greg McGary  <greg@mcgary.org>
97845
97846         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
97847         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
97848         (EXTEND_BUFFER): Use them.
97849
97850 2000-08-01  Jim Meyering  <meyering@lucent.com>
97851
97852         * lib/dirname.c (ISSLASH): Define.
97853         (BACKSLASH_IS_PATH_SEPARATOR): Define.
97854         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
97855         both `\' and `/' may be use as path separators.
97856         Based on a patch from Prashant TR.
97857
97858 2000-07-31  Paul Eggert  <eggert@twinsun.com>
97859
97860         * lib/quotearg.c (quotearg_n_options): Don't make the initial
97861         slot vector a constant, since it might get modified.
97862
97863 2000-07-31  Jim Meyering  <meyering@lucent.com>
97864
97865         * lib/xmalloc.c: Use `virtual memory exhausted', not
97866         `Memory exhausted'.
97867         * lib/obstack.c (print_and_abort): Likewise.
97868
97869 2000-07-30  Paul Eggert  <eggert@twinsun.com>
97870
97871         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
97872         buffer, so that the caller can always quote one small
97873         component of a "memory exhausted" message in slot 0.
97874         From a suggestion by Jim Meyering.
97875
97876 2000-07-30  Jim Meyering  <meyering@lucent.com>
97877
97878         * lib/makepath.c (make_path): Quote the other instance, too.
97879
97880         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
97881         (STATIC_BUF_SIZE): Define.
97882         (quotearg_n_options): Use only statically allocated storage when
97883         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
97884         than STATIC_BUF_SIZE.
97885
97886 2000-07-29  Jim Meyering  <meyering@lucent.com>
97887
97888         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
97889         * lib/dirname.c (dir_name): Likewise.
97890
97891         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
97892         `/'.
97893
97894         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
97895         (dir_name): Assert that there are no trailing slashes.
97896
97897 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
97898
97899         * lib/mbswidth.h (mbswidth): Add a flags argument.
97900         (mbswidth): New declaration.
97901         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
97902         * lib/mbswidth.c (mbswidth): Add a flags argument.
97903         (mbsnwidth): New function.
97904
97905 2000-07-24  Jim Meyering  <meyering@lucent.com>
97906
97907         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
97908
97909 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97910
97911         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
97912
97913 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97914
97915         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
97916         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
97917         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
97918         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
97919         invoke multibyte primitives.
97920
97921 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97922
97923         * lib/quotearg.c:
97924         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
97925         so that mbstate_t is always defined.
97926
97927         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
97928         be 1 in at least one GCC installation, and this configuration
97929         error is likely to be common.  Ignoring MB_LEN_MAX hurts
97930         performance on hosts that have mbrtowc but have only unibyte
97931         locales, but I assume these hosts are rare.
97932
97933 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97934
97935         * lib/mbswidth.c (_XOPEN_SOURCE):
97936         Don't define; this causes problems on Solaris 7.
97937         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
97938
97939 2000-07-23  Jim Meyering  <meyering@lucent.com>
97940
97941         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
97942         too: getgrgid, getpwuid, getuid.
97943
97944 2000-07-23  Jim Meyering  <meyering@lucent.com>
97945
97946         * lib/basename.c (base_name): Add an assertion.
97947
97948 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
97949
97950         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
97951         shadow its mbsinit function.
97952
97953 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97954
97955         * lib/mbswidth.h: New file.
97956         * lib/mbswidth.c: New file.
97957         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
97958         (noinst_HEADERS): Add mbswidth.h.
97959
97960 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97961
97962         * lib/config.charset: Add support for FreeBSD. Improve support for
97963         HP-UX and IRIX 6.
97964
97965 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
97966
97967         * m4/mbswidth.m4: New file.
97968         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
97969
97970 2000-07-15  Jim Meyering  <meyering@lucent.com>
97971
97972         * lib/makepath.c: Include quote.h.
97973         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
97974         corresponding argument in a `quote (...)' call.
97975         Give better diagnostics.
97976
97977         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
97978         (noinst_HEADERS): Add quote.h.
97979
97980         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
97981         from tar's src/misc.c.
97982         * lib/quote.h: New file.  Prototypes for same.
97983
97984 2000-07-14  Paul Eggert  <eggert@twinsun.com>
97985
97986         From a suggestion by Bruno Haible.
97987         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
97988         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
97989         to decide whether to define the BeOS workaround macro;
97990         this adjusts to the change to AC_MBSTATE_T.
97991
97992 2000-07-14  Jim Meyering  <meyering@lucent.com>
97993
97994         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
97995         jm_AC_TYPE_UINTMAX_T.
97996
97997 2000-07-13  Paul Eggert  <eggert@twinsun.com>
97998
97999         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
98000
98001         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
98002         quotearg_buffer_restyled): Add support for
98003         clocale_quoting_style.  Undo previous change to
98004         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
98005         and "{RIGHT QUOTATION MARK}" msgids.
98006
98007 2000-07-10  Paul Eggert  <eggert@twinsun.com>
98008
98009         From a suggestion by Bruno Haible.
98010         * m4/mbstate_t.m4 (AC_MBSTATE_T):
98011         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
98012         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
98013         and mbstate_t, to a single-part test that simply defines mbstate_t.
98014         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
98015         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
98016
98017 2000-07-10  Jim Meyering  <meyering@lucent.com>
98018
98019         * m4/strerror_r.m4: Mirror the correction made in autoconf.
98020
98021         * m4/gnu-source.m4: Output to confdefs.h directly.
98022         Suggestion from Akim Demaille.
98023
98024 2000-07-09  Paul Eggert  <eggert@twinsun.com>
98025
98026         The old behavior of quoting `like this' doesn't look good with
98027         newer, ISO-style fonts.  See:
98028         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
98029
98030         Instead, quote "like this" by default.  Let the translator
98031         tailor the locale-specific quoting behavior by providing
98032         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
98033
98034         * lib/quotearg.c (N_): New macro.
98035         (gettext_default): New function.
98036         (quotearg_buffer_restyled): Use
98037         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
98038         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
98039
98040 2000-07-09  Jim Meyering  <meyering@lucent.com>
98041
98042         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
98043         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
98044
98045         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
98046         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
98047
98048 2000-07-09  Jim Meyering  <meyering@lucent.com>
98049
98050         * lib/Most files: Update copyright dates to include 2000.
98051
98052 2000-07-08  Jim Meyering  <meyering@lucent.com>
98053
98054         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
98055         if not defined.
98056         (xgethostname): Remove now-unnecessary #ifdef.
98057         Move declaration of `err' into loop where it's used.
98058
98059 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98060         and Bruno Haible  <haible@clisp.cons.org>
98061
98062         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
98063         only if the test for an object-type mbstate_t fails.  This
98064         prevents us from mistakenly reporting that mbstate_t is a
98065         system object type after we "#define mbstate_t int" to work
98066         around its lack.
98067
98068 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98069         and Bruno Haible  <haible@clisp.cons.org>
98070
98071         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
98072
98073 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98074
98075         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
98076         to strerror_r.
98077         Include <ctype.h> for use of isalpha.
98078
98079 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98080
98081         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
98082         by allocating a larger buffer. Test the gethostname return value for
98083         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
98084         returns an error and ENAMETOOLONG isn't defined.
98085
98086 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98087
98088         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
98089         dimension.
98090
98091 2000-07-04  Jim Meyering  <meyering@lucent.com>
98092
98093         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
98094         of the deprecated AC_CHECKING.
98095
98096 2000-07-04  Jim Meyering  <meyering@lucent.com>
98097
98098         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
98099         Reported by Bruno Haible.
98100
98101 2000-07-04  Jim Meyering  <meyering@lucent.com>
98102
98103         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
98104         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
98105         lacks mbrtowc.
98106
98107 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98108
98109         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
98110         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
98111
98112 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98113         and Bruno Haible  <haible@clisp.cons.org>
98114
98115         * lib/quotearg.c (mbrtowc):
98116         Assign to *pwc, and return 1 only if result is nonzero.
98117         (iswprint): Use ISPRINT when substituting our own mbrtowc.
98118
98119 2000-07-03  Jim Meyering  <meyering@lucent.com>
98120
98121         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
98122
98123 2000-07-03  Jim Meyering  <meyering@lucent.com>
98124
98125         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
98126         This is necessary to get a definition of e.g., UTMP_FILE on
98127         HP-UX 10.20.
98128         From Bob Proulx.
98129
98130 2000-07-02  Jim Meyering  <meyering@lucent.com>
98131
98132         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
98133
98134         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
98135         AC_LIBOBJ(function_name).
98136         * m4/chown.m4: Likewise.
98137         * m4/fnmatch.m4: Likewise.
98138         * m4/ftruncate.m4: Likewise.
98139         * m4/getgroups.m4: Likewise.
98140         * m4/getline.m4: Likewise.
98141         * m4/group-member.m4: Likewise.
98142         * m4/jm-macros.m4: Likewise.
98143         * m4/lstat.m4: Likewise.
98144         * m4/malloc.m4: Likewise.
98145         * m4/memcmp.m4: Likewise.
98146         * m4/nanosleep.m4: Likewise.
98147         * m4/putenv.m4: Likewise.
98148         * m4/realloc.m4: Likewise.
98149         * m4/regex.m4: Likewise.
98150         * m4/stat.m4: Likewise.
98151         * m4/strftime.m4: Likewise.
98152
98153 2000-07-02  Jim Meyering  <meyering@lucent.com>
98154
98155         * lib/quotearg.c (mbstate_t): Don't define here.
98156
98157 2000-07-02  Jim Meyering  <meyering@lucent.com>
98158
98159         * lib/nanosleep.c (SIGCONT): Define if not already defined.
98160
98161 2000-07-01  Jim Meyering  <meyering@lucent.com>
98162
98163         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
98164
98165 2000-07-01  Jim Meyering  <meyering@lucent.com>
98166
98167         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
98168         problem.
98169
98170 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98171
98172         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
98173         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
98174
98175 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98176
98177         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
98178         per change in ../m4/ls-mntd-fs.m4.
98179         (read_filesystem_list): Ignore symbolic links.
98180
98181 2000-06-29  Jim Meyering  <meyering@lucent.com>
98182
98183         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
98184         for declaration of strcmp.
98185
98186         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
98187
98188         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
98189         Avoid warning by casting result to `char *' to remove `const'.
98190
98191 2000-06-28  Jim Meyering  <meyering@lucent.com>
98192
98193         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
98194         included by quotearg.c, for which we perform this test.  From
98195         Bruno Haible.
98196
98197 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98198
98199         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
98200         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
98201         <utmpx.h> exists, put readutmp.o into LIBOBJS.
98202
98203 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98204
98205         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
98206
98207 2000-06-26  Paul Eggert  <eggert@twinsun.com>
98208
98209         savedir now sets errno on failure and invokes xmalloc to get memory.
98210         Fix a couple of other minor bugs while we're at it.
98211
98212         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
98213         (NAMLEN): Remove macro.
98214         (malloc, realloc): Remove decls.
98215         (stpcpy): Likewise.
98216         ("xalloc.h"): Include.
98217         (NAME_SIZE_DEFAULT): New macro.
98218         (savedir): Use xmalloc / xrealloc to allocate memory.
98219         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
98220         Skip "" directory entries.
98221         Use strlen to calculate directory entry length, since the old method
98222         is rarely used these days and isn't worth supporting.
98223         Don't use a pointer after freeing it.
98224         Check for integer overflow when calculating allocation size.
98225         Use memcpy to copy entries, instead of stpcpy.
98226         Set errno properly when returning NULL.
98227         Check for readdir error.
98228
98229 2000-06-26  Jim Meyering  <meyering@lucent.com>
98230
98231         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
98232
98233 2000-06-25  Jim Meyering  <meyering@lucent.com>
98234
98235         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
98236         Linux header bug when _XOPEN_SOURCE is defined to 500.
98237
98238 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98239
98240         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
98241         deficiency.
98242
98243 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98244
98245         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
98246         Include xalloc.h.
98247         Don't include <stdlib.h>.  Don't declare malloc, realloc.
98248
98249 2000-06-24  Jim Meyering  <meyering@lucent.com>
98250
98251         * m4/strerror_r.m4: Revive this file -- to try out an experimental
98252         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
98253         for which strerror does return char*, but which lacks a conveniently
98254         accessible declaration of the function.  If the compile-test says
98255         strerror_r doesn't work, then resort to a `run'-test that works on
98256         BeOS and segfaults on DEC Unix.
98257
98258 2000-06-24  Jim Meyering  <meyering@lucent.com>
98259
98260         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
98261
98262 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98263
98264         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
98265         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
98266
98267 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98268
98269         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
98270         (mbrtowc, mbstate_t): Define substitutes if
98271         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
98272         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
98273         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
98274
98275 2000-06-23  Jim Meyering  <meyering@lucent.com>
98276
98277         * m4/afs.m4: Add missing AC_MSG_RESULT.
98278         Reported by Bruno Haible.
98279
98280         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
98281         Suggestion from Bruno Haible.
98282
98283 2000-06-23  Jim Meyering  <meyering@lucent.com>
98284
98285         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
98286
98287 2000-06-21  Jim Meyering  <meyering@lucent.com>
98288
98289         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
98290
98291 2000-06-21  Jim Meyering  <meyering@lucent.com>
98292
98293         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
98294         (noinst_HEADERS): Add getstr.h.
98295
98296         * lib/getline.c (getstr): Move into a separate file.
98297         * lib/getstr.c (getstr): New file, extracted from getline.c, with
98298         the following changes: new parameter, delim2; both delim[12]
98299         parameters have type `int', not `char'.  The latter would lose
98300         with 8-bit delimiters.
98301         * lib/getstr.h: New file.
98302
98303 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98304
98305         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
98306         than 1024, return a memory chunk of least possible size, instead
98307         of size PATH_MAX + 2. In the loop, increment the size proportionally.
98308         Use free/xmalloc instead of xrealloc to avoid copying for very long
98309         paths.
98310
98311 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98312
98313         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
98314         the empty string.
98315
98316 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98317
98318         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
98319         address, not strdup.  Include <stdlib.h> and don't declare free().
98320
98321 2000-06-19  Jim Meyering  <meyering@lucent.com>
98322
98323         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
98324
98325 2000-06-18  Jim Meyering  <meyering@lucent.com>
98326
98327         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
98328
98329         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
98330         `checking whether...' message to be consistent with that of the
98331         lstat test.
98332
98333 2000-06-18  Jim Meyering  <meyering@lucent.com>
98334
98335         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
98336         Besides, these days every porting target provides a mkdir function.
98337
98338         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
98339         needed. (this snippet comes from src/system.h).
98340
98341 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
98342
98343         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
98344
98345 2000-06-15  Paul Eggert  <eggert@twinsun.com>
98346
98347         * lib/human.c (adjust_value): New function.
98348         (human_readable_inexact): Apply rounding style even when
98349         printing approximate values.
98350
98351 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98352
98353         * lib/human.c (human_readable_inexact): Allow an input block
98354         size that is not a multiple of the output block size, and vice versa.
98355         Reported by Piergiorgio Sartor.
98356
98357 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98358
98359         * lib/getdate.y (get_date): Apply relative times after time
98360         zone indicator, not before.  Reported by Todd A. Jacobs.
98361
98362 2000-06-13  Jim Meyering  <meyering@lucent.com>
98363
98364         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
98365
98366         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
98367
98368 2000-06-12  Paul Eggert  <eggert@twinsun.com>
98369
98370         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
98371
98372 2000-06-12  Jim Meyering  <meyering@lucent.com>
98373
98374         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
98375         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
98376         optional argument.
98377         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
98378         the optional argument, `lib'.
98379
98380 2000-06-08  Jim Meyering  <meyering@lucent.com>
98381
98382         * m4/largefile.m4: Remove file (now that it's part of autoconf).
98383
98384 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98385
98386         Rewrite largefile configuration so that we don't need to run
98387         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
98388         AC_CANONICAL_HOST in configure.in -- jmm]
98389
98390         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
98391         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
98392         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
98393         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
98394         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
98395         All uses changed.
98396         Instead of inspecting the output of getconf, try to compile the
98397         test program without and with the macro definition.
98398         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
98399         for getconf.  Instead, check for the needed flags by compiling
98400         test programs.
98401
98402 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98403
98404         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
98405
98406 2000-06-04  Jim Meyering  <meyering@lucent.com>
98407
98408         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
98409         SunOS 4.1.4 for which gid_t is an unsigned type.
98410
98411 2000-06-03  Jim Meyering  <meyering@lucent.com>
98412
98413         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
98414         now that autoconf requires that.
98415
98416         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
98417         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
98418         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
98419
98420 2000-06-03  Jim Meyering  <meyering@lucent.com>
98421
98422         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
98423
98424 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98425
98426         * m4/glibc21.m4: New file.
98427         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
98428
98429 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98430
98431         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
98432         newer, don't install charset.alias.
98433         * lib/config.charset: Change the Linux/glibc rules so they become empty
98434         on glibc-2.1 or newer.
98435
98436 2000-06-02  Jim Meyering  <meyering@lucent.com>
98437
98438         * lib/mountlist.c: Back out last change.  Instead, do this...
98439         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
98440         me_dummy member using the same `ignore'-testing code.
98441         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
98442         fs_type strings.
98443         From Mark D. Roth.
98444
98445 2000-05-29  Jim Meyering  <meyering@lucent.com>
98446
98447         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
98448         mounts with the `ignore' attribute.  Based on a patch from
98449         Mark D. Roth.
98450
98451 2000-05-28  Jim Meyering  <meyering@lucent.com>
98452
98453         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
98454         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98455         * m4/stat.m4: Likewise.
98456         * m4/lstat.m4: Likewise.
98457         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
98458
98459         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
98460         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
98461
98462 2000-05-26  Jim Meyering  <meyering@lucent.com>
98463
98464         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
98465
98466 2000-05-24  Jim Meyering  <meyering@lucent.com>
98467
98468         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
98469         autoconf requires that.
98470         * m4/lib-check.m4: Likewise.
98471         * m4/jm-macros.m4: Likewise.
98472         * m4/strftime.m4: Likewise.
98473
98474         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
98475         AC_CHECK_DECLS, now that autoconf requires that.
98476
98477 2000-05-22  Jim Meyering  <meyering@lucent.com>
98478
98479         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98480         * m4/lstat.m4: Likewise.
98481
98482 2000-05-22  Jim Meyering  <meyering@lucent.com>
98483
98484         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
98485
98486 2000-05-20  Jim Meyering  <meyering@lucent.com>
98487
98488         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
98489         (jm_PREREQ): Use it.
98490
98491 2000-05-18  Jim Meyering  <meyering@lucent.com>
98492
98493         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
98494         back, too, since it may have been modified by allocate_entry.
98495         (hash_delete): Rewrite to use neither the assignment operator
98496         nor the comma operator in an if-expression.
98497
98498 2000-05-15  Paul Eggert  <eggert@twinsun.com>
98499
98500         * lib/closeout.c:
98501         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
98502         Remove; no longer needed.
98503         "quotearg.h": Add include.
98504         (file_name): Do not bother to explicitly initialize to NULL; it's less
98505         efficient on some hosts.
98506         (close_stdout_status): Remove test as to whether stdout was already
98507         closed; it breaks for the case "echo x | sort >&-".
98508         Quote file name colons.
98509         Do not assume that _("write error") lacks format strings.
98510
98511 2000-05-15  Jim Meyering  <meyering@lucent.com>
98512
98513         * lib/version-etc.c (version_etc_copyright): Update the copyright
98514         string used in all --version output.
98515
98516 2000-05-14  Jim Meyering  <meyering@lucent.com>
98517
98518         * lib/closeout.c (close_stdout_set_file_name): New function.
98519         (close_stdout_status): Use new file-scoped global.
98520         Return right away if fstat says the stdout file descriptor is invalid.
98521         * lib/closeout.h (close_stdout_set_file_name): Declare.
98522
98523 2000-05-10  Jim Meyering  <meyering@lucent.com>
98524
98525         * lib/closeout.c [default_exit_status]: New file-scoped variable.
98526         (close_stdout_set_status): New function.
98527         * lib/closeout.h (close_stdout_set_status): Declare.
98528
98529 2000-05-09  Jim Meyering  <meyering@lucent.com>
98530
98531         * m4/gettext.m4: Rename this...
98532         * m4/libintl.m4: ...to this.
98533
98534 2000-05-08  Jim Meyering  <meyering@lucent.com>
98535
98536         * lib/long-options.c: Don't include closeout.h.
98537         (parse_long_options): Don't call close_stdout for --version.
98538
98539 2000-05-06  Paul Eggert  <eggert@twinsun.com>
98540
98541         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
98542         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
98543         2.1.3 bug.  This avoids a clash when files like regex.c define
98544         _GNU_SOURCE.
98545
98546 2000-05-06  Jim Meyering  <meyering@lucent.com>
98547
98548         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
98549         (AC_REPLACE_FUNCS): Add strnlen.
98550
98551         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
98552         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
98553
98554         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
98555         AC_SEARCH_LIBS call for nanosleep.
98556         (LIB_NANOSLEEP): Set and AC_SUBST.
98557
98558 2000-05-06  Jim Meyering  <meyering@lucent.com>
98559
98560         * lib/strnlen.c: Undefine __strnlen and strnlen.
98561         [!weak_alias]: Define __strnlen to strnlen.
98562
98563         * lib/atexit.c: New file, from libiberty.
98564
98565 2000-05-06  Jim Meyering  <meyering@lucent.com>
98566
98567         * lib/closeout.c (close_stdout_status): Also check for errors on the
98568         stderr stream.
98569
98570 2000-05-05  Jim Meyering  <meyering@lucent.com>
98571
98572         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
98573         AC_SEARCH_LIBS call for clock_gettime.
98574         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
98575
98576         * m4/search-libs.m4: Update from autoconf.
98577
98578         su doesn't work on Solaris 2.6.
98579         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
98580         <shadow.h>.  Reported by Dragos Harabor.
98581
98582 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
98583
98584         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
98585         memcpy instead of xmalloc, xrealloc, path_concat.
98586         (locale_charset): Treat empty environment variables as absent.
98587         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
98588
98589 2000-05-04  Jim Meyering  <meyering@lucent.com>
98590
98591         * lib/getopt.c: Update from glibc.
98592         * lib/obstack.c: Likewise.
98593         * lib/obstack.h: Likewise.
98594         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
98595         file
98596
98597         * lib/regex.h: Likewise.
98598         * lib/strndup.c: Likewise.
98599         * lib/strnlen.c: New file, from glibc.
98600
98601 2000-05-03  Jim Meyering  <meyering@lucent.com>
98602
98603         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
98604
98605 2000-05-02  Paul Eggert  <eggert@twinsun.com>
98606
98607         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
98608         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
98609         compile-time test, rather than inspecting host and OS, to
98610         decide whether to define _LARGEFILE_SOURCE.
98611
98612 2000-05-01  Jim Meyering  <meyering@lucent.com>
98613
98614         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
98615
98616         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
98617         Based on a patch from Bruno Haible.
98618
98619 2000-05-01  Jim Meyering  <meyering@lucent.com>
98620
98621         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
98622
98623 2000-04-29  Jim Meyering  <meyering@lucent.com>
98624
98625         * lib/path-concat.c: Declare strdup only if it's not defined.
98626         * lib/canon-host.c: Likewise.
98627
98628 2000-04-28  Jim Meyering  <meyering@lucent.com>
98629
98630         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
98631         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
98632         is included first, then limits.h is included by locale.h by libintl.h.
98633         From John David Anglin.
98634
98635 2000-04-25  Jim Meyering  <meyering@lucent.com>
98636
98637         * lib/makepath.c (S_IRWXUGO): Define.
98638         (make_path): Always perform explicit chmod if MODE specifies any
98639         of the `special' permission bits.  Prompted by a bug report against
98640         install from Mate Wierdl and Joost van Baal.
98641
98642 2000-04-18  Jim Meyering  <meyering@lucent.com>
98643
98644         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
98645         (jm_PREREQ): Use it.
98646
98647 2000-04-18  Jim Meyering  <meyering@lucent.com>
98648
98649         * lib/README: New file.
98650
98651         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
98652         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
98653
98654 2000-04-17  Jim Meyering  <meyering@lucent.com>
98655
98656         Get it right :-)
98657         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
98658         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
98659         Suggestion from Akim Demaille.
98660
98661 2000-04-17  Jim Meyering  <meyering@lucent.com>
98662
98663         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
98664         the definition of it to rpl_strftime also defined-away the system's
98665         declaration.
98666
98667 2000-04-15  Jim Meyering  <meyering@lucent.com>
98668
98669         Use `C' to denote so-called `contiguous' files, the same way
98670         that tar does.
98671         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
98672         (ftypelet): Use S_ISCTG.
98673         From Michael Deutschmann.
98674
98675 2000-04-14  Jim Meyering  <meyering@lucent.com>
98676
98677         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
98678         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
98679         clobbered.
98680
98681 2000-04-14  Jim Meyering  <meyering@lucent.com>
98682
98683         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
98684
98685 2000-04-13  Jim Meyering  <meyering@lucent.com>
98686
98687         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
98688         AH_VERBATIM to insert required #ifndef into config.h.in.
98689         Suggestion from Akim Demaille.
98690
98691 2000-04-12  Jim Meyering  <meyering@lucent.com>
98692
98693         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
98694         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
98695         Christian Krackowizer.
98696
98697         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
98698         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
98699         (AC_SYS_LARGEFILE): Require.
98700         (AM_C_PROTOTYPES): Require.
98701
98702 2000-04-08  Jim Meyering  <meyering@lucent.com>
98703
98704         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
98705         names don't conflict.  Reported by Eli Zaretskii.
98706
98707 2000-04-07  Jim Meyering  <meyering@lucent.com>
98708
98709         * lib/putenv.c: Move inclusion of errno.h so it follows that of
98710         sys/types.h, to work around system header problems on AIX 3.2.5.
98711         From Bruno Haible.
98712
98713 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
98714
98715         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
98716         bug.  Deal with the different error behavior of Irix iconv.
98717
98718 2000-04-05  Paul Eggert  <eggert@twinsun.com>
98719
98720         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
98721         IRIX if the installer said otherwise.
98722
98723 2000-04-05  Jim Meyering  <meyering@lucent.com>
98724
98725         Portability tweaks required for ultrix4.3.
98726         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
98727         (jm_CHECK_DECLS): Add getutent to the list of functions.
98728         (_jm_DECL_HEADERS): Add utmpx.h.
98729         From John David Anglin.
98730
98731         * m4/strftime.m4: Back out the 2000-04-02 change.
98732         Instead of that change, simply undefine putenv in the test program.
98733
98734 2000-04-05  Jim Meyering  <meyering@lucent.com>
98735
98736         Portability tweaks required for ultrix4.3.
98737         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
98738         getutent.
98739         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
98740         * lib/canon-host.c: Declare strdup.
98741         * lib/path-concat.c: Likewise.
98742         From John David Anglin.
98743
98744 2000-04-04  Jim Meyering  <meyering@lucent.com>
98745
98746         Be more DOS 8.3-friendly.
98747         * lib/ref-add.sin: Renamed from ref-add.sed.in.
98748         * lib/ref-del.sin: Renamed from ref-del.sed.in.
98749         * lib/Makefile.am: Reflect renaming.
98750         Reported by Eli Zaretskii.
98751
98752         Use a temporary file name that won't clash with `charset.alias'
98753         in the DOS 8.3 name space.
98754         * lib/Makefile.am (charset_tmp): Define.
98755         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
98756         (uninstall-local): Likewise.
98757         Reported by Eli Zaretskii.
98758
98759 2000-04-03  Jim Meyering  <meyering@lucent.com>
98760
98761         * m4/gettext.m4: Fix typo in comment.
98762
98763         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
98764         textutils/configure.in).  Suggestion from Paul Eggert.
98765         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
98766
98767 2000-04-02  Paul Eggert  <eggert@twinsun.com>
98768
98769         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
98770         variable in the shell rather than using putenv, which isn't
98771         portable.  This avoids the configure-time inter-test dependency
98772         on the potentially-renamed putenv function.
98773
98774 2000-03-30  Paul Eggert  <eggert@twinsun.com>
98775
98776         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
98777         before checking struct stat.st_blksize, so that
98778         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
98779
98780 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98781
98782         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
98783         since strftime.c uses HAVE_STRFTIME to decide whether to use
98784         the underlying strftime.
98785
98786 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98787
98788         * lib/time/strftime.c (my_strftime): Make sure we call the system
98789         strftime, not ourselves, when invoking the underlying strftime.
98790
98791 2000-03-24  Jim Meyering  <meyering@lucent.com>
98792
98793         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
98794         (charset_alias): Define.
98795         (install-exec-local): Factor out common code.
98796         (uninstall-local): Split lines longer than 80.
98797         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
98798         (SUFFIXES): Define.
98799         (.sed.in.sed): New rule.  Don't redirect directly to $@.
98800         (CLEANFILES): Add ref-add.sed and ref-del.sed.
98801
98802 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
98803
98804         * lib/config.charset: Output a line containing "Packages using this
98805         file".
98806         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
98807         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
98808         ref-del.sed): New rules.
98809
98810 2000-03-17  Jim Meyering  <meyering@lucent.com>
98811
98812         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
98813         Otherwise, include <strings.h>
98814
98815 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
98816
98817         * lib/unicodeio.c (utf8_wctomb): New function.
98818         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
98819         format instead of in UCS-4 with platform dependent endianness.
98820
98821 2000-03-10  Jim Meyering  <meyering@lucent.com>
98822
98823         * m4/lib-check.m4: Look for getspnam in -lgen, too.
98824         From Marco Franzen.
98825
98826 2000-03-07  Paul Eggert  <eggert@twinsun.com>
98827
98828         * lib/savedir.c (savedir): Work even if directory size is
98829         negative; this can happen with some screwy NFS configurations.
98830
98831 2000-03-06  Jim Meyering  <meyering@lucent.com>
98832
98833         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
98834         if it's NULL (because we ran out of memory).  From Bruno Haible.
98835
98836 2000-03-05  Jim Meyering  <meyering@lucent.com>
98837
98838         * lib/localcharset.c ("path-concat.h"): Include.
98839         (get_charset_aliases): Use path_concat instead of ANSI string
98840         concatenation.
98841
98842         * lib/unicodeio.h (PARAMS): Define.
98843         Use it to guard prototype.
98844
98845 2000-03-04  Jim Meyering  <meyering@lucent.com>
98846
98847         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
98848         for lib/localcharset.c.
98849
98850 2000-03-04  Jim Meyering  <meyering@lucent.com>
98851
98852         * lib/Makefile.am (install-exec-local): Create $(libdir) before
98853         installing into it.
98854         (uninstall-local): Uncomment this rule so `make distcheck' works
98855         once again.
98856
98857         * lib/unicodeio.c (<errno.h>): Include it.
98858         (errno): Declare if not defined.
98859
98860         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
98861
98862         * lib/config.charset: New version, incorporating remarks from a linux
98863         i18n mailing list.  From Bruno Haible.
98864
98865 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
98866
98867         * m4/codeset.m4: New file.
98868         * m4/iconv.m4: New file.
98869         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
98870
98871 2000-03-03  Jim Meyering  <meyering@lucent.com>
98872
98873         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
98874
98875 2000-03-02  Jim Meyering  <meyering@lucent.com>
98876
98877         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
98878         the messages come out on separate lines.
98879
98880         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
98881         rather than jm_CHECK_DECLARATIONS.
98882         * m4/decl.m4: Remove now-unused file.
98883
98884         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
98885         geteuid.
98886
98887 2000-03-02  Jim Meyering  <meyering@lucent.com>
98888
98889         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
98890
98891 2000-03-01  Jim Meyering  <meyering@lucent.com>
98892
98893         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
98894         * lib/unicodeio.c: Likewise.
98895
98896 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
98897
98898         * lib/config.charset: New file.
98899         * lib/localcharset.c: New file.
98900         * lib/unicodeio.h, lib/unicodeio.c: New files.
98901         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
98902         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
98903         (noinst_HEADERS): Add unicodeio.h.
98904         (all-local, install-exec-local, charset.alias): New targets.
98905
98906 2000-02-28  Paul Eggert  <eggert@twinsun.com>
98907
98908         * lib/quotearg.c (ALERT_CHAR): New macro.
98909         (quotearg_buffer_restyled): Use it.
98910
98911 2000-02-27  Jim Meyering  <meyering@lucent.com>
98912
98913         * m4/check-decl.m4: Add getenv to the list.
98914
98915 2000-02-27  Jim Meyering  <meyering@lucent.com>
98916
98917         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
98918         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
98919
98920         * lib/backupfile.c: Guard inclusion of stdlib.h with
98921         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
98922         Declare malloc if needed.
98923
98924         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
98925         `#ifndef HAVE_DECL..'
98926         now that autoconf always defines the HAVE_DECL_ symbols.
98927         * lib/human.c: Likewise.
98928         * lib/same.c: Likewise.
98929         * lib/strtoumax.c: Likewise.
98930
98931         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
98932         declaration check was not run.
98933         * lib/hash.c: Likewise.
98934         * lib/human.c: Likewise.
98935         * lib/same.c: Likewise.
98936         * lib/strtoumax.c: Likewise.
98937
98938         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
98939         `.', then first look up the entire `.'-containing string as a login
98940         name.
98941
98942 2000-02-23  Jim Meyering  <meyering@lucent.com>
98943
98944         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
98945         in place of my hack.
98946
98947 2000-02-18  Paul Eggert  <eggert@twinsun.com>
98948
98949         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
98950         (textint): New typedef.
98951         (parser_control): Member year changed from int to textint.
98952         All uses changed.
98953         (YYSTYPE): Removed; replaced by %union with int and textint members.
98954         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
98955         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
98956         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
98957         (tSNUMBER, tUNUMBER): Now of type <textintval>.
98958         (date, number, to_year): Use width of number in digits, not its value,
98959         to determine whether it's a 2-digit year, or a 2-digit time.
98960         (yylex): Store number of digits of numeric tokens.
98961         Reported by John Kendall.
98962
98963         (parser_control): Changed from struct parser_control to typedef (for
98964         consistency).  All uses changed.
98965
98966         (tID): Removed; not used.
98967         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
98968
98969 2000-02-14  Paul Eggert  <eggert@twinsun.com>
98970
98971         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
98972         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
98973
98974 2000-02-12  Jim Meyering  <meyering@lucent.com>
98975
98976         * lib/userspec.c (ISDIGIT): Define it.
98977         (isdigit): Remove definition.
98978         (is_number): Use ISDIGIT, not isdigit.
98979         <libintl.h>: Include.
98980         (_ and N_): Define.
98981         (parse_user_spec): Mark translatable strings.
98982
98983 2000-02-10  Jim Meyering  <meyering@lucent.com>
98984
98985         With these changes, nanosleep.[ch] are finally enough like the other
98986         lib/* replacement files to compile on a few more losing systems.
98987
98988         * lib/nanosleep.h: Don't include config.h.
98989         Remove prototype from declaration of nanosleep.
98990         (PARAMS): Remove now-unneeded definition.
98991         * lib/nanosleep.c: #undef nanosleep.
98992         (rpl_nanosleep): Rename from nanosleep.
98993
98994 2000-02-10  Jim Meyering  <meyering@lucent.com>
98995
98996         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
98997         gnu_nanosleep to rpl_nanosleep.
98998
98999 2000-02-09  Jim Meyering  <meyering@lucent.com>
99000
99001         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
99002         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
99003
99004 2000-02-08  Akim Demaille  <akim@epita.fr>
99005
99006         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
99007         `[' and `]' and remove uses of `changequote'.
99008         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
99009         (AC_SYS_LARGEFILE): Likewise.
99010         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
99011         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
99012         of changequote.
99013         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
99014         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
99015         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
99016         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
99017
99018 2000-02-05  Jim Meyering  <meyering@lucent.com>
99019
99020         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
99021         Remove explicit use of AC_HEADER_TIME.  It is required by
99022         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
99023         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
99024         in autoconf whereby the expansion of the latter ended up preceding
99025         the expansion of its prerequisite, AC_HEADER_TIME.
99026         Reported by Volker Borchert.
99027
99028 2000-02-03  Jim Meyering  <meyering@lucent.com>
99029
99030         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
99031
99032 2000-02-03  Jim Meyering  <meyering@lucent.com>
99033
99034         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
99035         rather than with `#if HAVE_UTMPNAME'.
99036
99037 2000-02-02  Jim Meyering  <meyering@lucent.com>
99038
99039         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
99040         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
99041         Reported by Eli Zaretskii.
99042
99043 2000-02-01  Jim Meyering  <meyering@lucent.com>
99044
99045         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
99046
99047 2000-01-31  Jim Meyering  <meyering@lucent.com>
99048
99049         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
99050         functions.  Add the time.h and sys/time.h headers along with the
99051         AC_REQUIRE'ment of AC_HEADER_TIME.
99052
99053 2000-01-31  Jim Meyering  <meyering@lucent.com>
99054
99055         * lib/nanosleep.h (nanosleep): Guard declaration with
99056         `#if ! HAVE_DECL_NANOSLEEP'.
99057         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
99058         the declaration in that vendor's sys/timers.h.
99059         Reported by Christian Krackowizer.
99060
99061         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
99062         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
99063         (ISPRINT): Likewise.
99064         Reported by Tom Tromey.
99065
99066 2000-01-30  Jim Meyering  <meyering@lucent.com>
99067
99068         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
99069
99070         * m4/prereq.m4 (utmp_includes): Define.
99071         Check for ut_user and ut_name members in both struct utmpx
99072         and struct utmp.
99073
99074 2000-01-30  Jim Meyering  <meyering@lucent.com>
99075
99076         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
99077         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
99078         header files where only utmpx.ut_user is declared.
99079
99080         * lib/readutmp.h (UT_USER): Define.
99081
99082 2000-01-29  Jim Meyering  <meyering@lucent.com>
99083
99084         * m4/lib-check.m4: New file containing library-related checks from
99085         fileutils and sh-utils (textutils had none).
99086
99087 2000-01-28  Jim Meyering  <meyering@lucent.com>
99088
99089         * m4/perl.m4: Change format of warning message to look more like that
99090         from the missing script.  Suggestion from François Pinard.
99091
99092 2000-01-25  Jim Meyering  <meyering@lucent.com>
99093
99094         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
99095         well as time.h in the compile check.
99096         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
99097         Fix typo in cross-compiling case: s/yes/no/.
99098
99099 2000-01-23  Jim Meyering  <meyering@lucent.com>
99100
99101         * m4/jm-macros.m4: Move df-related tests here from
99102         fileutils/configure.in
99103
99104         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
99105         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
99106
99107         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
99108         s/space/ac_fsusage_space/.
99109         (jm_FILE_SYSTEM_USAGE): Take two parameters.
99110
99111         * m4/ftruncate.m4: New file (derived from part of
99112         fileutils/configure.in).
99113         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
99114         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
99115
99116         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
99117         AC_SUBST these here, rather than just in sh-util/configure.in, so
99118         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
99119         all the same.
99120         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
99121         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
99122         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
99123         (AC_SUBST(POW_LIBM)): Likewise.
99124         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
99125
99126 2000-01-23  Jim Meyering  <meyering@lucent.com>
99127
99128         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
99129         obstack.c.
99130
99131 2000-01-22  Jim Meyering  <meyering@lucent.com>
99132
99133         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
99134
99135         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
99136
99137         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
99138         configure.in
99139         (AC_CHECK_HEADERS): Likewise for sh-utils.
99140         (AC_CHECK_HEADERS): Likewise for textutils.
99141         Merge the three lists of headers.
99142
99143         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
99144         from fileutils' configure.in.
99145
99146         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
99147         code. Moved tests into their own function (_jm_DECL_HEADERS) in
99148         check-decl.m4.
99149
99150         * m4/check-decl.m4: Use #if rather than #ifdef.
99151         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
99152         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
99153         (_jm_DECL_HEADERS): Define new function.
99154         (jm_CHECK_DECLARATIONS): Require it.
99155
99156 2000-01-22  Jim Meyering  <meyering@lucent.com>
99157
99158         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
99159         [! HAVE_DECL_STRTOULL]: Declare strtoull.
99160         Required for some AIX systems.  Reported by Christian Krackowizer.
99161         [TESTING] (main): New function.
99162
99163         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
99164         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
99165         letters.
99166
99167         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
99168         iswprint.
99169
99170         * lib/strverscmp.c (ISDIGIT): Define.
99171         (strverscmp): Use ISDIGIT, not isdigit.
99172
99173 2000-01-19  Jim Meyering  <meyering@lucent.com>
99174
99175         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
99176         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
99177         defines `struct timespec' in <sys/time.h>
99178
99179         * m4/c-bs-a.m4: Remove uses of changequote altogether.
99180         Thanks to Akim for explaining.
99181
99182 2000-01-17  Paul Eggert  <eggert@twinsun.com>
99183
99184         * lib/nanosleep.c (nanosleep):
99185         Don't use SA_INTERRUPT to decide whether to call sigaction, as
99186         POSIX.1 doesn't require SA_INTERRUPT and some systems
99187         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
99188         it's been part of POSIX.1 since day 1 (in 1988).
99189
99190 2000-01-17  Jim Meyering  <meyering@lucent.com>
99191
99192         * lib/interlock: Remove unused file.  Reported by François Pinard.
99193
99194 2000-01-16  Paul Eggert  <eggert@twinsun.com>
99195
99196         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
99197         alert, backslash, formfeed, and vertical tab unnecessarily in
99198         shell quoting style.
99199
99200 2000-01-16  Jim Meyering  <meyering@lucent.com>
99201
99202         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
99203         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
99204         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
99205         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
99206
99207 2000-01-16  Jim Meyering  <meyering@lucent.com>
99208
99209         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
99210         because the latter didn't work.
99211
99212 2000-01-15  Jim Meyering  <meyering@lucent.com>
99213
99214         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
99215         (AC_REPLACE_FUNCS): Add memcpy and memset.
99216         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
99217         Add strpbrk.
99218         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
99219
99220 2000-01-12  Jim Meyering  <meyering@lucent.com>
99221
99222         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
99223         (jm_PREREQ): Use it.
99224         (jm_PREREQ_READUTMP): New macro.
99225         (jm_PREREQ): Use it.
99226
99227 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99228
99229         Quote multibyte characters correctly.
99230         * m4/c-bs-a.m4: New file.
99231         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
99232         (jm_PREREQ): Use it.
99233
99234 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99235
99236         * m4/uintmax_t.m4: Port to autoconf 2.13.
99237
99238 2000-01-08  Jim Meyering  <meyering@ascend.com>
99239
99240         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
99241         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
99242
99243 2000-01-04  Jim Meyering  <meyering@ascend.com>
99244
99245         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
99246         jm_STRUCT_DIRENT_D_TYPE.
99247         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
99248         jm_STRUCT_DIRENT_D_INO.
99249         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
99250         jm_STRUCT_UTIMBUF.
99251         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
99252         renamings.
99253         * m4/utime.m4: Likewise.
99254
99255         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
99256         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
99257
99258 2000-01-03  Paul Eggert  <eggert@twinsun.com>
99259
99260         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
99261         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
99262
99263 2000-01-02  Jim Meyering  <meyering@ascend.com>
99264
99265         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
99266         remember if this is necessary.
99267
99268 1999-12-26  Jim Meyering  <meyering@ascend.com>
99269
99270         * m4/jm-macros.m4: Use it here.
99271         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
99272
99273 1999-12-23  Jim Meyering  <meyering@ascend.com>
99274
99275         * m4/jm-macros.m4: Check for clock_gettime (moved from
99276         fileutils/configure.in)
99277         Check for gettimeofday.
99278
99279 1999-12-20  Jim Meyering  <meyering@ascend.com>
99280
99281         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
99282         autoconf-2.14a-1999-12-20.
99283
99284 1999-12-19  Jim Meyering  <meyering@ascend.com>
99285
99286         * m4/lstat-slash.m4: New file.
99287         * m4/jm-macros.m4: Use the new macro:
99288         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99289
99290 1999-12-07  Jim Meyering  <meyering@ascend.com>
99291
99292         * m4/perl.m4: Require that File::Compare be available, too.
99293         Too many systems seem to lack it.
99294
99295         * m4/strftime.m4: Add checks for most of the cpp macros tested in
99296         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
99297
99298 1999-11-18  Paul Eggert  <eggert@twinsun.com>
99299
99300         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
99301         problem with the QNX 4.25 shell, which doesn't propagate exit
99302         status of failed commands inside shell assignments.
99303
99304 1999-11-17  Jim Meyering  <meyering@ascend.com>
99305
99306         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
99307
99308 1999-11-07  Jim Meyering  <meyering@ascend.com>
99309
99310         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
99311
99312 1999-11-06  Jim Meyering  <meyering@ascend.com>
99313
99314         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
99315         * m4/jm-macros.m4 (jm_MACROS): Use it here.
99316
99317 1999-11-05  Jim Meyering  <meyering@ascend.com>
99318
99319         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
99320         configure.in of textutils, fileutils, and sh-utils into this one
99321         (shared between those packages) file.
99322         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
99323         AC_STRUCT_ST_BLKSIZE.
99324
99325 1999-11-03  Jim Meyering  <meyering@ascend.com>
99326
99327         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
99328         of AC_CHECK_TYPE checks includes unistd.h.
99329         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
99330         Suggestion from Akim Demaille.
99331
99332 1999-10-30  Jim Meyering  <meyering@ascend.com>
99333
99334         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
99335         m4-quoted string.
99336         * m4/ls-mntd-fs.m4: Likewise.
99337         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
99338         * m4/jm-winsz1.m4: Likewise.
99339
99340         * m4/const.m4: Remove file, since the fix made it into the experimental
99341         version of autoconf.
99342         * m4/mktime.m4: Likewise.
99343
99344         * m4/check-type.m4: Remove file, now that the latest version of
99345         AC_CHECK_TYPE takes a third arg to specify additional #includes.
99346
99347         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
99348         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
99349         AC_CHECK_TYPE.
99350
99351 1999-10-04  Jim Meyering  <meyering@ascend.com>
99352
99353         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
99354
99355 1999-09-22  Paul Eggert  <eggert@twinsun.com>
99356
99357         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
99358         2.95.1 bug with HP-UX 10.20.
99359
99360 1999-09-17  Jim Meyering  <meyering@ascend.com>
99361
99362         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
99363         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
99364         due to missing strdup (against sh-utils-2.0).
99365
99366 1999-08-29  Jim Meyering  <meyering@ascend.com>
99367
99368         * m4/jm-macros.m4: Require jm_BISON.
99369         * m4/bison.m4: New file.
99370
99371 1999-08-17  Paul Eggert  <eggert@twinsun.com>
99372
99373         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
99374         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
99375
99376 1999-08-05  Jim Meyering  <meyering@ascend.com>
99377
99378         * m4/getline.m4: Rename test file from conftestdata to conftest.data
99379         to avoid conflicts with `conftest' on 8+3 filesystems.
99380         Suggestion from Eli Zaretskii.
99381
99382 1999-08-04  Jim Meyering  <meyering@ascend.com>
99383
99384         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
99385         fileutils and sh-utils (textutils's getline test was inadequate).
99386         (AM_FUNC_GETLINE): Run this test.
99387         (AC_CHECK_FUNCS): Check for getdelim.
99388         Reported by Bob Proulx.
99389
99390 1999-08-02  Jim Meyering  <meyering@ascend.com>
99391
99392         * m4/jm-macros.m4: Add a comment.
99393
99394 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99395
99396         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
99397         <inttypes.h> defines strtoumax as a macro (and not as a
99398         function).
99399
99400 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99401
99402         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
99403         that we can shift, multiply and divide unsigned long long
99404         values; Ultrix cc can't do it.
99405
99406 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99407
99408         * m4/mktime.m4: New file, which is a preview of what should appear
99409         in the next public autoconf release.
99410
99411 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99412
99413         * m4/lfs.m4: Remove this file.
99414         * m4/largefile.m4: New file.  It contains the old contents of
99415         lfs.m4, except that all names with prefix AC_LFS have been
99416         changed to use the prefix AC_SYS_LARGEFILE instead, to be
99417         compatible with future autoconf versions.  Also, some minor m4
99418         quoting problems have been fixed.
99419
99420 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99421
99422         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
99423         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
99424         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
99425         and simplify the shell code.
99426
99427 1999-08-01  Jim Meyering  <meyering@ascend.com>
99428
99429         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
99430         m4.
99431
99432 1999-07-20  Jim Meyering  <meyering@ascend.com>
99433
99434         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
99435
99436 1999-07-15  Jim Meyering  <meyering@ascend.com>
99437
99438         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
99439
99440 1999-05-22  Jim Meyering  <meyering@ascend.com>
99441
99442         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
99443
99444 1999-05-20  Jim Meyering  <meyering@ascend.com>
99445
99446         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
99447         Add a colon after each `then' in case $4 is empty.
99448
99449 1999-05-16  Jim Meyering  <meyering@ascend.com>
99450
99451         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
99452
99453 1999-05-10  Jim Meyering  <meyering@ascend.com>
99454
99455         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
99456
99457         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
99458         AC_FUNC_MKTIME.
99459
99460 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
99461
99462         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
99463
99464 1999-05-04  Paul Eggert  <eggert@twinsun.com>
99465
99466         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
99467         not CPPFLAGS, so that linking works correctly in IRIX.
99468
99469 1999-04-30  Paul Eggert  <eggert@twinsun.com>
99470
99471         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
99472
99473 1999-04-20  Paul Eggert  <eggert@twinsun.com>
99474
99475         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
99476         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
99477         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
99478         jm_AC_TYPE_UNSIGNED_LONG_LONG.
99479         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
99480
99481         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
99482
99483 1999-04-20  Jim Meyering  <meyering@ascend.com>
99484
99485         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
99486         AC_REPLACE xstroull if necessary.  From Paul Eggert.
99487         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
99488
99489 1999-04-18  Jim Meyering  <meyering@ascend.com>
99490
99491         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
99492         * m4/jm-macros.m4: Use it.
99493
99494 1999-04-06  Jim Meyering  <meyering@ascend.com>
99495
99496         * m4/strftime.m4: Remove test for %f.
99497
99498 1999-03-29  Jim Meyering  <meyering@ascend.com>
99499
99500         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
99501         superset of the AC_TYPE_* checks in the textutils, fileutils,
99502         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
99503         AC_TYPE_PID_T.
99504
99505 1999-03-28  Jim Meyering  <meyering@ascend.com>
99506
99507         * m4/jm-macros.m4: Define GNU_PACKAGE here.
99508         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
99509         replaced e.g., in the *.sh files of the sh-utils.
99510
99511 1999-03-20  Jim Meyering  <meyering@ascend.com>
99512
99513         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
99514         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
99515         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
99516
99517 1999-03-19  Jim Meyering  <meyering@ascend.com>
99518
99519         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
99520
99521 1999-03-12  Jim Meyering  <meyering@ascend.com>
99522
99523         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
99524
99525 1999-03-07  Jim Meyering  <meyering@ascend.com>
99526
99527         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
99528         declared.
99529
99530 1999-02-17  Jim Meyering  <meyering@ascend.com>
99531
99532         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
99533         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
99534
99535 1999-02-07  Jim Meyering  <meyering@ascend.com>
99536
99537         * m4/group-member.m4: New file -- extracted from sh-utils'
99538         configure.in.
99539
99540         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
99541         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
99542
99543 1999-02-06  Jim Meyering  <meyering@ascend.com>
99544
99545         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
99546         * m4/fnmatch.m4: Likewise.
99547         * m4/getgroups.m4: Likewise.
99548         * m4/lstat.m4: Likewise.
99549         * m4/malloc.m4: Likewise.
99550         * m4/putenv.m4: Likewise.
99551         * m4/realloc.m4: Likewise.
99552         * m4/regex.m4: Likewise.
99553         * m4/stat.m4: Likewise.
99554         * m4/strftime.m4: Likewise.
99555         Suggestion from Alain Magloire.
99556
99557         * m4/chown.m4: Use `.$ac_objext', not `.o'.
99558         * m4/fnmatch.m4: Likewise.
99559         * m4/getgroups.m4: Likewise.
99560         * m4/getline.m4: Likewise.
99561         * m4/lstat.m4: Likewise.
99562         * m4/malloc.m4: Likewise.
99563         * m4/memcmp.m4: Likewise.
99564         * m4/putenv.m4: Likewise.
99565         * m4/realloc.m4: Likewise.
99566         * m4/regex.m4: Likewise.
99567         * m4/stat.m4: Likewise.
99568         * m4/strftime.m4: Likewise.
99569         Suggestion from Alain Magloire.
99570
99571         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
99572         an argument.
99573
99574         * m4/regex.m4: Add a run-time Test for proper operation of
99575         re_compile_pattern.
99576
99577 1999-01-31  Jim Meyering  <meyering@ascend.com>
99578
99579         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
99580
99581 1999-01-30  Jim Meyering  <meyering@ascend.com>
99582
99583         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
99584
99585         * m4/jm-mktime.m4: Make this a wrapper around the official
99586         AM_FUNC_MKTIME rather than my private copy, now that the official one
99587         is up to date.
99588         * m4/mktime.m4: Remove file.
99589
99590         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
99591         * m4/uptime.m4: Likewise.
99592         * m4/uintmax_t.m4: Likewise.
99593
99594 1999-01-28  Jim Meyering  <meyering@ascend.com>
99595
99596         * m4/jm-macros.m4: Use jm_AFS.
99597         * m4/afs.m4: New file (from fileutils' configure.in).
99598
99599         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
99600         * m4/chown.m4: Likewise.
99601         * m4/d-ino.m4: Likewise.
99602         * m4/d-type.m4: Likewise.
99603         * m4/fnmatch.m4: Likewise.
99604         * m4/getgroups.m4: Likewise.
99605         * m4/gettext.m4: Likewise.
99606         * m4/jm-mktime.m4: Likewise.
99607         * m4/jm-winsz2.m4: Likewise.
99608         * m4/lcmessage.m4: Likewise.
99609         * m4/ls-mntd-fs.m4: Likewise.
99610         * m4/malloc.m4: Likewise.
99611         * m4/memcmp.m4: Likewise.
99612         * m4/putenv.m4: Likewise.
99613         * m4/realloc.m4: Likewise.
99614         * m4/st_mtim.m4: Likewise.
99615         * m4/strftime.m4: Likewise.
99616
99617 1999-01-16  Jim Meyering  <meyering@ascend.com>
99618
99619         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
99620         (ARGMATCH_DIE_DECL): Define.
99621
99622 1999-01-12  Jim Meyering  <meyering@ascend.com>
99623
99624         * m4/Makefile.am.in: Rewrite to avoid using fmt.
99625         Reported by Lars Hecking.
99626
99627 1999-01-10  Jim Meyering  <meyering@ascend.com>
99628
99629         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
99630         gross kludge.
99631         * m4/inttypes_h.m4: Likewise.
99632         * m4/lstat.m4: Likewise.
99633         * m4/malloc.m4: Likewise.
99634         * m4/readdir.m4: Likewise.
99635         * m4/realloc.m4: Likewise.
99636         * m4/st_dm_mode.m4: Likewise.
99637         * m4/stat.m4: Likewise.
99638         * m4/utimbuf.m4: Likewise.
99639         * m4/utimes.m4: Likewise.
99640
99641         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
99642         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
99643         comments in config.h.in are meaningful.
99644
99645         * m4/jm-macros.m4: Require autoconf-2.13 here.
99646
99647         * m4/regex.m4: By default, don't use the included regex.c on systems
99648         with glibc 2.  Suggestion from Uli Drepper.
99649
99650 1999-01-02  Jim Meyering  <meyering@ascend.com>
99651
99652         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
99653
99654 1998-12-18  Jim Meyering  <meyering@ascend.com>
99655
99656         * m4/Makefile.am.in (Makefile.am): Simplify rule.
99657         Based on a suggestion from Lars Hecking.
99658
99659 1998-11-16  Paul Eggert  <eggert@twinsun.com>
99660
99661         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
99662
99663 1998-11-16  Jim Meyering  <meyering@ascend.com>
99664
99665         * m4/lfs.m4: Double-quote the `uname...` expression.
99666
99667 1998-11-14  Jim Meyering  <meyering@ascend.com>
99668
99669         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
99670         * m4/stat.m4: Likewise.
99671
99672 1998-11-03  Jim Meyering  <meyering@ascend.com>
99673
99674         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
99675         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
99676
99677 1998-10-18  Jim Meyering  <meyering@ascend.com>
99678
99679         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
99680
99681 1998-10-17  Jim Meyering  <meyering@ascend.com>
99682
99683         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
99684         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
99685         calls for those previously hard-coded headers.  Instead, take a new
99686         parameter.
99687         (jm_CHECK_DECLARATIONS): Reflect interface change.
99688         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
99689         (jm_CHECK_DECL_LOCALTIME_R): New macro.
99690
99691         * m4/mktime.m4: Test for spring-forward gap before long-running test.
99692
99693 1998-10-14  Jim Meyering  <meyering@ascend.com>
99694
99695         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
99696         instead of "TZ=America/Vancouver".  From Paul Eggert.
99697
99698 1998-10-11  Jim Meyering  <meyering@ascend.com>
99699
99700         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
99701         This adds a test for a recently added compatibility fix for mktime.c.
99702         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
99703
99704 1998-09-27  Jim Meyering  <meyering@ascend.com>
99705
99706         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
99707
99708         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
99709         ../configure.in, including a change from Gordon Matzigkeit to allow
99710         cross-compiling for the Hurd.
99711
99712         * m4/glibc.m4: New file/macro to test for the GNU C Library
99713         versions 1 and 2.  From Gordon Matzigkeit.
99714         Indent.
99715
99716 1998-09-21  Jim Meyering  <meyering@ascend.com>
99717
99718         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
99719
99720 1998-08-18  Paul Eggert  <eggert@twinsun.com>
99721
99722         Port nanosecond-resolution times to UnixWare 2.1.2 and
99723         pedantic Solaris 2.6.
99724
99725         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
99726         AC_STRUCT_ST_MTIM.
99727         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
99728         Generate name of ns member, instead of just 1 or undef.
99729         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
99730
99731 1998-08-15  Jim Meyering  <meyering@ascend.com>
99732
99733         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
99734         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
99735         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
99736         instead of jm_TYPE_SSIZE_T.
99737
99738 1998-08-12  Jim Meyering  <meyering@ascend.com>
99739
99740         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
99741
99742 1998-08-02  Jim Meyering  <meyering@ascend.com>
99743
99744         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
99745         in acconfig.h manually.
99746
99747 1998-07-31  Paul Eggert  <eggert@twinsun.com>
99748
99749         * m4/st_mtim.m4: New file.
99750
99751 1998-07-28  Jim Meyering  <meyering@ascend.com>
99752
99753         * m4/utimes.m4: Undef stat.
99754
99755 1998-07-25  Jim Meyering  <meyering@ascend.com>
99756
99757         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
99758         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
99759
99760 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
99761
99762         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
99763         uid and gid actually remain unchanged.
99764
99765 1998-07-07  Jim Meyering  <meyering@ascend.com>
99766
99767         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
99768
99769 1998-07-04  Jim Meyering  <meyering@ascend.com>
99770
99771         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
99772         to prove that this macro can be used in packages without regex.c.
99773
99774 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
99775
99776         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
99777         is to be used.
99778
99779 1998-07-03  Jim Meyering  <meyering@ascend.com>
99780
99781         * m4/gettext.m4: Add -lintl if it's found to be necessary.
99782
99783         * m4/gettext.m4: New file -- from gettext-0.10.35.
99784         * m4/lcmessage.m4: Likewise.
99785         * m4/progtest.m4: Likewise.
99786
99787         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
99788         * m4/jm-macros.m4: Require the new macro.
99789
99790 1998-06-29  Jim Meyering  <meyering@ascend.com>
99791
99792         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
99793         for the definition of NGROUPS (used in a system header included
99794         by sys/mount.h).
99795
99796 1998-06-28  Jim Meyering  <meyering@ascend.com>
99797
99798         * m4/ls-mntd-fs.m4: New file.
99799         * m4/fstypename.m4: New file.
99800
99801         * m4/jm-macros.m4: Require the new macro.
99802         * m4/jm-glibc-io.m4: New file.
99803
99804 1998-05-19  Jim Meyering  <meyering@ascend.com>
99805
99806         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
99807         * m4/lchown.m4: New file.
99808
99809         * m4/Makefile.am.in: New file.
99810         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
99811
99812 1998-05-14  Jim Meyering  <meyering@ascend.com>
99813
99814         * m4/Makefile.am (EXTRA_DIST): Add them.
99815         * m4/jm-macros.m4: New file.
99816         * m4/utimbuf.m4: New file.
99817
99818 1998-05-12  Jim Meyering  <meyering@ascend.com>
99819
99820         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
99821
99822 1998-05-11  Jim Meyering  <meyering@ascend.com>
99823
99824         * m4/isc-posix.m4: New file.
99825
99826 1998-05-10  Jim Meyering  <meyering@ascend.com>
99827
99828         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
99829
99830 1998-05-09  Jim Meyering  <meyering@ascend.com>
99831
99832         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
99833         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
99834         with automake.
99835
99836         * m4/ssize_t.m4: New file.
99837         * m4/mktime.m4: Remove file -- the new automake has this now.
99838
99839 1998-04-26  Jim Meyering  <meyering@ascend.com>
99840
99841         * m4/assert.m4: New file.
99842         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
99843
99844 1998-04-05  Jim Meyering  <meyering@ascend.com>
99845
99846         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
99847         (jm_PREREQ): Use it here.
99848
99849 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
99850
99851         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
99852         in acconfig.h.
99853
99854 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
99855
99856         * m4/prereq.m4: New file.
99857         * m4/error.m4: New file.
99858         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
99859
99860 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
99861
99862         * m4/getline.m4: Don't set am_cv_func_working_getline before the
99863         cache-check for the same variable -- that defeated the purpose of
99864         the test; the test program was never run.  This was a problem only
99865         on systems with losing getline functions -- HP-UX 10.20 is one.
99866         Reported by Bjorn Helgaas.
99867
99868 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
99869
99870         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
99871
99872 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
99873
99874         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
99875
99876         * m4/const.m4: New file.  Use an initializer in this declaration
99877         typedef int charset[2]; const charset x;
99878         Reported by Bob Glickstein.
99879
99880 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
99881
99882         * m4/chown.m4: Fix reversed types on -1 args to chown.
99883         From Kaveh Ghazi.
99884
99885 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
99886
99887         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
99888         Add lseek and memchr.
99889
99890         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
99891         T.E.Dickey <dickey@clark.net> said that some older preprocessors
99892         have a 20-character limit on names.
99893
99894 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
99895
99896         * m4/inttypes_h.m4: New file.
99897         * m4/uintmax_t.m4: New file.
99898         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
99899
99900
99901         -----
99902
99903         Local Variables:
99904         coding: utf-8
99905         End:
99906
99907         Copyright (C) 1997-2013 Free Software Foundation, Inc.
99908
99909         Copying and distribution of this file, with or without
99910         modification, are permitted provided the copyright notice
99911         and this notice are preserved.